Как заставить Google повторно загрузить.well-known/assetlinks.json, чтобы исправить мою реализацию Android App Link

Я успешно реализовал ссылки Android App с My Local APK, и это работает. Когда я опубликовал тот же APK в магазине Google Play, я понял, что мне нужно изменить отпечаток SHA 256 в моем /.well-known/assetlinks.json отпечатке, предоставленном Google. Так что я изменил это. К сожалению, похоже, что Google хранит старую копию assetlinks.json, которая тормозит ссылки моего приложения.

Я проверил https://developers.google.com/digital-asset-links/tools/generator и он сказал: "Не найдено разрешение на создание глубоких ссылок для приложения [ваше-приложение]"

Я проверил https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=[my-site]&relation=delegate_permission/common.handle_all_urls и он показывает мне старую версию assetlinks.json

Мой robots.txt

User-agent: *
Disallow:

Мой файл.htaccess в каталоге /.well-known

Require all granted
RewriteEngine Off


<FilesMatch "\.(txt)$">
    Require all granted
</FilesMatch>

<FilesMatch "\.(txt)$">
    Allow from all
</FilesMatch>

Мой assetlinks.json

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target" : { "namespace": "android_app", "package_name": "my-app-id",
               "sha256_cert_fingerprints": ["my-sha-256-provided-by-gogole-play-console"] }
}]

Результат https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=[my-site]&relation=delegate_permission/common.handle_all_urls

{
  "statements": [
    {
      "source": {
        "web": {
          "site": "https://my-host."
        }
      },
      "relation": "delegate_permission/common.handle_all_urls",
      "target": {
        "androidApp": {
          "packageName": "my-app-id",
          "certificate": {
            "sha256Fingerprint": "the-old-sha-256-fingerprint"
          }
        }
      }
    }
  ],
  "maxAge": "534347.929731888s",
  "debugString": "********************* ERRORS *********************\nNone!\n********************* INFO MESSAGES *********************\n* Info: The following statements were considered when processing the request:\n\n---\nSource: Web asset with site https://my-host. (which is equivalent to 'https://my-host')\nRelation: delegate_permission/common.handle_all_urls\nTarget: Android app asset with package name my-app-id and certificate fingerprint the-old-sha-256 \nWhere this statement came from:\n  Origin of the statement: Web asset with site https://my-host. (which is equivalent to 'https://my-host')\n  Include directives followed (in order):\n    \u003cNone\u003e\nMatches source query: Yes\nMatches relation query: Yes\nMatches target query: Yes\n\n--- End of statement list. ---\n\n\n"
}

The old-sha-256 отличается от SHA 256 в моих реальных assetlinks.json

PS my-app-id, my-host, [my-site] и т. Д. Являются местозаполнителями.

Итак... Как заставить Google читать мой текущий assetlinks.json вместо использования старой кэшированной версии?

0 ответов

  1. В вашем случае Google кэшировал ваш SHA256, и для обновления SHA256 потребуется не более восьми дней. Просто измените имя веб-сайта в URL-адресе, приведенном ниже, и вы увидите, что ключ SHA256 был кэширован.

https://digitalassetlinks.googleapis.com/v1/statements:list?source.web.site=https://www.your-website-name.com&relation=delegate_permission/common.handle_all_urls


Файл assetlinks.json также может быть кэширован сервисами Play на вашем устройстве, а также на серверах Google, поэтому их обновление может занять несколько дней после любых изменений, которые вы вносите на свои веб-серверы. А для совместного использования SmartLock chrome/app требуется, чтобы ваш APK был загружен из магазина приложений Google.

Другие вопросы по тегам