天道酬勤,学无止境

Android Instant App Play 商店错误(Android Instant App Play Store Errors)

问题

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

  • 您必须为免安装应用 APK 提供默认网址。 了解更多
  • 您的网站“www.example.com”尚未通过数字资产链接协议链接到您的应用。 请通过数字资产链接协议将您的网站链接到您的应用程序。
  • 您应该至少有一个通过网络“意图过滤器”映射到站点“www.example.com”的活动 APK。

这是我的清单文件:(已编辑

    <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 文件放到我的网站上,当我继续测试链接文件时,它成功了。 我做错了什么任何想法? 感谢您在高级方面的帮助

回答1

这是因为您指定的默认URL( https://www.example.com )不受意图过滤器在您的即时应用程序(支持https://www.example.com/product/productId )。

您需要更新默认 URL 以使其指向受支持的 URL,或者添加支持默认 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。 基于此文档。 要允许 Google Play 和 Android 启动器发现您的应用,您必须至少提供一个 Activity 作为应用的入口点。 在您应用的清单中,入口点活动必须有一个 <intent-filter> 元素,其中包含 CATEGORY_LAUNCHER 和 ACTION_MAIN 意图。

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

受限制的 HTML

  • 允许的HTML标签:<a href hreflang> <em> <strong> <cite> <blockquote cite> <code> <ul type> <ol start type> <li> <dl> <dt> <dd> <h2 id> <h3 id> <h4 id> <h5 id> <h6 id>
  • 自动断行和分段。
  • 网页和电子邮件地址自动转换为链接。

相关推荐
  • Android Studio Preview 3.0 - 运行即时应用程序时应用程序安装失败(Android Studio Preview 3.0 - Application installation failed when running instant app)
    问题 我是运行即时应用程序的新手。 根据 android 开发人员文档,我创建了一个具有即时应用程序支持的新“Hello World”项目。 但是,在运行“instantapp”时,会出现以下错误: 如果有人可以提供帮助,我将不胜感激。 回答1 注意:在包含 Google Play 商店的模拟器映像上运行 Instant Apps 存在一个已知问题,该问题将出现相同的错误。 现在,请使用没有 Play 商店的模拟器。 Google Play 服务提供statusCode=API_UNAVAILABLE意味着您的设备由于某种原因无法运行 Instant Apps。 例如,您没有使用受支持的设备或您不在启动的国家/地区。 请在此处查看支持的开发设备列表,在此处查看可使用 Instant Apps 的国家/地区列表。 模拟器应该仍然可以用于开发,并且可以不受任何限制地运行。 有关为 Instant App 开发设置模拟器的说明,请参见此处: https://developer.android.com/topic/instant-apps/getting-started/setup.html#setup-emulator
  • 以编程方式播放商店应用内结算自定义价格?(Play Store In-App Billing custom price programmatically?)
    问题 我的应用程序用于购买车票。 票价每次都不一样。 我可以使用 In-App Billing 让用户每次都支付自定义价格吗? 如果是这样怎么办? 即我可以设置用户必须以编程方式支付的价格吗? 回答1 您不能使用 Google Play 应用内结算让用户支付自定义价格。 此外,您不能使用 Google Play In-App Billing 来销售实物商品和服务,例如车票: 您可以使用应用内结算仅销售数字内容。 您不能使用应用内结算来销售实物商品、个人服务或任何需要实物交付的东西。 与定价应用程序不同,一旦用户购买了应用程序内产品,就没有退款窗口。 http://developer.android.com/google/play/billing/billing_overview.html 回答2 您不能使用 Google Play In-App Billing 以编程方式更改产品的价格。您可以在 Android 开发者控制台中修复价格。如果您仍然想在运行时自定义价格,您可以使用 PAYPAL : https://www.x.com/developers/paypal/products/mobile-overview 回答3 您的用例非常适合 Android 版 Google Wallet Instant Buy API。 适用于 Android 的 Google Wallet
  • Android Instant App - 完成关联未验证(Android Instant App - Complete the Association does not verified)
    问题 即使我将assetlinks.json文件上传到我的服务器,我也会出现此错误并且无法将我的功能 APK 上传到 Play 商店: 任何的想法? 回答1 发生的事情是,只要您将应用程序模块更改为 baseFeature 为 true 的功能模块,它就会被视为库。 这就是为什么您会遇到前 3 个错误。 刚刚再次制作了功能模块应用程序模块,您将开始看到 4 个正确的检查,而不是 1 个。 据我所知,解决这个问题的方法是在intent-filter中手动添加链接,不要使用Apps Links Assistant。 我做了同样的事情,并且能够在 Play 商店上传我的免安装应用程序。
  • 如何直接从我的Android应用程序打开Goog​​le Play商店?(How to open the Google Play Store directly from my Android application?)
    问题 我已使用以下代码打开了Google Play商店 Intent i = new Intent(android.content.Intent.ACTION_VIEW); i.setData(Uri.parse("https://play.google.com/store/apps/details?id=my packagename ")); startActivity(i);. 但是它向我显示了一个完整的操作视图,可以选择该选项(浏览器/播放存储)。 我需要直接在Play商店中打开该应用程序。 回答1 您可以使用market://前缀进行此操作。 爪哇 final String appPackageName = getPackageName(); // getPackageName() from Context or Activity object try { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse("market://details?id=" + appPackageName))); } catch (android.content.ActivityNotFoundException anfe) { startActivity(new Intent(Intent.ACTION_VIEW, Uri.parse
  • Android Instant App - Play Console release/deploy error and DAL(digital Asset Link) not linked
    I'm trying to figure out why the play store will not accept my instant app build. I have successfully deployed an Alpha regular app release to testers since it is a prerequisite to release an instant app. I am trying to deploy a development release instant app. What am I doing wrong? I tried to add as much detail as possible. Do I need to use the Digital Asset Link API service at the following link for a production instant app or is that for something else? https://console.developers.google.com/apis/api/digitalassetlinks.googleapis.com/overview I get the following error when uploading the
  • 当我尝试在设备上安装已编译的.apk时,INSTALL_FAILED_UPDATE_INCOMPATIBLE(INSTALL_FAILED_UPDATE_INCOMPATIBLE when I try to install compiled .apk on device)
    问题 我已经从CyanogenMod 9编译了Trebuchet启动器,并尝试使用adb安装它: $ adb install out/target/product/generic/system/app/Trebuchet.apk 3986 KB/s (7870141 bytes in 1.928s) pkg: /data/local/tmp/Trebuchet.apk Failure [INSTALL_FAILED_UPDATE_INCOMPATIBLE] 我尝试使用CM9的Nexus S和带有股票JB的Galaxy Nexus。 为什么我会收到此错误? 编辑:就我而言,我尝试使用软件包管理器重新安装系统软件包。 不支持该功能,因此出现此错误。 错误的来源可能因您而异。 回答1 这表示您要安装的应用程序已经安装。 只需删除旧的,然后再试一次。 回答2 尝试 adb uninstall package-name 这个对我有用。 我已经使用Titanium Backup删除了我的应用程序。 但是,我认为Titanium备份并没有完全删除我的应用程序。 回答3 卸载应用程序就可以避免此问题。 INSTALL_FAILED_UPDATE_INCOMPATIBLE 但有时甚至会再次出现卸载消息的情况,它在Android OS 5.0及更高版本中发生,因此这是解决方案: 转到Settings
  • How to include instant dynamic feature module in instant app?
    I have a project with these modules: app bookingfeature (instant enabled) map (not instant) app contains some common code and resources and a starting activity with some logic to route the app to the correct destination, based on whether it's running as instant or not. bookingfeature contains an activity and some fragments that I want to deploy with the instant app. map contains the rest of the app (work in progress to split this into more modules) Everything works fine if I deploy it like this in android studio: If I untick the box for bookingfeature obviously it won't work, because the
  • Android 即时发布版本不包含基础 APK(Android Instant-release build not includes base APK)
    问题 我们正准备通过“即时应用开发”渠道发布即时应用 apk 以用于测试目的。 当我们签署免安装应用程序(使用与安装的应用程序相同的密钥库)时,只在 zip 文件夹(instant-release.zip)中获得一个功能模块 apk,在上传到 Play 商店时出错,抱怨“您的免安装应用程序 APK 应至少包含一个基础APK” 无论如何,我们能够在即时调试版本下看到预期的结构 调试和发布版本之间的结构差异如下 即时调试.zip 你好调试.apk 基础调试.apk 再见调试.apk 即时发布.zip 你好-release.apk 并且不确定我们是否在 gradle 配置上犯了任何错误。 如果有人可以就此提出建议,这将非常有帮助? 回答1 使用 Android Studio 3.0 Preview 中的内置菜单对 Instant Apps 进行签名存在一些已知问题。 如果您在build.gradle文件中设置了signingConfigs ,然后从命令行或 Studio 中的 gradle 菜单(右侧的一个)运行gradle assembleRelease它应该可以工作。 应在您的每个功能模块中设置signingConfigs配置,以确保所有功能APKs都已签名。 以下是有关设置signingConfigs的一些信息: https://developer.android.com
  • Android Instant-release build not includes base APK
    We are preparing to publish instant app apks to play store via "Instant app development" channel for testing purpose. When we sign instant app (using same keystore used for Installed App), only geting one feature module apk inside zip folder(instant-release.zip) which giving error while uploading to Play Store by complaining "Your Instant App APKs should contain at least one base APK" Anyway we able to see the expected structure under instant-debug version Structure deference between debug and release version as below instant-debug.zip hello-debug.apk base-debug.apk bye-debug.apk instant
  • Android Instant App: showInstallPrompt's postInstallIntent does nothing?
    The app in the play store currently is configured to handle https://www.example.com/hello/in an intent filter to launch an activity and showInstallPrompt(...) is supposed to launch the activity once installation of the app is finished. https://developer.android.com/topic/instant-apps/reference.html#public_methods showInstallPrompt(...) Docs: Shows a dialog that allows the user to install the current instant app. This method is a no-op if the current running process is an installed app. You must provide a post-install intent, which the system uses to start the application after install is
  • Is it possible to discover and run third-party Android Instant Apps on an emulated device?
    I'm currently trying to learn about Android instant apps. Since I don't own any real devices that support them, I'm using the emulator (from Android Studio 3.0 Canary 9). I can successfully run "toy" instant apps (like this) on my emulated Nexus 5x (with Play Store), so I believe that my development environment is configured correctly. However, I was curious to learn about the discovery process for third-party apps, and find out what the user experience is like. Lacking a suitable device of my own, I used the emulated Chrome browser to search for sites (like Stack Exchange) that have instant
  • Instant app Internal test behavior
    I uploaded an instant app on internal test track and created a tester list with 3 testers. I send the opt-in URL to all testers and they accepted the inviation to be a tester. I uploaded assetlinks.json to my website (www.example.com) and added applinks to my instant app. Will the testers be able to see TRY NOW in play store for my instant app ? Can they access instant app through the URL www.example.com/test Also this is quoted in android developer site "To test your instant app's deployment on the internal testing track through Google Play, you must have a draft form of your app's
  • 安装未能完成会话...签名不一致 - Android(Installation failed to finalize session… Signatures are inconsistent - Android)
    问题 我正在尝试运行我的项目,但出现此错误: 安装失败并显示消息 Failed to finalize session : INSTALL_FAILED_INVALID_APK: /data/app/vmdl1841863905.tmp/11_app-debug 签名不一致。 可以通过卸载现有版本的 apk(如果存在)然后重新安装来解决此问题。 警告:卸载将删除应用程序数据! 您要卸载现有的应用程序吗? 如果我按是,几秒钟后它只会显示相同的错误。 我试图手动删除该应用程序,但该应用程序已从我的手机中删除。 回答1 当我尝试打开从另一个路径或位置移动的项目时,在 Android Studio 中通常会发生此错误,其他情况也可能导致此错误,对我有用的是: 菜单“构建” 运行“重建项目”。 然后在设备或模拟器上运行应用程序,错误消失。 我知道错误与此无关,但这就是为我修复它的原因,请尝试让我知道。 回答2 我也面临同样的问题。 可以解决。删除下面提到的目录并重新启动AndroidStudio。运行应用程序。 回答3 在 Android Studio 中禁用 Instant run,然后 Clean、Rebuild 和 Run,它应该可以解决这个问题。 回答4 解决方案:禁用即时运行 Android Studio > 首选项 > 构建、执行、部署 >
  • Google Play控制台错误-无法升级到已安装的应用(Google Play Console error - Non-upgradable to installed app)
    问题 我根据Google教程和示例开发了一个即时应用apk。 当我尝试开始将产品投入生产时,我看到一个错误:无法升级到已安装的应用程序 问题 此即时应用APK的某些用户将无法使用已安装应用中的任何APK。 解析度 确保您的Instant App APK的定位与您的APK的定位匹配。 项目结构:有两种方案,第一种: base-baseFeature,minSdk 18,targetSdk 26 application project(':apk') feature project(':item-details') 项目详细信息功能-minSdk 18,targetSdk 26 api project(':base') ui-功能未包含在即时模块,minSdk 18,targetSdk 26,模块中,包含所有视图 implementation project(':base') other modules like customcomponents, shared etc Instant-即时应用模块minSdk 18或23,targetSdk 26 implementation project(':base') implementation project(':item-details') apk-apk模块,minSdk 18,targetSdk 26 implementation
  • Instant Apps with NFC
    I'm trying to get an instant app to be opened via NFC. I have something like the below in my AndroidManifest.xml <intent-filter android:autoVerify="true"> <action android:name="android.intent.action.VIEW" /> <action android:name="android.nfc.action.NDEF_DISCOVERED" /> <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="example-refresh.herokuapp.com" /> </intent-filter> When going to https://example-refresh.herokuapp.com (example link obviously
  • Instant app with Dynamic Features always show Disambiguation dialog with 1 option
    I'm experimenting with Dynamic Features and Instant Apps. To navigate between various features, I use Deep Links. Each time I navigate to another Activity, I see the disambiguation dialog for less than 1 second, with 1 app listed. Notice how the options for "Once" and "Always" (in dutch) are greyed out. Sample Github Project I created a minimalistic sample, that matches my current structure on Github. Requires Android Studio 3.5 - RC2 Some Context: I'm quite confident, the deeplinks are configured correct. But since you guys want to check that anyway, here's the configuration: 1 - Manifest:
  • Google Wallet for Digital Goods API 与 Google Play 应用内结算(Google Wallet for Digital Goods API vs Google Play In-app Billing)
    问题 想知道 Google Wallet Billing API 和 Google Play 应用内结算有什么区别。 使用 GooglePlay 应用内购买结算服务与 Google 电子钱包结算 API 相比有什么优势? 我看到 Wallet API 也支持 Android,那么使用 Goole Play IAP 应用程序有什么意义呢? 我正在为应用程序中的数字商品购买实施跨平台解决方案。 我的问题是什么 Wallet API 不通过 Google Play IAP 服务提供? 回答1 有多个 Google Wallet API,它们具有不同的适用性。 以下内容可能对您有所帮助。 Google Play In-App-Billing - 用于从原生 Android 应用程序购买任何数字商品。 http://developer.android.com/google/play/billing/index.html Google Wallet Digital Goods API - 用于从 Web Apps 购买的任何数字商品。 https://developers.google.com/commerce/wallet/digital/ Google Wallet Instant Buy API for Web - 用于从 Web Apps 购买实物或数字商品 -
  • Google Play Console error - Non-upgradable to installed app
    I developed an instant app apk basing on google tutorials and samples. When I'm trying to start rollout to production, I see one error: Non-upgradable to installed app PROBLEM Some users of this Instant App APKs will not be eligible for any of the APKs in your installed app. RESOLUTION Ensure that the targeting of your Instant App APKs matches the targeting of your APKs. Project structure: There are two scenarios, 1st: base - baseFeature, minSdk 18, targetSdk 26 application project(':apk') feature project(':item-details') item-details feature - minSdk 18, targetSdk 26 api project(':base') ui -
  • Start instant app from another installable App
    I need to start an Instant App from another installable app I own. The idea is really this, a sync app that starts other instant apps. I've already posted my instant app on google play and it's working through the tests I've done here. My deeplink configured is: https://puzzleinstantapp.firebaseapp.com/main My Assetlinks.json: https://puzzleinstantapp.firebaseapp.com/.well-known/assetlinks.json Instant app package name: com.lapic.thomas.puzzle I tried to run it as follows: Intent intent = new Intent(Intent.ACTION_VIEW, Uri.parse("https://puzzleinstantapp.firebaseapp.com/main")); intent
  • Android 应用程序首次启动需要更多时间,甚至 30 秒以上(Android app launch first time launch is taking more time even some time 30 sec and more)
    问题 以下是第一次安装应用程序时的日志: 05-12 13:16:23.632 28250-28250/com.app.projectName W/System: ClassLoader 引用未知路径:/data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.041 28250-28250/com.app.projectName W/System:ClassLoader 引用了未知路径:/data/app/com.app.projectName-1/lib/arm 05-12 13:16:59.073 28250-28250/com.app。 projectName I/MultiDex:2.1.0 版的 VM 支持 multidex 05-12 13:16:59.073 28250-28250/com.app.projectName I/MultiDex:安装 05-12 13:16:59.073 28250-28250 app.projectName I/MultiDex:VM 有 multidex 支持,MultiDex 支持库被禁用。 我在我的项目中使用MultiDex库,它将在棒棒糖预装设备下完全运行。这种延迟在棒棒糖设备中在 30 秒到 90 秒第一次启动应用程序之间变化。 看看是不是因为MultiDex吧?