【问题标题】:Android Instant App Play Store ErrorsAndroid Instant App Play 商店错误
【发布时间】:2017-11-21 14:03:57
【问题描述】:

每当我将我的基础和功能 APK 上传到 Play 商店时,我都会收到以下错误:

  • 您必须为您的免安装应用 APK 提供默认 URL。了解详情
  • 您的网站“www.example.com”尚未通过数字链接 资产链接协议到您的应用程序。请通过以下链接链接您的网站 数字资产链接协议到您的应用。
  • 您应该至少有一个映射到站点的活动 APK 通过网络“intent-filter”访问“www.example.com”。

这是我的清单文件:(EDITED)

    <manifest xmlns:android="http://schemas.android.com/apk/res/android"
        package="com.ex.example.feature.productdetail">

      <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE"/>
      <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
      <uses-permission android:name="android.permission.INTERNET"/>
      <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION"/>
      <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION"/>
      <uses-permission android:name="android.permission.WAKE_LOCK"/>


      <application>

    <activity
        android:name=".activity.ProductDetail"
        android:configChanges="orientation|screenSize"
        android:screenOrientation="portrait">
      <meta-data
          android:name="default-url"
          android:value="https://www.example.com/product/12345" />

      <meta-data android:name="asset_statements" android:resource="@string/asset_statements"/>

      <intent-filter
          android:autoVerify="true"
          android:order="1"
          >
        <category android:name="android.intent.category.VIEW"/>
        <category android:name="android.intent.category.DEFAULT"/>
        <category android:name="android.intent.category.BROWSABLE"/>

        <data android:scheme="http" android:host="www.example.com"/>
        <data android:scheme="https" android:host="www.example.com"/>
        <data android:pathPattern="/product/12345"/>
      </intent-filter>

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

    </activity>

    <meta-data
        android:name="com.facebook.sdk.ApplicationId"
        android:value="@string/facebook_app_id"/>
  </application>
    </manifest>

我将assetlinks.json 文件放到我的网站上,当我继续测试链接文件时,它会成功。 我在做什么错任何想法? 感谢您在高级方面的帮助

【问题讨论】:

    标签: android google-play-services android-instant-apps rollout digital-assets-links


    【解决方案1】:

    这是因为您的 Instant App (https://www.example.com/product/productId) 中的意图过滤器不支持您指定的默认 URL (https://www.example.com)。

    您要么需要更新默认 URL,使其指向受支持的 URL,要么添加一个支持默认 URL 的新意图过滤器。

    【讨论】:

    • 我将我的默认网址更新为example.com/product/12345,但在 Play 管理中心仍然出现同样的错误 :(
    • 你能看看我编辑的清单文件有问题吗?还是我做错了什么? @AdamK
    • 尝试在您的意图过滤器中组合 标签并为 pathPattern 使用通配符(或使用不带通配符的 pathPrefix),例如:&lt;data android:scheme="https" android:host="www.example.com" android:pathPattern="/product/.*" /&gt;
    • 嘿,我发布的应用程序在我的入口点中不包含默认 url。错误2和3与此有关吗? @AdamK
    • 是的,您的免安装应用 URL 必须是可安装应用支持的 URL 的子集。因此,可安装应用清单和免安装应用清单中的 Intent 过滤器必须支持默认 URL。
    【解决方案2】:

    你必须在清单中指定你的域的主机,你不能使用 www.example.com

    > <data android:scheme="http" android:host="www.yuorwebsite.com"/>
    > <data android:scheme="https" android:host="www.yuorwebsite.com"/>
    

    ,也在意图之前 - 清单中的过滤器,指定

    <meta-data
     Android: name = "default-url"
     Android: value = "https://yourwebsite.com/main" />
    

    【讨论】:

    • 只是在这里,我正在那里写我的网站域。
    【解决方案3】:

    我同意@KitKat 和 AdamK。基于此documentation。要允许 Google Play 和 Android 启动器发现您的应用,您必须提供至少一个 Activity 作为应用的入口点。在应用的清单中,入口点 Activity 必须有一个 &lt;intent-filter&gt; 元素,其中包含 CATEGORY_LAUNCHERACTION_MAIN 意图。

    您的应用还必须为您的应用定义一个默认 URL。在与您的入口点活动相同的 Android 清单中,您可以通过添加一个带有 value 属性的 &lt;meta-data&gt; 元素来定义应用程序的默认 URL,该属性提供活动可以处理的有效 HTTPS URL。此外,此默认 url 还必须是已安装应用中 CATEGORY_LAUNCHER 活动的意图过滤器的一部分。

    【讨论】:

    • 你能看看我编辑的清单文件有问题吗?还是我做错了什么? @abielita
    猜你喜欢
    • 1970-01-01
    • 1970-01-01
    • 2021-03-28
    • 1970-01-01
    • 2021-03-08
    • 2015-07-21
    • 2021-09-11
    • 2013-06-28
    • 2018-08-04
    相关资源
    最近更新 更多