我的应用程序正在使用谷歌的应用程序邀请框架(前firebase版本),电子邮件邀请内的链接工作正常,用户点击链接,应用程序打开和深层链接检索然而,当用户通过短信发送嵌入式链接打开play商店代替?用户点击打开应用但没有链接?
就好像短信链接无法看到用户设备上的应用程序,而电子邮件可以看到,有什么想法吗?
它有点像我缺少权限的短信打开应用程序?
链接检索的清单摘录:
<!-- deep link retrieval for appInvites -->
<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="uid"
android:scheme="AppName" />
</intent-filter>
和我的邀请生成器代码:
Intent intent = new AppInviteInvitation.IntentBuilder("Invite Friends")
.setMessage("Come join us")
.setCallToActionText("Join me!")
.setDeepLink(Uri.parse("AppName://uid/" + uid))
.build();
startActivityForResult(intent, 1);
更新:当尝试打开短信邀请URL时,我似乎得到以下消息:
XMLHttpRequest无法加载https://play.google.com/log?format=json。'Access-Control-Allow-Origin'标头的值'http://play.google.com'不等于提供的原点。
这似乎转储推荐和简单地打开播放商店?
谢谢。
OK,
解决了这个问题,原来是设备/消息应用程序的问题。三星最新的短信应用(安卓默认的短信应用);M)处理URL的内部(使用三星自己的浏览器?),而不是通过即Chrome。结果是这个内部浏览器似乎失去了深层链接(内部浏览器和play store域之间的某种CORS问题,可以从logcat错误中看到:XMLHttpRequest无法加载https://play.google.com/log?format=json)。'Access-Control-Allow-Origin'标头的值'http://play.google.com'不等于提供的原点)。
我在新的nexus上测试了应用程序邀请,邀请发送深度链接没有问题,在同一个三星设备上测试(我基于这篇文章的设备),只使用Hangouts作为默认的短信引擎,然后,邀请深度链接处理没有问题。
所以现在要明白三星在他们的消息应用程序中使用深度链接到底是怎么回事了。
希望节省你一些时间来得出这个结论,花了我一段时间!