您应该至少有一个活动的APK通过网络'intent-filter'映射到网站'sample.com'

时间:2017-12-20 15:32:51

标签: android android-instant-apps

尝试上传即时应用程序,但收到此错误

  

您应该至少有一个活动的APK通过网络'intent-filter'映射到网站'sample.com'。

<activity
    android:name=".ui.InstantSplash"
    android:screenOrientation="portrait"
    android:theme="@style/splashScreenTheme">

    <meta-data
        android:name="default-url"
        android:value="https://sample.com/base-app/salt_one" />

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

    <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="http" />
        <data android:host="sample.com" />
        <data android:pathPrefix="/base-app" />
        <data android:scheme="https" />
    </intent-filter>
</activity>

4 个答案:

答案 0 :(得分:5)

使用相同的主机网页&#39; intent-filter&#39;在alpha,beta或生产中上传可安装的APK。

答案 1 :(得分:0)

您正在使用方案和主机定义Intent过滤器:

<data android:scheme="http" />
<data android:host="sample.com" />

因此您必须使用

访问您的深层链接
http://sample.com

但此域必须是有效域,并且此域必须属于您的媒体资源,因为您需要添加assetlinks.json

  

网站www.example.com发布声明列表   https://www.example.com/.well-known/assetlinks.json。这是   网站上的声明列表的正式名称和位置;声明   任何其他位置或任何其他名称的列表均无效   这个网站。在我们的示例中,语句列表由一个组成   声明,授予其Android应用程序打开链接的权限   它的网站:

[{
  "relation": ["delegate_permission/common.handle_all_urls"],
  "target" : { "namespace": "android_app", "package_name": "com.example.app",
               "sha256_cert_fingerprints": ["hash_of_app_certificate"] }
}]

了解更多信息:

https://developers.google.com/digital-asset-links/v1/getting-started#quick-usage-example

答案 2 :(得分:0)

即时应用不支持HTTP。您的default-url应为HTTPS

<meta-data
        android:name="default-url"
        android:value="https://sample.com/base-app/salt_one" />

答案 3 :(得分:0)

您的应用还必须为您的应用定义 默认网址 在与 入口点活动 相同的Android清单 中,您定义通过添加具有值属性的元素来为您的应用添加 默认网址 ,该元素提供有效的 HTTPS 网址活动可以处理。此外,此默认网址还必须是已安装应用中 CATEGORY_LAUNCHER 活动的意图过滤器的一部分。

以下代码段显示了Android清单,该清单定义了即时应用的入口点活动和默认网址。

<activity
  android:name=".MainActivity">
    <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:scheme="http" />
      <data android:scheme="https" />
      <data android:host="example.com" />
    </intent-filter>
    <meta-data
      android:name="default-url"
      android:value="https://www.example.com/index.html" />
</activity>

即时应用不支持HTTP。您的默认网址应为HTTPS

有关详细信息,请查看android AIA documentation

错误消息有一些不合适的字符串,您是否可以使用 相同的HOST网络'意图确保修复可安装的APK in alpha,beta或production过滤