さまざまな productFlavors の google-services.json 質問する

さまざまな productFlavors の google-services.json 質問する

アップデート: グローバルCMは非推奨です。FCM

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 ファイルを検索します ( flavorflavor1 とビルド タイプがあることを前提としています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

おすすめ記事