Firebase Dynamic Link

2022. 3. 22. 15:06Android/개발 CASE

Firebase Dynamic Link 설정 시 Deep Link란 동적 링크에 심어줄 url로 실행시킬 앱을 찾지 못했을 때 연결하기 위한 정보이다.

ABTest Dynamic Link 설정

  1. Deep Link : https://www.naver.com
  2. 긴 Dynamic Link : (자동으로 link가 삽입됨) https://pocabtest.page.link/?link=https://www.naver.com&apn=com.example.abtest&afl=https://www.naver.com
  3. 짧은 Dynamic Link : (자동으로 생성됨) https://pocabteste.page.link/TG78
  4. AndroidManifest.xml : <intent-filter><action View><category Default><category Browsable><data android:host="pocabtest.page.link" android:scheme="https"/></intent-filter>
  • apn :  링크를 여는데 필요한 Android 앱의 패키지명
  • afl : 앱이 설치되지 않은 경우 열리는 링크(Play Store의 설치경로 뿐 아니라 연결할 모바일 웹, 앱 홍보 페이지 등의 url)
  • amw : 앱 최소 버전(업데이트 필요한 경우 Play Store로 이동)

중요한 건 앱의 동작이 달랐다는 것인데, 이는 Signing Key가 맞지 않아 앱이 자동적으로 판별되지 않았기 때문이다.

 

sha-256을 Firebase 앱 Setting에 추가를 해주어야 정상적으로 Activity가 바로 뜬다.(웹 브라우저를 거쳐 앱이 실행되는 결과는 잘못된 결과이다.)

 

Signing Key를 Setting에 등록해도 반영되는 시간까지 꽤 걸린다.

https://pocabtest.page.link/.well-known/assetlinks.json 를 통해  Signing Key가 반영되었는지 확인할 수 있다.

 

[Signing Key] A4:DE:32:42:BB:91:19:15:F2:89:34:5F:DC:2D:5F:B4:B6:92:AD:D4:BA:1C:6C:BC:AB:C8:60:18:9E:C9:C3:D1

 

[Before]

[{"relation":["delegate_permission/common.handle_all_urls"],"target":{"namespace":"android_app","package_name":"com.example.abtest","sha256_cert_fingerprints":["EE:E8:86:27:D6:91:0F:08:7A:26:72:24:6F:7F:CE:8F:9D:11:07:65:0D:B8:F5:93:81:B8:89:E7:7B:34:D1:92",

"A4:1C:FF:07:27:A4:C6:8B:10:F0:B5:F0:C1:EB:D6:1C:DF:99:5D:CA:C7:C9:E7:79:B0:84:7A:40:0D:1A:6A:F0"]}}]

sha-256 미등록

 

[After]

[{"relation":["delegate_permission/common.handle_all_urls"],"target":{"namespace":"android_app","package_name":"com.example.abtest","sha256_cert_fingerprints":["A4:1C:FF:07:27:A4:C6:8B:10:F0:B5:F0:C1:EB:D6:1C:DF:99:5D:CA:C7:C9:E7:79:B0:84:7A:40:0D:1A:6A:F0",

"A4:DE:32:42:BB:91:19:15:F2:89:34:5F:DC:2D:5F:B4:B6:92:AD:D4:BA:1C:6C:BC:AB:C8:60:18:9E:C9:C3:D1"]}}]

sha-256 등록