9

我创建了一个即时应用程序。我把它上传到我的谷歌控制台,我得到了这个错误。

www.kochchy.cz 网站尚未通过数字资产链接协议链接到您的应用程序。使用 Digital Assets Link 链接应用程序站点。

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target": {
   "namespace": "android_app",
    "package_name": "com.kochchy.instantapptest.app",
    "sha256_cert_fingerprints":["A4:A6:74:15:F1:3E:38:3F:93:0F:EF:E3:A6:86:8E:7C:25:45:E8:80:5B:5E:35:70:49:20:DB:F8:CB:D4:FC:E0"]
  }
}] 

即时和可安装的 apk 都使用相同的 id:com.kochchy.instantapptest.app(每个都在自己的模块清单中定义)

我的基本模块清单如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.kochchy.instantapptest">

<uses-permission android:name="android.permission.INTERNET" />

<application
    android:allowBackup="true"
    android:icon="@mipmap/ic_launcher"
    android:label="@string/app_name"
    android:roundIcon="@mipmap/ic_launcher_round"
    android:theme="@style/AppTheme">

    <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:theme="@style/AppTheme.NoActionBar">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />

            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>

        <meta-data
            android:name="default-url"
            android:value="https://www.kochchy.cz" />

        <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" />
            <data android:scheme="http" />
            <data android:host="www.kochchy.cz" />
            <data android:pathPattern="/menu" />
        </intent-filter>
    </activity>
</application>
</manifest>

- - - 编辑 - - -

我从谷歌即时应用程序示例制作了新项目:https ://github.com/googlesamples/android-instant-apps/tree/master/hello

同样的谷歌控制台错误。我想我的网络设置有问题,而不是应用程序。

www.kochchy.cz 网站尚未通过数字资产链接协议链接到您的应用程序。使用 Digital Assets Link 链接应用程序站点。

4

7 回答 7

20

所以对我来说,也许这对某些人来说是显而易见的,是使用了错误的 sha 键。您需要做的是转到您的https://play.google.com/apps/publish/控制台

转到发布管理,然后转到应用程序签名页面。从那里复制 SHA256 密钥。

转到https://developers.google.com/digital-asset-links/tools/generator并在那里输入 sha 密钥、url 和包名。

将此文件上传到 https://example.com/.well-known/assetlinks.json

确保该文件位于正确的位置:名为.well-known.

发布您的免安装应用

于 2018-10-24T09:56:07.797 回答
3

在您的 json 文件中,字段package_name设置为com.kochchy.instantapptest.app

但是,您的 AndroidManifest.xml 中的包名称设置为com.kochchy.instantapptest

他们应该匹配。

编辑

您的结构看起来与 Google 推荐的结构大不相同。

您不必复制代码和资源。相反,创建第三个模块(我们称之为 base)作为基本功能模块,并将所有代码和资源移动到那里。确保它的 build.gradle 包含这些行:

apply plugin: 'com.android.feature'

android {
    baseFeature true
    ...
}

dependencies {
    application project(':app')
    ...
}

在您的应用程序的 build.gradle 中,确保您有以下几行:

apply plugin: 'com.android.application'
...
dependencies {
    implementation project(':base')
}

最后,在您的 Instantapp 的 build.gradle 中:

apply plugin: 'com.android.instantapp'
...
dependencies {
    implementation project(':base')
}

您可能需要进行进一步的更改,但这应该是一个好的开始。我强烈建议你看看这个页面,特别是“基本即时应用程序的结构”部分。

于 2017-06-12T17:40:20.450 回答
2
"package_name": "com.kochchy.instantapptest.app"

在这里,您的应用程序 ID 应该来自可安装应用程序,而不是即时应用程序清单

defaultConfig {
    applicationId "com.example.yourappid"
}
于 2017-06-13T12:54:39.320 回答
1

尝试按照以下步骤操作并验证生成的文件是否与您的相同:

工具 -> 应用链接助手 ->(单击按钮)打开数字资产链接文件生成器

完成所有操作后,单击生成数字资产链接文件

单击保存文件以下载它。

将assetlinks.json 文件上传到您的站点,每个人都可以读取,网址为https://www.exemple.com/.well-known/assetlinks.json

单击链接并验证以确认您已将正确的数字资产链接文件上传到正确的位置。

参考:https ://developer.android.com/studio/write/app-link-indexing.html#associatesite

于 2017-08-16T12:22:58.410 回答
1

sha256_cert_fingerprints 的问题。应用程序唱歌已启用,所以我从谷歌播放控制台复制了 sha 并将其放入 asserlink.json 文件中,它可以工作。

https://d5rwdr23d4fqx.cloudfront.net/.well-known/assetlinks.json

只有谷歌播放控制台给我这个错误

甚至 android studio 都说好的

好工具说好的

于 2018-01-21T11:16:39.010 回答
0

检查assetlinks.json。具有文件权限对公众可执行

默认情况下,它可能只对 public 可读。然后确保启用 google play app 签名是否使用 play 控制台中提供的 ssh 密钥。

于 2018-09-10T06:59:35.537 回答
0

就我而言,它是以下内容:https ://stackoverflow.com/a/44549183/8656558

如果您已正确完成其他所有操作并且正在拉扯头发,请考虑确保您添加到 Web 服务器的文件具有正确的编码(在我的情况下没有 BOM)。谢谢你,视觉工作室!:/

于 2018-10-05T20:02:10.597 回答