应用链接:Google play 控制台域名所有权未验证

问题描述 投票:0回答:1

我正在开发我的应用程序链接,在

Android version 11
上一切正常,但在
version 12 or above!

上不起作用

顺便说一句,我正在为我的网站使用 Firebase 托管!

最近,我发现我的

domain ownership is not verified
Google Play Console (GPC)
上。我确实将
GPC -> Setup -> App Signing
configure
中的所有代码复制到我的网站
assetlinks.json
中。然而,我的应用程序尚未得到验证,我已尽了一切努力,但问题仍然没有得到解决。

  1. public/.well-known/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..."] 
    }
  }
]
  1. 我的 Android 清单
<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 deep-linking google-play-console android-deep-link
1个回答
0
投票

按照“验证 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 记录或将特定文件上传到您的托管。

© www.soinside.com 2019 - 2024. All rights reserved.