Last active
July 25, 2018 11:48
-
-
Save rlarla245/5abca74bbbc8cf3254f1f593f832da40 to your computer and use it in GitHub Desktop.
Firebase 12 - Create DynamicLinks
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
13. Firebase – Create DynamicLinks | |
1. 새로운 프로젝트를 생성합니다. Firebase 연동시킵니다. | |
2. 문서로 이동 – dynamiclinks – create – android를 참조합니다. | |
- 컴파일 코드를 삽입합니다. | |
3. 사용하기 위해서 앱 코드가 필요합니다. 콘솔 – 다이나믹 링크로 이동합니다. 이 페이지의 url 주소가 앱 코드입니다. | |
4. 문서로 이동하여 파라미터 값을 활용한 다이나믹 링크 생성 문서를 참조합니다. DynamicLink 생성 코드를 복사합니다. 복사해서 onCreate 메소드에 삽입합니다. | |
세 번째 안드로이드 파라미터 내 빌더의 파라미터 값으로 “com.kakao.talk”을 입력합니다. 카카오톡이 설치되어 있다면 첫 번째 메소드로 이동됩니다. ios 메소드는 생략해도 됩니다. | |
첫 번째 메소드의 파라미터 값으로 https://www.kakao.com을 입력해봅니다. 두 번째 메소드의 파라미터 값으로는 앱 코드를 입력합니다. https“//는 생략합니다. | |
- 잠깐 설명하자면 첫 번째 메소드는 내가 세팅을 할 url 주소, 두 번째 메소드는 다이나믹 링크를 만들 도메인 주소, 세 번째는 앱이 없을 경우 앱 설치 관리자(플레이스토어)를 띄웁니다. | |
5. 이대로 시작할 경우 sout 메소드를 활용하면 android monitor에 url 주소(롱 링크)가 뜨고, 이를 실행하면 카카오톡으로 넘어갑니다. | |
6. 롱 링크를 줄여봅시다. 문서 하단에 줄이는 코드를 복사해 메소드 하단에 붙입니다. | |
setLongLink의 파라미터 값으로 아까 생성된 Uri 인스턴스 변수를 넣습니다. | |
shortLink를 sout 하면 됩니다. | |
* 짧은 동적링크 생성할 때, 거기도 긴 동적링크 생성할 때처럼 setAndroidParameters(패키지명~)을 통해 패키지명을 등록해줘야지 정상 작동합니다. | |
강의 중에는 딥링크/동적 링크 도메인만 연결되어서, 앱 구동 안되고 계속 딥링크만 단순하게 호출합니다. " |
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
public class DynamicLinkClass extends AppCompatActivity { | |
@Override | |
protected void onCreate(Bundle savedInstanceState) { | |
super.onCreate(savedInstanceState); | |
setContentView(R.layout.activity_dynamic_link_class); | |
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink() | |
.setLink(Uri.parse("https://www.kakao.com")) | |
.setDynamicLinkDomain("rlarla245.page.link") | |
// Open links with this app on Android | |
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder("com.kakao.talk").build()) | |
// Open links with com.example.ios on iOS | |
// .setIosParameters(new DynamicLink.IosParameters.Builder("com.example.ios").build()) | |
.buildDynamicLink(); | |
Uri dynamicLinkUri = dynamicLink.getUri(); | |
FirebaseDynamicLinks.getInstance().createDynamicLink() | |
.setLongLink(dynamicLinkUri) | |
.buildShortDynamicLink() | |
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() { | |
@Override | |
public void onComplete(@NonNull Task<ShortDynamicLink> task) { | |
if (task.isSuccessful()) { | |
// Short link created | |
Uri shortLink = task.getResult().getShortLink(); | |
System.out.println(shortLink.toString()); | |
// Uri flowchartLink = task.getResult().getPreviewLink(); | |
} else { | |
// Error | |
// ... | |
} | |
} | |
}); | |
} | |
@Override | |
public void onBackPressed() { | |
super.onBackPressed(); | |
startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("https://rlarla245.page.link/Dr82nM9mXXnW3sf38"))); | |
} | |
} |
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment