Apple App Site Association

Yooncastle·2022년 11월 23일
0

앱에서 유니버설 링크를 지원하기 위해서는 apple-app-site-association(AASA) 파일을 작성해서 웹 서버에 올려두는 작업이 필요

  • 유니버셜 링크: ios 에서만 작동하는 딥링크

⚠️ Note
If your site uses multiple subdomains (such as example.com, www.example.com, and support.example.com), each requires its own entry in the Associated Domains Entitlement, and each must serve its own apple-app-site-association file.

iOS 앱에 Capability - Associated Domains 추가

applinks 형식 예시)

//applinks:your_dynamic_links_domain
applinks:example.com
applinks:*.example.com

이렇게 하면, 사용자가 앱 설치 시, 여기에 등록된 도메인의 해당 url의 .well-known/apple-app-site-association 경로에 가서 AASA 포맷을 확인하라고 파일에 대한 요청을 보내게 됩니다.

{
  "applinks": {
      "details": [
           {
             "appIDs": [ "ABCDE12345.com.example.app", "ABCDE12345.com.example.app2" ],
             "components": [
               {
                  "#": "no_universal_links",
                  "exclude": true,
                  "comment": "Matches any URL with a fragment that equals no_universal_links and instructs the system not to open it as a universal link."
               },
               {
                  "/": "/buy/*",
                  "comment": "Matches any URL with a path that starts with /buy/."
               },
               {
                  "/": "/help/website/*",
                  "exclude": true,
                  "comment": "Matches any URL with a path that starts with /help/website/ and instructs the system not to open it as a universal link."
               },
               {
                  "/": "/help/*",
                  "?": { "articleNumber": "????" },
                  "comment": "Matches any URL with a path that starts with /help/ and that has a query item with name 'articleNumber' and a value of exactly four characters."
               }
             ]
           }
       ]
   },
   "webcredentials": {
      "apps": [ "ABCDE12345.com.example.app" ]
   },

    "appclips": {
        "apps": ["ABCED12345.com.example.MyApp.Clip"]
    }
}

components에 선언한 url과 웹에서 일치하는 페이지에서 링크를 상단에 표시
링크를 타고 들어갈 때 동일한 앱에서의 url 페이지로 이동

Universal link가 동작 안하는 경우

  • 웹브라우저에서 직접 url 입력시 실제로 그 주소로 이동하고자 하는 의사가 있다고 생각해서 universal link가 동작 x

  • iOS version이 10 미만인 경우 Universal Link가 동작 x

  • Apple CDN 캐시가 존재하면 AASA 를 변경 해도 바로 반영x


Reference

https://developer.apple.com/documentation/xcode/supporting-associated-domains

https://lxxyeon.tistory.com/74

https://nenara.com/234

https://jooeungen.tistory.com/entry/iOSSwift-Universal-link-%EC%A0%81%EC%9A%A9%ED%95%98%EA%B8%B0

profile
기억보단 기록을

0개의 댓글