파이어베이스 공식문서에 정말 친절하게 하나부터 열까지 전부 알려주고 있지만 그래도 나처럼 헤매는 사람들이 있을 거라 생각하고 블로그를 써본다..
먼저!! dynamiclink sdk를 추가해준다.
dependencies {
// Import the BoM for the Firebase platform
implementation platform('com.google.firebase:firebase-bom:30.0.2')
// Declare the dependencies for the Dynamic Links and Analytics libraries
// When using the BoM, you don't specify versions in Firebase library dependencies
implementation 'com.google.firebase:firebase-dynamic-links-ktx'
implementation 'com.google.firebase:firebase-analytics-ktx'
}
그 다음 내가 dynamick link를 사용하고 싶은 앱을 등록해줍니다~~
그리고 참여 -> dynamicklink를 클릭해줍니다.
그 다음 도메인을 등록해 주세요.
사용할 도메인을 입력하고 (고민하지 말고 firebase에서 제공해주는 도메인을 사용하면 됩니다.)
그 다음 프리픽스를 입력하라고 하는데 프리픽스는 원하는대로 설정해주면 됩니다.
이렇게 인증을 마치고 다음으로 넘어가면
이런 화면을 만나 볼 수 있는데 이러면 준비 끝입니다.
아 그리고 앱 등록했을 때 얻는 google-services.json파일은 프로젝트의 app파일 안에 넣어주면 됩니다.
그런 다음! 공식문서에 나와있는 대로 동적링크를 만들어주시면 됩니다.
private fun initDynamicLink(): Uri {
val playStoreUri : Uri =Uri.parse(getString(R.string.play_store_example))
val inviteCode = viewModel.inviteCode.value
val dynamicLink = Firebase.dynamicLinks.dynamicLink {
link = Uri.parse("https://example.com/?code=$inviteCode")
domainUriPrefix = "https://example.page.link"
androidParameters(requireContext().packageName) { fallbackUrl = playStoreUri }
navigationInfoParameters { forcedRedirectEnabled = true }
}
val dynamicLinkUri = dynamicLink.uri
Timber.d("dynamicUrl : $dynamicLinkUri")
return dynamicLinkUri
}
위 처럼 dynamic link를 생성할 수 있습니다. 여기서 prefix 와 link부분은 각자 작성해주세요 그리고 그 아래 파라미터들을 추가할 수 있는데 저는 링크를 클릭하였을 때 안드로이드 앱이 깔려있지 않다면 연결된 playstore링크로 이동하게끔 설정해 두었습니다. 파라미터에 관한 것은 공식링크를 참고하여 추가해주세요.
저렇게 생성된 dynamicLink를 웹에 복사해서 이동하게되면 앱이 열리면서 원하는 동작을 정의할 수 있습니다.
https://firebase.google.com/docs/dynamic-links/android/create?hl=ko#kotlin+ktx
https://anora.tistory.com/18