次の 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 -移行 https://developer.android.com/guide/app-bundle/instant-delivery
シンプルな Hello World インスタント アプリを実装しようとしています。多くのことを試しましたが、今すぐ試すボタンがプレイストアに表示されません。
私のアプリには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>
Instant-App モジュールの 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>
署名付きバンドルを生成し、試行ごとに内部テストでアップロードしましたが、機能しませんでした。私もprod環境で試しました。うまくいかない!
アプリモジュールとインスタントアプリモジュールの両方にapplicationId「com.test.myapp」を入れようとしました。android:targetSandboxVersion="2" と android:targetSandboxVersion="1" にしてみました。うまくいかない 。以下に示すように、アプリのバージョン コードがインスタント アプリのバージョン コードより大きくなっています。
clearTextTraffic を削除して追加しました。うまくいかない!
Instant App を有効にしたコードを本番環境に取り入れて、新しいアップグレードされた Instant App バージョンをアップロードするように言われた人もいました。私はそれをしました、それもうまくいきませんでした。
私は今思い出せない多くの組み合わせを試しました。しかし、今すぐ試すボタンは表示されません。見つからない欠落部分は何ですか?
Instant-App モジュールの最大サイズについては、次の 3 つの言い方があります。
- 4メガバイト
- 10メガバイト
- 15 mb ソース コードとドキュメントがあまりにも矛盾していて、github に動作するコードがないのはなぜですか? Play ストアで動作するサンプルが見られない場合、インスタント アプリは死んでいると思います。