📌  相关文章
📜  Firebase创建动态链接

📅  最后修改于: 2021-01-02 04:02:15             🧑  作者: Mango

Firebase创建动态链接

在Firebase中,有四种创建动态链接的方法。这些如下:

使用Firebase控制台

我们可以在Firebase控制台的帮助下创建动态链接。如果我们正在创建促销链接以在社交媒体上共享,这将很有用。我们可以在Firebase控制台中为链接选择自定义后缀和名称。我们可以在Firebase控制台中或通过Analytics REST API跟踪这些动态链接的性能。

使用动态链接生成器API

这是在我们的应用程序中动态创建链接以进行用户间共享或在需要许多链接的任何情况下的首选方法。我们可以跟踪动态链接的性能,动态链接是使用Builder API使用动态链接分析API创建的。

使用REST API

这是在没有Builder API的平台上动态创建链接的首选方法。 Analytics REST API可用于跟踪在控制台中创建的促销活动的效果。

手动地

如果我们不需要跟踪点击数据并且我们不在乎链接是否牢固,我们可以使用URL参数手动构建动态链接

我们可以使用Firebase动态链接生成器API创建短动态链接或长动态链接。它接受长动态链接或包含动态链接参数的对象。为了创建动态链接,我们必须有一个Android应用程序并将其添加到Firebase项目。

我们首先创建一个Android应用程序,然后通过Firebase控制台或手动将其与Firebase一起添加。

”Firebase创建动态链接”

”Firebase创建动态链接”

还需要在控制台中的Android项目中设置SHA-1和SHA-256键。

”Firebase创建动态链接”

在下一步中,我们将所有依赖项(即Firebase核心和Firebase动态链接)添加到我们的firebase项目和应用程序级别的build.gradle文件中。

”Firebase创建动态链接”

”Firebase创建动态链接”

使用Firebase控制台创建动态链接

首先,我们将转到Firebase控制台中的“动态链接”部分(Firebase-> Grow-> Dynamic Link) 。如果我们尚未接受服务条款,则必须为动态链接设置一个域,然后在出现提示时进行操作。如果我们已经有一个动态链接域,则在以编程方式创建动态链接时,我们必须提供一个动态链接域。

之后,我们将在深层链接和后备链接中指定允许的URL模式。我们阻止未经授权的各方创建动态链接,该链接会从我们的域重定向到我们无法控制的站点。如果我们想为测试目的或为营销团队生成单个动态链接,则可以在社交媒体帖子中使用它。最简单的方法是按照逐步表单访问Firebase控制台并手动创建一个控制台。

因此,我们将转到Firebase控制台的“动态链接”部分。

”Firebase创建动态链接”

现在,我们将单击“入门”

”Firebase创建动态链接”

单击“入门”后,它将要求添加URL前缀和模式。如果我们没有自己的域,则可以在example下使用该域。我们可以将其用作免费的自定义page.link 。因此,我们只需要想出一些以前从未使用过的名称。

”Firebase创建动态链接”

”Firebase创建动态链接”

”Firebase创建动态链接”

”Firebase创建动态链接”

现在,没有动态链接。我们将通过单击New Dynamic Link创建一个动态链接。

”Firebase创建动态链接”

此点击将打开“创建动态链接门户”,并要求设置简短的URL链接,设置或动态链接,定义iOS的链接行为,定义Android的链接行为以及广告系列跟踪,社交标签和高级选项,可选的。

”Firebase创建动态链接”

”Firebase创建动态链接”

”Firebase创建动态链接”

”Firebase创建动态链接”

”Firebase创建动态链接”

”Firebase创建动态链接”

从参数创建动态链接

用于以编程方式创建动态链接

  • 使用其生成器创建一个newDynamicLink对象。
  • 使用Builder方法指定动态链接参数。
  • 调用buildDynamicLink或buildShortDynamicLink。

以下示例创建了一个指向https://www.example.com/的长动态链接。它以Android上的Android应用程序和iOS上的com.example.iOS应用程序打开。

val dynamicLink =FirebaseDynamicLinks.getInstance().createDynamicLink()
    .setLink(Uri.parse(https://www.example.com/))
    .setDomainUriPrefix("https://example.page.link")
 //opening links with this app on Android 
    .setAndroidParameters(DynamicLink.AndroidParameters.Builder().build())
 //Opening links with com.example.iOS on iOS
    .setIosParameters(DynamicLink.IosParameters.Builder("com.examples.ios").build())
.buildDynamicLink()
val dynamicLinkUri=dynamicLink.uri

创建短动态链接

要创建短动态链接,请以相同的方式构建动态链接,然后调用buildShortDynamicLink()。它需要网络调用,因此buildShortDynamicLink()代替了直接返回链接,而是返回一个Task并在请求完成后提供一个短链接。

val shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
    .setLink(Uri.parse("https://www.example.com/"))
    .setDomainUriPrefix("https://example.page.link")
 //Setting parameters 
    //…
    .buildShortDynamicLink()
    .addOnSuccessListener{ result->
        //Short link created
        val shortLink = result.shortLink
        val flowchartLink = result.previewLink
    }
    .addOnFailureListener{
        //Error
        //…
    }

动态链接参数

我们可以使用Dynamic Link Builder API来创建具有任何受支持参数的动态链接。

val dynamicLink = FirebaseDynamicLink.getInstance().createDynamicLink()
    .setLink(Uri.parse("https://www.example.com/"))
    .setDomainUriPrefix("https://example.page.link")
    .setAndroidParameters(
        DynamicLink.AndroidParameters.Builder("com.example.android")
            .setMinimumVersion(125)
            .build())
    .setIosParameters(
        DynamicLink.IosParameters.Buildert("com.example.ios") 
            .setAppStoreId("123456789")
            .setMinimumVersion("1.0.1")
            .build())
    .setGoogleAnalyticsParameters(
        DynamicLink.GoogleAnalyticsParameters.Builder()
            .setSource("orkut")
            .setMedium("social")
            .setCampaign("example-promo")
            .build())
    .setItuneConnectAnalyticsParameter(
        DynamicLink.ItuneConnectAnalyticsParameter.Builder()
            .serProviderToken("123456")
            .setCampaignToken("example-promo")
            .build())
    .setSocialMetaTagParameters(
        DynamicLink.SocialMetaTagParameters.Builder()
            .setTitle("Example of a Dynamic Link")
            .setDescription("This link works whether the app is installed or not!")
            .build())
    .buildDynamicLink()//Or buildShortDynamicLink()