1+ package com.google.firebase.quickstart.dynamiclinks
2+
3+ import android.net.Uri
4+ import android.os.Bundle
5+ import android.support.v7.app.AppCompatActivity
6+ import com.google.firebase.dynamiclinks.DynamicLink
7+ import com.google.firebase.dynamiclinks.FirebaseDynamicLinks
8+ import com.google.firebase.quickstart.dynamiclinks.interfaces.MainActivityInterface
9+
10+ class KotlinMainActivity : AppCompatActivity (), MainActivityInterface {
11+
12+ override fun onCreate (savedInstanceState : Bundle ? ) {
13+ super .onCreate(savedInstanceState)
14+ setContentView(R .layout.activity_main)
15+ }
16+
17+ override fun createDynamicLink_Basic () {
18+ // [START create_link_basic]
19+ val dynamicLink = FirebaseDynamicLinks .getInstance().createDynamicLink()
20+ .setLink(Uri .parse(" https://www.example.com/" ))
21+ .setDynamicLinkDomain(" example.page.link" )
22+ // Open links with this app on Android
23+ .setAndroidParameters(DynamicLink .AndroidParameters .Builder ().build())
24+ // Open links with com.example.ios on iOS
25+ .setIosParameters(DynamicLink .IosParameters .Builder (" com.example.ios" ).build())
26+ .buildDynamicLink()
27+
28+ val dynamicLinkUri = dynamicLink.uri
29+ // [END create_link_basic]
30+ }
31+
32+ override fun createDynamicLink_Advanced () {
33+ // [START create_link_advanced]
34+ val dynamicLink = FirebaseDynamicLinks .getInstance().createDynamicLink()
35+ .setLink(Uri .parse(" https://www.example.com/" ))
36+ .setDynamicLinkDomain(" example.page.link" )
37+ .setAndroidParameters(
38+ DynamicLink .AndroidParameters .Builder (" com.example.android" )
39+ .setMinimumVersion(125 )
40+ .build())
41+ .setIosParameters(
42+ DynamicLink .IosParameters .Builder (" com.example.ios" )
43+ .setAppStoreId(" 123456789" )
44+ .setMinimumVersion(" 1.0.1" )
45+ .build())
46+ .setGoogleAnalyticsParameters(
47+ DynamicLink .GoogleAnalyticsParameters .Builder ()
48+ .setSource(" orkut" )
49+ .setMedium(" social" )
50+ .setCampaign(" example-promo" )
51+ .build())
52+ .setItunesConnectAnalyticsParameters(
53+ DynamicLink .ItunesConnectAnalyticsParameters .Builder ()
54+ .setProviderToken(" 123456" )
55+ .setCampaignToken(" example-promo" )
56+ .build())
57+ .setSocialMetaTagParameters(
58+ DynamicLink .SocialMetaTagParameters .Builder ()
59+ .setTitle(" Example of a Dynamic Link" )
60+ .setDescription(" This link works whether the app is installed or not!" )
61+ .build())
62+ .buildDynamicLink() // Or buildShortDynamicLink()
63+ // [END create_link_advanced]
64+ }
65+
66+ override fun createShortLink () {
67+ // [START create_short_link]
68+ val shortLinkTask = FirebaseDynamicLinks .getInstance().createDynamicLink()
69+ .setLink(Uri .parse(" https://www.example.com/" ))
70+ .setDynamicLinkDomain(" example.page.link" )
71+ // Set parameters
72+ // ...
73+ .buildShortDynamicLink()
74+ .addOnCompleteListener { task ->
75+ if (task.isSuccessful) {
76+ // Short link created
77+ val shortLink = task.result.shortLink
78+ val flowchartLink = task.result.previewLink
79+ } else {
80+ // Error
81+ // ...
82+ }
83+ }
84+ // [END create_short_link]
85+ }
86+
87+ override fun shortenLongLink () {
88+ // [START shorten_long_link]
89+ val shortLinkTask = FirebaseDynamicLinks .getInstance().createDynamicLink()
90+ .setLongLink(Uri .parse(" https://example.page.link/?link=https://www.example.com/&apn=com.example.android&ibn=com.example.ios" ))
91+ .buildShortDynamicLink()
92+ .addOnCompleteListener { task ->
93+ if (task.isSuccessful) {
94+ // Short link created
95+ val shortLink = task.result.shortLink
96+ val flowchartLink = task.result.previewLink
97+ } else {
98+ // Error
99+ // ...
100+ }
101+ }
102+ // [END shorten_long_link]
103+ }
104+ }
0 commit comments