在Firebase Android中,如何获得用户点击的动态短链接?
我在Firebase控制台中创建了一个动态链接。它有一个短url,用于将用户指向应用程序内部的活动 我在iOS中也这样做了,使用代码:在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
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,我们为每个链接返回一个数据字典,而不是单个参数,因此我们自动捕获附加的参数并将它们插入到该数据字典中。这提供了更多的灵活性,但本质上是相同的方法。