Androidアプリ( https://developers.google.com/analytics/devguides/collection/Android/v4/ )でのGoogleアナリティクスの設定に関するガイドに従うこのgoogle-services.jsonファイルをソースコードのバージョン管理に安全にコミットして公開GitHubリポジトリにプッシュできるかどうか、またはこのファイルに資格情報やシークレットが含まれている可能性があるかどうか疑問に思っています。
他の場所で明確な答えを見つけることはできませんが、サンプルアプリの両方がファイルをコミットしていることがわかります( https://github.com/google/climb-tracker/blob/master/mobile/google-services.json )などがファイルを.gitignoreに追加しました。
それは機密と見なされるべきです。生成されるjsonファイルには、プッシュ通知の送信に使用できるapi_key
が含まれています。
Google Developer Consoleの[認証情報]ページに移動すると、API keys
の下にリストされているjsonファイルにキーが表示されます。
this postから、このファイルを安全に保つ本当の理由はないようです。とにかくデータはAPKにあります。
はい。少なくともapi_key
stuffは秘密にしておく必要があります。
google-services.json
をパブリックリポジトリに入れて機密を保持する1つの方法は、 BlackBox を使用することです。
アプリレベルでbuild.gradle
コピータスクをたとえばdefaultConfig
に次のように配置します。
defaultConfig {
...
...
copy {
from "../secret/"
into "."
include "*.json"
}
}
これにより、ファイルがsecret/
フォルダーから適切な場所にコピーされます。
これで、アプリをビルドするには、初めてリポジトリをチェックアウトするときにblackbox_edit_start google-services.json.gpg
を実行する必要があります。その後は、問題ありません。