見出し画像

Firebase Remote Configを使ってアプリバージョンアップを実装する

Firebase Remote configは非常に便利でリモートから簡単に設定を変更することができます。

FirebaseのA/Bテストも有効でFirebase でA/Bテストをすると、リモートから設定を変更してさらにデータもとれるという優れものです。


今回はそれを使った、Remote Configでアプリのバージョンアップのダイアログを出す実装します。


準備

まずは下記のパッケージを導入します。


pubspec.ymlを編集します。

dependencies:
  flutter:
    sdk: flutter
  flutter_localizations:
    sdk: flutter

  firebase_remote_config: ^0.0.6+1

編集したら、下記のコマンドを実行

flutter packages get


実装


まずはFirebaseコンソールから、Remote configを設定

ios_app_versionっていうキー名が現在のアプリのバージョンです。このバージョンと異なってる場合はアップデートダイアログを出すという実装になります。


実際の実装は下記

  _checkAppVersion() async {
    final RemoteConfig remoteConfig = await RemoteConfig.instance;

    MethodChannel platform =
        const MethodChannel(MethodChannelString.appVersion);

    String appVersion;
    try {
      appVersion = await platform.invokeMethod("getAppVersion");
    } on PlatformException catch (e) {
      return;
    }

    if (Platform.isIOS) {
      try {
        final defaults = <String, dynamic>{'ios_app_version': appVersion};
        await remoteConfig.setDefaults(defaults);

        await remoteConfig.fetch();
        await remoteConfig.activateFetched();

        if (appVersion != remoteConfig.getString('ios_app_version')) {
          _showIosUpdateAppDialog();
        }
      } catch (e) {
        print(e.toString());
      }
    }
  }

この実装ではiOSしかやってないですが、Androidでも別のダイアログを出しましょう。

以上です。

投げ銭はいりません。それより無料でできる拡散をしてください!! 感想をツイートしていただけることが一番嬉しいです!!