日志中没有获得动态链接
问题描述:
我刚刚了解到这个firebase功能的动态链接。我试图在我的应用程序中使用相同的内容,但我没有在我的应用程序中获得链接。 我从控制台创建了一个动态链接,我试图获取动态链接,但它返回空。日志中没有获得动态链接
这里是我的动态链接的详细信息:
Deep link
https://mobiefit.com
Android app
com.firstrun.prototyze
Long Dynamic Link
https://t9nxs.app.goo.gl/?link=https://mobiefit.com&apn=com.firstrun.prototyze&afl=https://mobiefit.com
Short Dynamic Link
https://t9nxs.app.goo.gl/rY6Y
我还添加了意图过滤器在我的发射活动:
<!-- [START link_intent_filter] -->
<intent-filter>
<action android:name="android.intent.action.VIEW"/>
<category android:name="android.intent.category.DEFAULT"/>
<category android:name="android.intent.category.BROWSABLE"/>
<data
android:host="https://t9nxs.app.goo.gl/rY6Y"
android:scheme="https"/>
</intent-filter>
<!-- [END link_intent_filter] -->
现在我试图让动态链接,但它给我null
// [START get_deep_link]
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.
// ...
// [START_EXCLUDE]
// Display deep link in the UI
if (deepLink != null) {
Log.e("deepLink",deepLink.toString());
} else {
Log.d(TAG, "getDynamicLink: no link found");
}
// [END_EXCLUDE]
}
})
.addOnFailureListener(this, new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
Log.w(TAG, "getDynamicLink:onFailure", e);
}
});
// [END get_deep_link]
有人能告诉我我做错了什么吗?
答
试着改变你的Android.manifest在过滤器部分:
android:host="t9nxs.app.goo.gl/rY6Y"
没有的“https://”之前,并保持休息
既然我已经固定我的代码,我想再加上我从我的错误中学到的东西。为了将用户重定向到特定的屏幕,请将活动名称作为主机放置在清单文件中,如host:ProgramDetail。您还应该在Firebase控制台中的链接中输入相同的名称,例如https:// ProgramDetail?shortcode = abc。 –
它工作了!我被困在相同的问题无法从深层链接开始活动 –
@UditKapahi是的,它为我工作。尝试将您的活动名称作为主机放在没有.com扩展名的清单中,并放入动态链接中。 –