이번 포스팅에서는 다이나믹 링크 생성법과 사용법에 대해선 다루지 않고 사용하면서 겪은 문제와 해결 방법에대해 다루니 참고해주시기 바 랍니다. 그리고 더 나은 방법은 댓글이나 방명록을 통해 안내해주세요.
다이나믹 링크뿐만 아니라 Firebase에선 앱 운영시 필요한 다양한 기능들이 많으니 적극 활용하는걸 추천합니다!
구글 콘솔 내부 테스트 활용
본론으로 들어가 앱을 설치하지 않은 유저가 다이나믹 링크를 클릭해서 앱을 스토어에서 다운 받고, 열기 버튼으로 앱을 열었을때 특정 화면으로 이동하도록 출시했지만 작동하지 않았습니다. 테스트를 해야했지만 출시를 해야지만 가능하다고 생각해 하지 못했습니다.
근데 구글 콘솔에 '내부 테스트'란 기능이 통해 테스트 유저들을 선정하면 스토어에 접근했을때 상용 apk가 아닌 테스트 apk를 다운 받을 수 있습니다.
내부 테스트도 버전 코드로 관리되지만 프로덕션 코드들과는 차별해서 관리 됩니다. 예를 들어 1.1.1 버전의 내부테스트 버전을 배포 했어도 프로덕션의 이전 출시버전이 1.1.0 인 경우 프로덕션도 동일하게 1.1.1로 배포가 가능합니다.
ex) 프로덕션 1.1.0 출시 > 내부테스트 1.2.0 출시 > 프로덕션 1.1.1 출시 순서대로 배포 가능
해결방법
기존에 앱을 실행하는 엑티비티 따로, 다이나믹 링크 및 푸시등을 통해 앱내 화면을 이동하는 엑티비티 따로 뒀던게 문제였어요. 그래서 다이나믹 링크를 수신하는 엑티비티는 앱을 실행하는 엑티비티로 했습니다.
※아래 코드의 엑티비티 이름과 호스트, 스키마는 임시 데이터로 독자분들이 원하시는 네임으로 지정하시면 됩니다.
<activity
android:name=".Activity"
android:screenOrientation="portrait">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="host"
android:scheme="scheme" />
</intent-filter>
</activity>
이렇게 하면 다이나믹 링크를 통해 앱을 실행할때 매번 특정 엑티비티가 실행되는 이슈가 있지만 기능이 안되는것보단 감안할 수 있는 사항 같습니다.
※해당 포스팅은 지극히 주관적인 내용으로 저자의 복기 목적으로 작성된 것이고, 내용에대해 수정이나 추가 요청은 언제든 환영합니다.
'안드로이드 > 팁' 카테고리의 다른 글
책장 넘기는 UX 구현 (2) | 2020.12.20 |
---|---|
Livedata(MVVM) + RxAndroid 사용시 주의 사항 (0) | 2020.12.02 |
안드로이드 launch mode 선택 (0) | 2020.11.13 |
TargetSdkApi 29 대응하기 (0) | 2020.10.30 |
[Android] Webview내 카카오톡 공유하기 에러 / 해결방안 (0) | 2020.09.25 |