アプリには複数のフレーバーがあります。このサーバー側の設定方法は?私のパッケージ名は次のとおりです。
com.example.app
(プロダクション)com.example.app.staging
(演出) com.example.app.fake
(偽物)
これは、firebaseコンソールの3つの個別のプロジェクトですか?
主に、プロジェクトの動作方法に依存します。同じコンソールで3つすべてをセットアップすることも、2つ以上の異なるプロジェクトとしてセットアップすることもできます。どちらのオプションも有効です。
同じプロジェクトの利点:
さまざまなプロジェクトの利点:
複数のプロジェクトを使用している場合、 build types サポートを利用して、異なるgoogle-services.json
さまざまなバージョンのファイル。 1つのプロジェクトを使用する場合、同じgoogle-services.json
はすべての種類で機能します。
注:CodyMaceがコメントで述べているように、アプリを追加するたびにJSONファイルを再ダウンロードすることを忘れないでください!
どちらの場合でもリスクを最小限に抑えるためにできることはあります(たとえば、データベースにdev/stage/prod /キーがあり、その下に同様の構造があります)。
始めたばかりの場合は、開発中に1つのプロジェクトから始めることをお勧めします。起動したら、開発環境を別のプロジェクトに移行することを検討してください。ステージングはどちらの方法でも可能です。
注:まだこれを完全には試していませんが、到達するまで失わないようにここに文書化します。
実際には、すべてのフレーバーとビルドタイプに対応するfirebaseプロジェクトを強制するgradleプラグインを使用する必要はありません。
これはあまり文書化されていませんが、 FirebaseApp および https://firebase.google.com/docs/configure/ のドキュメントの上部にヒントを見つけることができます=
または、initializeApp(Context、FirebaseOptions)は、デフォルトのアプリインスタンスを初期化します。このメソッドは、アプリケーションから呼び出す必要があります。これは、アプリケーションのメインプロセスの外部で使用される場合にも必要です。
したがって、google-services.json
通常どおり、それからmobilesdk_app_id
およびcurrent_key
(下 api_key
)、少なくともGoogleアナリティクスのトラッキングに必要なものはこれだけです。その情報を使用して、必要なバリアントのアプリのApplication
サブクラスで次を実行します。
FirebaseOptions options = new FirebaseOptions.Builder()
.setApplicationId("<mobilesdk_app_id>")
.setApiKey("<current_key>")
.build();
FirebaseApp.initializeApp(this, options);