Warning: file_get_contents(/data/phpspider/zhask/data//catemap/1/firebase/6.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
在Firebase Android中,如何获得用户点击的动态短链接?_Android_Firebase_Firebase Dynamic Links - Fatal编程技术网

在Firebase Android中,如何获得用户点击的动态短链接?

在Firebase Android中,如何获得用户点击的动态短链接?,android,firebase,firebase-dynamic-links,Android,Firebase,Firebase Dynamic Links,我在Firebase控制台中创建了一个动态链接。它有一个短url,用于将用户指向应用程序内部的活动 我在iOS中也这样做了,使用代码: func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool { if let incomingUrl = userA

我在Firebase控制台中创建了一个动态链接。它有一个短url,用于将用户指向应用程序内部的活动

我在iOS中也这样做了,使用代码:

 func application(_ application: UIApplication, continue userActivity: NSUserActivity, restorationHandler: @escaping ([Any]?) -> Void) -> Bool
{

    if let incomingUrl = userActivity.webpageURL
    {
     print(incomingUrl) //Here I get the url that the user clicked on
    }
}
当用户点击动态短链接时,我试图在Android中获得准确的输出。 目前,我有:

       FirebaseDynamicLinks.getInstance()
             .getDynamicLink(getIntent())
            .addOnSuccessListener(this, new OnSuccessListener<PendingDynamicLinkData>() {
                @Override
                public void onSuccess(PendingDynamicLinkData pendingDynamicLinkData) {
                    // Get deep link from result (may be null if no link is found)
                    Uri deepLink = null;
                    if (pendingDynamicLinkData != null)
                    {
                        deepLink = pendingDynamicLinkData.getLink();

                    }


                    // Handle the deep link. For example, open the linked
                    // content, or apply promotional credit to the user's
                    // account.
                    // ...

                    // ...
                }
            })
            .addOnFailureListener(this, new OnFailureListener() {
                @Override
                public void onFailure(@NonNull Exception e) {
                    Log.w(TAG, "getDynamicLink:onFailure", e);
                }
            });
在这里,我可以获得深层链接,我不清楚如何在Android中获取短链接


谢谢。

您误解了动态链接和完全披露等平台的工作方式:我在分支机构团队工作。你的Android实现是正确的——iOS实现是错误的。你需要复习以确保你已经准备好了

使用托管深度链接的主要好处之一是,您不需要用户单击的实际URL。这有两个很好的理由:

当应用程序尚未安装时,该URL永远不适用于延迟深度链接用例。 通过通用链接/应用程序链接打开应用程序时,URL的到达方式与通过自定义URI方案打开应用程序时不同。
托管链接平台将这些技术细节抽象出来,这样您就可以实现自己的功能而不用担心它们。如果你试图绕过预期用途,实际上会使事情变得更加困难

当一个用户向另一个用户共享一个邀请时,我会将特定于应用程序的UserID附加到动态短链接中。它在iOS中工作,因为我可以获取用户ID,然后在应用程序内部执行必要的操作。既然您认为这是不可能的,那么有没有办法获取用户ID之类的详细信息?我想在构建动态链接时,我必须将它们作为参数传递。是吗?这是正确的方法,是的。在Branch,我们为每个链接返回一个数据字典,而不是单个参数,因此我们自动捕获附加的参数并将它们插入到该数据字典中。这提供了更多的灵活性,但本质上是相同的方法。