即时应用程序,“立即试用”按钮不会出现在 Play 商店中
Instant app, Try Now button does not appear in play store
我从以下 github 项目开始,但这些示例无法正常工作。我按照文档中的说明添加了缺失的部分。
https://github.com/android/app-bundle-samples/tree/main/InstantApps/urlless
https://github.com/googlecodelabs/android-dynamic-features
这是我阅读的文档。
https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle
https://developer.android.com/topic/google-play-instant/feature-module-migration
https://developer.android.com/guide/app-bundle/instant-delivery
我尝试实现一个简单的 hello world 即时应用程序。我尝试了很多东西,但现在尝试按钮从未出现在 Play 商店中。
我的应用程序包含 2 个模块:
- 应用程序
- 即时应用程序
build.gradle 应用模块:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 30
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
versionCode 61
versionName "61"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dynamicFeatures = [':instantapp']
}
dependencies {
...
implementation "com.google.android.gms:play-services-instantapps:17.0.0"
implementation "com.google.android.play:core:1.9.0"
...
}
我的免安装应用模块 build.gradle
plugins {
id 'com.android.dynamic-feature'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.test.myapp"
minSdkVersion 21
targetSdkVersion 30
versionCode 3
versionName "1.2"
}
}
dependencies {
implementation "com.google.android.play:core:1.9.0"
}
AndroidManifest.xml 我的应用模块
<?xml version="1.0" encoding="utf-8"?>
<manifest >
<dist:module dist:instant="true" />
...
</manifest>
我的免安装应用模块 AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="com.test.instantapp"
android:targetSandboxVersion="2">
<dist:module dist:instant="true" dist:onDemand="false"
dist:title="Instant app title">
<dist:fusing dist:include="true" />
</dist:module>
<application android:usesCleartextTraffic="false">
<activity android:name=".InstantMainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我生成了一个签名包,并在我每次尝试的内部测试中上传它,但它没有用。我也在生产环境中尝试过。不工作!
我尝试将 applicationId“com.test.myapp”同时放入应用程序模块和免安装应用程序模块中。我试图让 android:targetSandboxVersion="2" 和 android:targetSandboxVersion="1"。不行
.
我的应用程序的版本代码大于我的即时应用程序的版本代码,如下所示。
我删除了 clearTextTraffic 并添加了。不工作!
有人说我要将启用即时应用程序的代码投入生产并上传新升级的即时应用程序版本。我做了,也没用
我尝试了很多组合,但我现在不记得了。但是现在尝试按钮永远不会出现。我找不到缺少的部分是什么?
免安装应用模块的最大尺寸有 3 种不同的说法:
- 4 mb
- 10 mb
- 15 兆字节
为什么源代码和文档冲突太多, github 中没有工作代码?如果我没有在 Play 商店中看到工作样本,我会认为即时应用程序已经死了。
打开 Play 商店 -> select 应用 -> 打开高级设置 -> 添加发布类型免安装应用
然后从仅限免安装应用选项上传您的免安装应用:
我从以下 github 项目开始,但这些示例无法正常工作。我按照文档中的说明添加了缺失的部分。 https://github.com/android/app-bundle-samples/tree/main/InstantApps/urlless https://github.com/googlecodelabs/android-dynamic-features
这是我阅读的文档。 https://developer.android.com/topic/google-play-instant/getting-started/instant-enabled-app-bundle https://developer.android.com/topic/google-play-instant/feature-module-migration https://developer.android.com/guide/app-bundle/instant-delivery
我尝试实现一个简单的 hello world 即时应用程序。我尝试了很多东西,但现在尝试按钮从未出现在 Play 商店中。
我的应用程序包含 2 个模块:
- 应用程序
- 即时应用程序
build.gradle 应用模块:
apply plugin: 'com.android.application'
apply plugin: 'com.google.gms.google-services'
android {
compileSdkVersion 30
defaultConfig {
minSdkVersion 21
targetSdkVersion 30
versionCode 61
versionName "61"
multiDexEnabled true
}
buildTypes {
release {
minifyEnabled true
shrinkResources false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
debug {
debuggable true
minifyEnabled false
proguardFiles getDefaultProguardFile('proguard-android.txt'), 'proguard-rules.pro'
}
}
dynamicFeatures = [':instantapp']
}
dependencies {
...
implementation "com.google.android.gms:play-services-instantapps:17.0.0"
implementation "com.google.android.play:core:1.9.0"
...
}
我的免安装应用模块 build.gradle
plugins {
id 'com.android.dynamic-feature'
}
android {
compileSdkVersion 30
buildToolsVersion "30.0.2"
defaultConfig {
applicationId "com.test.myapp"
minSdkVersion 21
targetSdkVersion 30
versionCode 3
versionName "1.2"
}
}
dependencies {
implementation "com.google.android.play:core:1.9.0"
}
AndroidManifest.xml 我的应用模块
<?xml version="1.0" encoding="utf-8"?>
<manifest >
<dist:module dist:instant="true" />
...
</manifest>
我的免安装应用模块 AndroidManifest.xml
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:dist="http://schemas.android.com/apk/distribution"
package="com.test.instantapp"
android:targetSandboxVersion="2">
<dist:module dist:instant="true" dist:onDemand="false"
dist:title="Instant app title">
<dist:fusing dist:include="true" />
</dist:module>
<application android:usesCleartextTraffic="false">
<activity android:name=".InstantMainActivity">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
</application>
</manifest>
我生成了一个签名包,并在我每次尝试的内部测试中上传它,但它没有用。我也在生产环境中尝试过。不工作!
我尝试将 applicationId“com.test.myapp”同时放入应用程序模块和免安装应用程序模块中。我试图让 android:targetSandboxVersion="2" 和 android:targetSandboxVersion="1"。不行 . 我的应用程序的版本代码大于我的即时应用程序的版本代码,如下所示。
我删除了 clearTextTraffic 并添加了。不工作!
有人说我要将启用即时应用程序的代码投入生产并上传新升级的即时应用程序版本。我做了,也没用
我尝试了很多组合,但我现在不记得了。但是现在尝试按钮永远不会出现。我找不到缺少的部分是什么?
免安装应用模块的最大尺寸有 3 种不同的说法:
- 4 mb
- 10 mb
- 15 兆字节 为什么源代码和文档冲突太多, github 中没有工作代码?如果我没有在 Play 商店中看到工作样本,我会认为即时应用程序已经死了。
打开 Play 商店 -> select 应用 -> 打开高级设置 -> 添加发布类型免安装应用
然后从仅限免安装应用选项上传您的免安装应用: