今回はFlutterにFirebaseのRemoteConfigを導入してみたいと思います。
筆者も実装に手間取りましたが、無事に導入できたのでその方法を紹介します。
ステップは以下の通りです。
Flutterアプリに、FirebaseのRemoteConfigを導入したいが、方法がよくわからない。
今回はFlutterにFirebaseのRemoteConfigを導入してみたいと思います。
筆者も実装に手間取りましたが、無事に導入できたのでその方法を紹介します。
ステップは以下の通りです。
最後までご覧いただき、参考にしていただけると幸いです。
スポンサーリンク
RemoteConfigは、アプリケーションの設定や機能をリモートから動的に変更できるサービスです。アプリを再度ビルド・リリースすることなく、特定の条件に基づいてアプリの動作を変えることが可能になります。
スポンサーリンク
先日、初めてiOSアプリのリリースをしましたが、かなり未完成な状態でのリリースとなりました。
アップデートを重ねる中でGoogle Analyticsを導入しましたが、もしユーザーがアプリをアップデートしなければ、Google Analyticsを導入した意味が全くなくなってしまいます。
「では、アップデートするようにダイアログを表示すればいいのでは?」と思いましたが、ここで問題が発生しました。
「どうやってダイアログを出すのか?」という点です。
そこで活躍するのがRemoteConfigです。Firebaseのコンソールで少し設定を変更するだけで、アップデートを必要とせずにメンテナンスモードや強制アップデートのダイアログを表示することができます。
スポンサーリンク
今回は例として、メンテナンスモードにした際に「現在メンテナンス中です」というダイアログを表示する方法を紹介します。
この方法を応用して、強制アップデート機能も実装できるので、ぜひ参考にしてください。
以下の記事を参考にして、Firebaseのプロジェクト作成と、Flutterへの導入を完了させてください。なお、Google Analyticsの導入はRemoteConfigには直接影響しませんが、併せて導入することをおすすめします。
Firebaseコンソールのサイドメニューから「RemoteConfig」を開き、ドロップダウンを「クライアント」に設定します。次に、以下のパラメータを追加します。
FlutterプロジェクトにRemoteConfigの依存関係を追加します。
flutter pub add firebase_core firebase_remote_config
「main.dart」に以下のようなロジック(例)を記述します。
import 'package:firebase_core/firebase_core.dart';
import 'package:firebase_remote_config/firebase_remote_config.dart';
void main() async {
WidgetsFlutterBinding.ensureInitialized();
await Firebase.initializeApp();
final FirebaseRemoteConfig remoteConfig = FirebaseRemoteConfig.instance;
await remoteConfig.setConfigSettings(RemoteConfigSettings(
fetchTimeout: const Duration(seconds: 10),
minimumFetchInterval: Duration.zero,
));
await remoteConfig.setDefaults(<String, dynamic>{
"maintenance": false,
});
await remoteConfig.fetchAndActivate();
var maintenanceMode = remoteConfig.getBool("maintenance");
if (maintenanceMode) {
runApp(MaintenanceModeApp());
} else {
runApp(MyApp());
}
}
class MaintenanceModeApp extends StatelessWidget {
//
}
class MyApp extends StatelessWidget {
//
}
これを組み込むことで、RemoteConfigの導入は完了です。Firebaseコンソールで設定した「maintenance」のブール値を「false」にすると通常のアプリウィジェットが表示され、「true」に設定するとメンテナンスウィジェットが表示されます。
強制アップデートのダイアログを表示する場合、Remote Configで以下のパラメータを設定します。
メンテナンスモードと同様に、Remote Configから値を取得し、「package_info」 パッケージを利用して、Firebase上で設定したバージョン(Default value)とインストールされているアプリのバージョンを比較し、バージョンが古い場合にダイアログを表示するロジックを実装すれば良いです。
スポンサーリンク
ここまで、FirebaseのRemoteConfigの実装方法について紹介しました。
一見、難しそうに思える機能ですが、手順を押さえれば問題なく導入できます。Firebaseコンソールでの設定が完了すれば、あとは 「main.dart」 で完結するため、不明点があれば「ChatGPT」に聞けば解決すると思います。
ぜひ、この機能を実装してみてください。
ここまでお読みいただき、ありがとうございました。
スポンサーリンク
スポンサーリンク
スポンサーリンク
スポンサーリンク