Tip
[Firebase] DynamicLink Custom Parameters
너드나무
2024. 4. 30. 18:30
반응형
서론
카카오톡 알림톡 등 외부 채널에서 iOS, AOS 환경으로 모바일 App 전환에 대한 내용을 개발하던 도중 발생한 이슈에 대해 정리해본다.
Firebase Dynamic Link 서비스를 사용하며, 임의 매개변수를 입력할 때 모바일 환경에서 정상적으로 파싱이 되지 않는 이슈이다.
추가로, 앱 전환 관련 퍼널을 스터디하며 금번 기술 과제로 적용 가능한 퍼널에 대해 찾아본다.
문제점
- Firebase 동적 링크 URL 규칙
- 동적 링크 매개변수는 딥링크, Android, iOS, 기타 등 구분에 따라 사용하는 Parameters가 지정되어 있다.
- 이외 매개변수 사용 시, 해당 parameter가 사라지는 현상이 발생한다.
- 임의 매개변수 설정 후 구동 시 파악되는 정보는 다음과 같다.
- link나 utmParameters에서 key=value에 대한 부분이 나오지 않았다.
// Dynamic Link - Test
"https://{dynamiclink}.page.link/?link=https://{dynamiclink}.page.link/{uri}&apn={ANDROID_PACKAGE_NAME}&isi={APPSTORE_ID}&ibi={IOS_BUNDLE_ID}&key=value"
_handleLink: PendingDynamicLinkData(
{
ios: {
minimumVersion: null,
matchType: 3
},
android: null,
link: https://{dynamiclink}.page.link/{uri},
utmParameters: {}
}
)
해결
- 동적 링크 매개변수 중 딥 링크 매개변수(페이로드 매개변수) 부분에 집중해본다.
- 정황 상 link 매개변수 내 value에 임의 매개변수를 할당하여 모바일에서 link 안에서 구성되어 있는 FULL URL을 후처리하여 사용해야 되는 것으로 가정한다.
- link=https://domain/?key1=value1&key2=value2
- https://domain/?key1=value1&key2=value2 : 내용이 1 Set로 link 매개변수에 묶여야 하는 것이 중요하다.
- URI Encoding을 활용하여 link 내 요소를 String 처리 개념으로 Dynamic Link에 전달한다.
- https://{dynamiclink}.page.link/?link=https://{dynamiclink}.page.link/{uri}%26key%3Dvalue&apn={ANDROID_PACKAGE_NAME}&isi={APPSTORE_ID}&ibi={IOS_BUNDLE_ID}
- %26 : &
- %3D : =
- 정상적으로 link 내에 임의 매개변수가 포함된 것을 확인할 수 있다.
// Dynamic Link - PoC
"https://{dynamiclink}.page.link/?link=https://{dynamiclink}.page.link/{uri}%26key%3Dvalue&apn={ANDROID_PACKAGE_NAME}&isi={APPSTORE_ID}&ibi={IOS_BUNDLE_ID}"
_handleLink: PendingDynamicLinkData(
{
ios: {
minimumVersion: null,
matchType: 3
},
android: null,
link: https://{dynamiclink}.page.link/{uri}&key=value,
utmParameters: {}
}
)
결론
- URI의 개념이 혼동될 수 있는 이슈였다고 생각된다.
- Encoding한 데이터가 Redirect 이후 변환되었다고 가정하였는데, Firebase 내부 Redirect 요소라 검증은 진행하지 못했다.
- 2025년 8월 25일 Dynamic Link 서비스가 종료 예정이다.
- 딥링크 기능을 제공하는 별도 서비스를 모색해보아야 한다.
- 특정 이벤트에 대한 앱 전환 퍼널은 적용할 요소가 많다. (외부 URI, 배너 등) 다만, 의미없는 전환으로 이어지지 않게 설계하는 것이 중요하지 않을까..
참고 및 인용 출처
- Firebase. [Google]. (2023-10-04). 동적 링크 URL 직접 만들기. https://firebase.google.com/docs/dynamic-links/create-manually?hl=ko
728x90
반응형