我正在开发我的应用程序链接,在
Android version 11
上一切正常,但在 version 12 or above!
上不起作用
顺便说一句,我正在为我的网站使用 Firebase 托管!
最近,我发现我的
domain ownership is not verified
在Google Play Console (GPC)
上。我确实将 GPC -> Setup -> App Signing
和 configure
中的所有代码复制到我的网站 assetlinks.json
中。然而,我的应用程序尚未得到验证,我已尽了一切努力,但问题仍然没有得到解决。
[
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : {
"namespace": "android_app",
"package_name": "com.(myDomain).(myapp)",
"sha256_cert_fingerprints": ["EE:C6:DF..."]
}
},
{
"relation": ["delegate_permission/common.handle_all_urls"],
"target" : {
"namespace": "android_app",
"package_name": "com.(mydomain).(myApp)",
"sha256_cert_fingerprints": ["A9:11:AA..."]
}
}
]
<intent-filter android:autoVerify="true" tools:targetApi="m">
<action android:name="android.intent.action.VIEW" />
<category android:name="android.intent.category.DEFAULT" />
<category android:name="android.intent.category.BROWSABLE" />
<data android:scheme="https" android:host="(myDomain).com" android:pathPrefix="/view/"/>
</intent-filter>
我的网站 Firebase.json 文件:
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
]
}
}
虽然我的代码看起来很完美,但我不确定是否遗漏了一些东西,但我肯定遇到了问题:我的域名所有权未得到验证。
按照“验证 Android 应用程序链接”,确保您的
assetlinks.json
文件格式正确,并且可以通过 HTTPS 访问,无需任何重定向。该文件需要位于 https://<your-domain>/.well-known/assetlinks.json
。您提到您的域是通过 Firebase Hosting 提供服务的,因此请确保 Firebase 托管配置不会阻止对 .well-known
目录的访问。
+--------------------+ +-------------------------+ +----------------------+
| Google Play Console| ---> | Firebase Hosting | ---> | Android App |
| (Domain ownership) | | (assetlinks.json) | | (Intent-filter setup)|
+--------------------+ +-------------------------+ +----------------------+
firebase.json
可能是:
{
"hosting": {
"public": "public",
"ignore": [
"firebase.json",
"**/.*",
"**/node_modules/**"
],
"rewrites": [
{
"source": "/.well-known/assetlinks.json",
"destination": "/public/.well-known/assetlinks.json"
}
]
}
}
该重写规则可确保从正确的位置提供对
.well-known/assetlinks.json
的请求。
意图过滤器设置应包含一个与您的
assetlinks.json
中指定的域完全匹配的域,并且它在您的Android应用程序中正确定位。
<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:scheme="https" android:host="example.com" android:pathPrefix="/view/"/>
</intent-filter>
确保您已遵循 Google Play 管理中心要求的所有步骤来验证域名所有权。这通常涉及添加 DNS 记录或将特定文件上传到您的托管。