Google Workspace (前G Suite) 、Firebase、Flutterを使ってiOS/Android appをリリースするまでにやるべき手順
この記事は下書きです
続きを希望される場合は、コメントを残してください。著者のやる気が出ます。
Flutterを使ってmobile appを開発し、そのappでFirebaseを使ってユーザの認証をする場合、あらゆる設定が必要になります。
この記事では、Flutterを使ってAndroid/iOSを開発し、そのappでユーザの認証をFirebaseを使って実装する際に必要になる事柄を一通り手順を追って解説します。
自分のドメインを登録する
- 必須ではないが、自分のドメインを使うとGCPにおいて組織構造が利用できる
- Google Workspaceで自分のドメインが確認しやすい方法でドメインを取得する
Google Workspaceにサインアップし、設定する
- これそのものは無料
- ユーザが利用できるサービスを制限
- 2faを必須にする (smsや電話による手段を除く)
- Google Groups for Businessの設定 (誰がグループを作成できるか、外部からのメールによるpostを許可するかなど)
Google Workspaceでユーザを作成する
- super admin、普段利用するユーザ、テストユーザを作成する
GCPにおける組織構造を考える
- 最初から大規模には考えなくて良い
- 最初はorg resourceにprod/devプロジェクトがぶら下がるだけで十分
- 将来的には、prod/dev/stagingフォルダーもあり
Firebaseのプロジェクトを作成する
- GCPでプロジェクトを作成せずに、Firebaseで作成する
- org resource配下にプロジェクトを作成する
作成されたOAuth clientを制限する
- デフォルトでは制限がなしの状態
- Android/iOSのapp IDで制限
- それらのOAuth clientがどのAPIを使用できるかも制限
Flutterでflavorを設定する
- google service jsonを環境ごとに変えるなど、prod/dev向けにflavorがあるととても楽
privacy policyを制定する
- Google OAuthをexternal userに向けて使用する場合は必須
- App Store/Play Storeでも必要な場合がある
- Overcastのprivacy policyは非常に参考になる
App Storeでappを登録する
- app icon、スクリーンショット、説明文など用意
- test flightの設定
Play Storeでappを登録する
- app icon、スクリーンショット、説明文など用意
- internal testのリリースを作成する (appがダウンロードできるまでの遅延がある)
結論
- とても面倒で大変