🙌
Flutterでの Play Asset Delivery
はじめに
作成しているアプリのAppBudleをplayストアに上げようとした際に、「初期インストールのサイズは 150 MB 以下である必要があります。」 と表示されてしまいあげられませんでした。
調べたところ、Play Asset Deliveryを使えばいいとのことで、今回のアプリのAssetサイズは1GB以下であるため install-time を使用します。
Flutterでパッケージが公開されていたのでflutter_play_asset_delivery こちらを使います。
やったこと
上記ドキュメントとパッケージのexample通りに your_flutter_project/android/ ディレクトリ下にapp_asset_packディレクトリを作成(exampleで使われていた名前をそのまま採用)
さらにapp_asset_pack/下にbuild.gradleファイルを作成する
build.gradle
// In the asset pack’s build.gradle file:
apply plugin: 'com.android.asset-pack'
assetPack {
packName = "app_asset_pack" // Directory name for the asset pack
dynamicDelivery {
deliveryType = "install-time" // 今回は`install-time`を指定
}
}
そしたら次に プロジェクトのアプリyour_flutter_app/android/app/にあるbuild.gradleにassePacksを追加する
your_flutter_app/android/app/build.gradle
// In the app build.gradle file:
android {
...
assetPacks = [":app_asset_pack"]
}
最後にプロジェクトの直下your_flutter_app/android/にあるsettings.gradleにincludeを追加してandroid側のファイル操作は終了
settings.gradle
// In the settings.gradle file:
include ':app'
include ':app_asset_pack'
あとはapp_asset_pack/src/main/assets/にassetを置くだけでflutterから呼び出せる
// app_asset_pack/src/main/assets/flutter.png を作成した場合の例 (packageのexampleより
import 'package:flutter_play_asset_delivery/flutter_play_asset_delivery.dart';
...
image = FlutterPlayAssetDelivery.getAssetFile("flutter.png");
Discussion