【发布时间】:2021-05-27 05:10:12
【问题描述】:
我已经尝试了一周来解决这个问题,但没有成功! Google play 仍然不相信我已经正确链接了我的网站!每当我上传我的免安装应用时,我都会得到通常的结果:
您的网站“www.servstore.co”尚未通过数字资产链接协议链接到您的应用。请通过数字资产链接协议将您的网站链接到您的应用。
请注意,我的免安装应用和已安装的应用具有相同的代码库(单个模块),缩小后实际上为 9.4 MB。
我知道这个问题已经被问过很多次了,我也看到过很多关于这个的 SO 帖子,但是我读过的所有解决方案似乎都不适合我,到目前为止我实际上尝试了所有这些解决方案,但没有运气,到目前为止我为调试此问题所做的工作:
网站方面:
-
确保
assetlinks.json已上传到我的网站并使用适当的 Content-Type 标头进行管理。 -
确保文件在公共许可下可用 (777)
-
确保
robots.txt允许抓取文件,我实际上只有以下内容:
User-Agent: *
Allow: /.well-known*
-
确保资产链接使用正确的 SHA-256(Google Play 中的私钥),我也从不使用上传密钥,我直接使用相同的密钥对我的应用进行签名,并选择使用该密钥进行 Google Play 签名键。
应用端:
-
将
asset_statements添加到我的strings.xml和AndroidManifest.xml 中应用程序标记下的元数据 -
确保包含应用链接的第一个意图过滤器在我的清单中具有
auto-verify = true,还尝试将所有具有自动验证意图过滤器 URL 的 3 个活动标记为 -
在清单中为所有 3 个活动添加了
default-url,并仅尝试使用主要活动。 -
将
networkSecurityConfig添加到xml资源并在manfiest中引用:
<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
<domain-config cleartextTrafficPermitted="false">
<domain includeSubdomains="true">www.servstore.co</domain>
</domain-config>
</network-security-config>
在 Google Play 中:
-
在新的 Google Play 控制台中启用了即时应用发布类型。
-
在 Google Play 中以标准发布类型发布了相同的代码,其版本代码高于我用于即时应用的版本代码。
我已经准备好尝试任何事情了..
这是我最重要的文件,删除不相关的活动:
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
xmlns:tools="http://schemas.android.com/tools"
package="co.servstore.client"
android:targetSandboxVersion="2">
<dist:module dist:instant="true" />
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.WAKE_LOCK" />
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<uses-feature
android:glEsVersion="0x00020000"
android:required="true"/>
<application
android:name=".ServStoreApp"
android:allowBackup="false"
android:icon="${appIcon}"
android:label="@string/app_name"
android:roundIcon="${appIconRound}"
android:supportsRtl="true"
android:theme="@style/Theme.ServeStore.NoActionBar"
android:usesCleartextTraffic="true"
tools:ignore="GoogleAppIndexingWarning"
tools:replace="android:allowBackup,android:theme"
android:networkSecurityConfig="@xml/network_security_config">
<service
android:name=".services.notifications.NotificationService"
android:exported="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<meta-data
android:name="com.google.android.gms.version"
android:value="@integer/google_play_services_version" />
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="***" />
<meta-data
android:name="asset_statements"
android:resource="@string/asset_statements" />
<activity
android:name=".ui.main.MainActivity"
android:screenOrientation="nosensor"
android:windowSoftInputMode="adjustResize|stateHidden">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.servstore.co"
android:scheme="https" />
<data android:scheme="http" />
</intent-filter>
<meta-data
android:name="default-url"
android:value="https://www.servstore.co" />
</activity>
<activity
android:name=".ui.orders.OrderDetailsActivity"
android:screenOrientation="nosensor">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.servstore.co"
android:path="/businessOrders"
android:scheme="https" />
<data android:scheme="http" />
</intent-filter>
<meta-data
android:name="default-url"
android:value="https://www.servstore.co" />
</activity>
<activity
android:name=".ui.orders.CustOrderDetailsActivity"
android:screenOrientation="nosensor">
<intent-filter android:autoVerify="true">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data
android:host="www.servstore.co"
android:path="/userOrders"
android:scheme="https" />
<data android:scheme="http" />
</intent-filter>
<meta-data
android:name="default-url"
android:value="https://www.servstore.co" />
</activity>
</application>
</manifest>
【问题讨论】:
标签: android google-play-console android-instant-apps