Google Developersページのガイドに従って、新しいGoogle Cloud Messagingを実装しています。ここ
正常に実行してテストしました。しかし、現在の問題は、異なる applicationId/packageName と異なる Google Cloud Messaging プロジェクト ID を持つ異なる製品フレーバーがあることです。これらは、フレーバー フォルダーgoogle-services.json
ではなく、に配置する必要があります。/app/google-services.json
google-services.json
多くのフレーバーごとに異なる設定を行う方法はありますか?
ベストアンサー1
GoogleはPlay Servicesプラグインのバージョン2.0でフレーバーのサポートを追加しました。gradle plugin com.google.gms:google-services:2.0.0-alpha3
あなたはこれを行うことができます
ステップ1: Gradleに追加
// To auto-generate google map api key of google-services.json
implementation 'com.google.android.gms:play-services-maps:17.0.0'
ステップ2: AndroidManifest.xmlのアプリケーションタグに追加する
<meta-data
android:name="com.google.android.geo.API_KEY"
android:value="@string/google_api_key" />
ステップ3: Firebaseから各フレーバーのJSONファイルをダウンロードして追加します
app/src/
flavor1/google-services.json
flavor2/google-services.json
プラグインのバージョン 3.0.0 は、次の場所で JSON ファイルを検索します ( flavor
flavor1 とビルド タイプがあることを前提としていますdebug
)。
/app/src/debug/google-services.json
/app/src/debug/flavor1/google-services.json
/app/google-services.json
これは、flavorDimensions を使用しても機能しました。1 つのディメンションに無料と有料があり、もう 1 つのディメンションに Mock と Prod があります。また、3 つのビルド タイプ (デバッグ、リリース、ステージング) があります。FreeProd フレーバーのプロジェクトでは、次のようになります。
google-services.json ファイルの数はプロジェクトの特性によって異なりますが、Google プロジェクトごとに少なくとも 1 つの JSON ファイルが必要になります。
このプラグインがこれらの JSON ファイルで何を行うかについてさらに詳しく知りたい場合は、以下をご覧ください。https://github.com/googlesamples/google-services/issues/54#issuecomment-165824720
公式ドキュメントへのリンク:https://developers.google.com/android/guides/google-services-plugin
更新された情報を含むブログ投稿:https://firebase.googleblog.com/2016/08/organizing-your-firebase-enabled-android-app-builds.html
このプラグインの最新バージョンを確認するには、ここをクリックしてください:https://mvnrepository.com/artifact/com.google.gms/google-services?repo=google