🙌
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