即时应用程序 - 数字资产链接协议

时间:2017-06-23 14:22:36

标签: android android-instant-apps digital-assets-links

每当我尝试将我的即时应用apks上传到Play商店时,都会出现以下错误:

  • 您的网站“www.mywebsitename.com”尚未通过Digital链接 资产链接协议到您的应用程序。请通过网站链接您的网站 数字资产链接协议到您的应用程序。

但是,每当我执行https://developers.google.com/digital-asset-links/tools/generator时,它都会成功与我的应用和网站相关联。知道为什么我会收到这个错误吗?可能导致这种情况的原因是什么?

提前感谢您的帮助。

4 个答案:

答案 0 :(得分:11)

请检查Google Play控制台是否启用了Google Play App Signing。 如果启用了Google Play App Signing,Google Play控制台将使用发布密钥替换您的应用密钥。 您在Android Studio上设置的密钥被视为上传密钥。 因此,您需要使用发布密钥修改assetlinks.json

答案 1 :(得分:9)

当我从调试密钥而不是发布密钥生成assetlinks.json文件时,发生了这种情况。它在Android Studio中显示为已验证,然后在服务器上失败。仔细检查签名配置对于资产链接文件是否正确,以及文件中的指纹是否与释放密钥的SHA256指纹匹配。您可以通过运行

获取发布密钥的指纹

keytool -list -v -keystore ~/my_keystore.jks

另一个原因可能是您启用了Play签名。在这种情况下,您必须使用开发人员控制台中提供的指纹,而不是您在本地签署APK的密钥(本地一个称为您的"上传密钥")。这在Android Studio中根本不显而易见,因为它的资产链接文件生成器不会为您提供放入自定义指纹的选项。

答案 2 :(得分:6)

请检查您的网站资产链接文件是否不支持某种形式的身份验证,内部IP或防火墙阻止。如果无法公开访问,则Play商店开发者控制台无法访问数字资产链接文件。

也就是说,请仔细检查是否可以从外部网络访问java.lang.NullPointerException: at android.widget.Editor$SuggestionsPopupWindow.initContentView(Editor.java:3729) at android.widget.Editor$PinnedPopupWindow.<init>(Editor.java:3390) at android.widget.Editor$SuggestionsPopupWindow.<init>(Editor.java:3675) at android.widget.Editor.replace(Editor.java:431) at android.widget.Editor$3.run(Editor.java:2354) at android.os.Handler.handleCallback(Handler.java:751) at android.os.Handler.dispatchMessage(Handler.java:95) at android.os.Looper.loop(Looper.java:154) at android.app.ActivityThread.main(ActivityThread.java:6776) at java.lang.reflect.Method.invoke(Native Method:0) at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:1520) at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:1410) (切换到公共wifi并验证json文件是否可以正确加载)。

答案 3 :(得分:0)

如Jarrod在评论中所说,如果其他所有方法均失败,则放弃分阶段发布并重新上传APK。刚才为我工作。