Notice
Recent Posts
Recent Comments
Link
일 | 월 | 화 | 수 | 목 | 금 | 토 |
---|---|---|---|---|---|---|
1 | 2 | |||||
3 | 4 | 5 | 6 | 7 | 8 | 9 |
10 | 11 | 12 | 13 | 14 | 15 | 16 |
17 | 18 | 19 | 20 | 21 | 22 | 23 |
24 | 25 | 26 | 27 | 28 | 29 | 30 |
Tags
- android fragment
- jQuery
- css
- Program type already present
- Android Apk 이름 변경
- release Apk
- JavaScript
- fragment
- DataTable
- Android
- Exception
- Kotlin
- java error
- CSS사용법
- apache gzip
- MySQL
- R프로그래밍
- release unsigned
- html
- Eclipse
- 안드로이드
- Java
- Android Apk
- Firebase
- android error
- error
- Android Apk 이름
- FLUTTER
- tomcat
- spring
Archives
- Today
- Total
selfstarter
firebase android dynamic link 추가 본문
firebase android deeplink 추가
dynamic link란?
- deferred deeplink는 ios, android link를 따로 만들어줘야 한다.dynamic link는 하나의 링크로 ios, android 사용할 수 있도록 deferred deeplink의 단점을 보완했다
firebase dynamic link 추가
- firebase 프로젝트 생성
- android일 경우 프로젝트 패키지명을 입력하면 firebase 인증 정보가 담긴 'google-services.json'파일을 다운로드 받을 수 있음. 프로젝트의 app폴더 안에 넣음
- firebase 왼쪽메뉴에서 deepLink를 눌러서 deepLink 생성
- 단축 URL이란 사용자가 볼 수 있고 공유하는 URL(xxxx.page.link는 firebase의 무료 도메인이다)
- 동적 링크 설정의 딥링크란 안드로이드 내부에서 host, scheme로써 사용되는 딥링크를 의미(같은 링크끼리는 마지막에 prefix를 다르게 해서 각 링크를 구분한다)
- Android용 링크 동작에서 딥 링크 열기를 선택하면, 앱이 설치되지 않았거나 특정 버전보다 낮은 경우 특정 url로 보낼 수 있다(웹 구글 플레이스토어 url을 넣으면 앱 구글 플레이스토어로 이동한다)
- 공유 개선을 위한 소셜 메타 태그 설정은 링크 설 요즘 링크 미리보기 정보를 추가한다. 보통 보면 링크 밑에 네모난 박스에 링크이름, 링크설명 그리고 이미지가 있는데 그것이다.
- UTM매개변수로 캠페인 추적은 애널리틱스에서 사용할 때 유용한 설정인 것 같다
프로젝트 firebase 설정 및 deeplink prefix로 구분하기
- build.gradle에서 buildscript-dependencies에 classpath 'com.google.gms:google-services:4.2.0' 추가
- build.gradle에서 dependencies 추가
implementation 'com.google.firebase:firebase-database:16.0.5' implementation 'com.google.firebase:firebase-auth:16.1.0' implementation 'com.google.firebase:firebase-core:15.0.2' implementation 'com.google.firebase:firebase-messaging:15.0.2' implementation 'com.google.firebase:firebase-invites:16.0.1' implementation 'com.google.firebase:firebase-dynamic-links:15.0.0' implementation "com.google.android.gms:play-services-base:15.0.1" implementation 'com.google.android.gms:play-services-auth:16.0.0'
- manifest에서 intent-filter, host, sheme 정의
<activity android:name=".TestDeepActivity"> <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="example.page.link" android:scheme="https" /> <data android:host="example.page.link" android:scheme="http" /> </intent-filter> </activity>
- listener가 들어왔을 때 동작 정의
private void processDeepLink() { FirebaseDynamicLinks.getInstance() .getDynamicLink(getIntent()) .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>(){ @Override public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) { // app으로 실행했을 경우(deeplink 없는 경우) if (pendingDynamicLinkData == null) { Log.d(TAG, "No have dynamic link"); return; } //deeplink로 app 넘어 왔을 경우 Uri deepLink = pendingDynamicLinkData.getLink(); String segment = deepLink.getLastPathSegment(); Intent intent = null; switch (segment) { case "bank": intent = new Intent(TestDeepActivity.this, BankActivity.class); startActivity(intent); finish(); break; case "event": intent = new Intent(TestDeepActivity.this, EventActivity.class); startActivity(intent); finish(); break; } } }) .addOnFailureListener(this, new OnFailureListener() { @Override public void onFailure(@NonNull Exception e) { } }); }
'App > Android' 카테고리의 다른 글
debug, release apk 설치방법 (0) | 2020.02.27 |
---|---|
Android find 단축키 창모드 -> find tab으로 보기 (0) | 2020.02.13 |
Program type already present: com.google.android.gms.internal.measurement.zzdk (0) | 2020.02.06 |
The library com.google.android.gms:play-services-basement is being requested by various other libraries at.. (0) | 2020.02.06 |
How to make aar file in android studio (0) | 2020.02.01 |
Comments