Android 从play store安装后未收到Firebase动态链接
在我的场景中,我在我的应用程序中生成一个带有一些分析参数的动态链接,并使用下面的代码行Android 从play store安装后未收到Firebase动态链接,android,firebase,firebase-dynamic-links,Android,Firebase,Firebase Dynamic Links,在我的场景中,我在我的应用程序中生成一个带有一些分析参数的动态链接,并使用下面的代码行 .setAndroidParameters(new DynamicLink.AndroidParameters.Builder("XX.XXX.debug").build()) 工作正常,正在生成短链接,当我从其他窗口点击链接时,它会打开我的应用程序,动态链接会成功捕获到我的启动屏幕中。这是我的应用程序的调试版本 后来,我也考虑在发行版上测试它。因此,我生成了一个发布apk,并将上面的代码行修改为 .set
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder("XX.XXX.debug").build())
工作正常,正在生成短链接,当我从其他窗口点击链接时,它会打开我的应用程序,动态链接会成功捕获到我的启动屏幕中。这是我的应用程序的调试版本
后来,我也考虑在发行版上测试它。因此,我生成了一个发布apk,并将上面的代码行修改为
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder("XX.XXX").build())
正在从中删除调试部分。我在playstore的ALPHA频道发布了我的应用程序
我从playstore重新安装了发布版本,生成了链接并复制了它。现在,为了测试deeplink,我卸载了我的应用程序的发布版本
到目前为止还不错
现在我点击了从先前发布版本生成的复制链接,它打开play store,重定向到我的应用程序,安装alpha版本
我点击了playstore的open按钮,我的应用程序启动了启动屏幕,在那里应该可以检测到深层链接
问题1->未检测到深层链接
问题2->再次点击该深度链接应该会打开我的应用程序,但它会打开游戏商店。
请帮忙
编辑
我的意图过滤器是这样的
<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="xxxx.app.goo.gl"
android:scheme="http" />
<data
android:host="xxxx.app.goo.gl"
android:pathPattern=".*"
android:scheme="https" />
</intent-filter>
您需要为您的链接实际所在的域添加链接。您可以将动态链接视为常规链接的包装器
因此,与其为myapp.app.goo.gl添加过滤器,不如为myapp.com添加过滤器 首先,有两个生成器构造函数 1.默认构造函数,表示打开应用程序 2.构造函数采用开放参数字符串,表示是否需要URl 因此,解决问题的方法是
Uri uri = Uri.parse("https://www.google.jo/");
Uri uri1 = uri.buildUpon().appendQueryParameter("order", "725").build();
DynamicLink dynamicLink = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(uri1)
.setDynamicLinkDomain("rw4r7.app.goo.gl")
.setAndroidParameters(
new DynamicLink.AndroidParameters.Builder("com.example.android")
.setMinimumVersion(1)
.build())
// Open links with this app on Android
.setAndroidParameters(new DynamicLink.AndroidParameters.Builder().build())
.setGoogleAnalyticsParameters(
new DynamicLink.GoogleAnalyticsParameters.Builder()
.setSource("orkut")
.setMedium("social")
.setCampaign("example-promo")
.build())
.setItunesConnectAnalyticsParameters(
new DynamicLink.ItunesConnectAnalyticsParameters.Builder()
.setProviderToken("123456")
.setCampaignToken("example-promo")
.build())
.setSocialMetaTagParameters(
new DynamicLink.SocialMetaTagParameters.Builder()
.setTitle("Example of a Dynamic Link")
.setDescription("This link works whether the app is installed or not!")
.build())
// Open links with com.example.ios on iOS
.buildDynamicLink();
Uri dynamicLinkUri = dynamicLink.getUri();
Task<ShortDynamicLink> shortLinkTask = FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(uri1)
.setDynamicLinkDomain("rw4r7.app.goo.gl")
.setLongLink(dynamicLinkUri)
// Set parameters
// ...
.buildShortDynamicLink()
.addOnCompleteListener(this, new OnCompleteListener<ShortDynamicLink>() {
@Override
public void onComplete(@NonNull Task<ShortDynamicLink> task) {
if (task.isSuccessful()) {
// Short link created
Uri shortLink = task.getResult().getShortLink();
Uri flowchartLink = task.getResult().getPreviewLink();
Intent intent = new Intent();
intent.setAction(Intent.ACTION_SEND);
intent.putExtra(Intent.EXTRA_TEXT, shortLink.toString());
intent.setType("text/plain");
intent.putExtra("testsawalha", "testSawalha");
startActivity(intent);
} else {
// Error
// ...
}
}
});
Uri=Uri.parse(“https://www.google.jo/");
Uri uri1=Uri.buildOn().appendQueryParameter(“order”,“725”).build();
DynamicLink DynamicLink=FirebaseDynamicLinks.getInstance().createDynamicLink()
.setLink(uri1)
.SetDynamicLink域(“rw4r7.app.goo.gl”)
.setAndroidParameters(
新的DynamicLink.AndroidParameters.Builder(“com.example.android”)
.setMinimumVersion(1)
.build())
//在Android上打开与此应用程序的链接
.setAndroidParameters(新的DynamicLink.AndroidParameters.Builder().build())
.SetGoogleAnalytics参数(
新的DynamicLink.GoogleAnalyticsParameters.Builder()
.setSource(“orkut”)
.setmedia(“社交”)
.setCampaign(“示例促销”)
.build())
.SetiTunes连接分析参数(
新的DynamicLink.ItunesConnectAnalyticsParameters.Builder()
.setProviderToken(“123456”)
.setCampaignToken(“示例促销”)
.build())
.SetSocialMetagParameters(
新的DynamicLink.SocialMetaTagParameters.Builder()
.setTitle(“动态链接示例”)
.setDescription(“无论是否安装应用程序,此链接都有效!”)
.build())
//在ios上打开com.example.ios的链接
.buildDynamicClink();
Uri dynamicLinkUri=dynamicLink.getUri();
Task shortLinkTask=FirebaseDynamicLinks.getInstance().createdynamicclink()
.setLink(uri1)
.SetDynamicLink域(“rw4r7.app.goo.gl”)
.setLongLink(dynamicLinkUri)
//设置参数
// ...
.buildShortDynamicClink()
.addOnCompleteListener(这是新的OnCompleteListener(){
@凌驾
未完成的公共void(@NonNull任务){
if(task.issusccessful()){
//短链接已创建
Uri shortLink=task.getResult().getShortLink();
Uri flowchartLink=task.getResult().getPreviewLink();
意图=新意图();
intent.setAction(intent.ACTION\u SEND);
intent.putExtra(intent.EXTRA_TEXT,shortLink.toString());
intent.setType(“文本/普通”);
意图。putExtra(“testsawalha”、“testsawalha”);
星触觉(意向);
}否则{
//错误
// ...
}
}
});
对于问题1:我们收到一些来自Play store的alpha频道安装报告,未发送安装参考广播-动态链接取决于此以获取深度链接。对于问题2:您是否可以检查在清单中为其他域设置了意图过滤器(请随意编辑问题,以便更容易地包含您的清单和域)@IanBarber-对于问题1,我是否可以期望它在生产渠道中工作,或者何时可以得到修复。@IanBarber-对于问题2-我已根据您的请求进行了编辑,发布了我的意图过滤器。问题1:是的,应该可以在生产渠道中工作。