google-services.json机密吗?

kra*_*sen 24 android google-analytics google-play-services google-analytics-firebase

按照在Android应用中设置Google Analytics的指南(https://developers.google.com/analytics/devguides/collection/android/v4/),我想知道是否可以安全地提交此google-services.json文件进入源代码版本控制并推送到公共GitHub存储库或此文件可能包含凭据或机密.

我在其他地方找不到明确的答案,但我可以看到示例应用程序都提交了文件(https://github.com/google/climb-tracker/blob/master/mobile/google-services.json),其他人已添加该文件到他们的.gitignore.

Yar*_*ron 12

这篇文章看来似乎没有真正的理由保持这个文件的安全.无论如何,它的数据将在APK中.

  • 我同意这个说法,但有一点需要考虑。例如,在发布到 GitHub 时,请确保以任何一种方式删除该文件。如果有人分叉您的存储库,例如他们的崩溃报告将显示在您的 Firebase 中。如果他们是恶意的,他们会以任何方式获取此文件,但这可以防止意外使用并保持您的日志干净。 (2认同)

小智 7

它应该被视为机密.生成的json文件包含api_key可用于发送推送通知的文件.

如果您转到Google Developer Console上的"凭据"页面,您将在下面列出的json文件中看到该密钥 API keys

  • 您可以在[这篇文章](/sf/answers/2623883741/)中看到,api密钥仅标识您在Google服务器上的Firebase项目。知道它不是安全风险。 (2认同)

Esp*_*dal 5

是。至少这些api_key东西应该保密。

放入google-services.json公共存储库并保持其机密性的一种方法是使用BlackBox

在您的应用程序级别build.gradle中,例如,放置一个复制任务,defaultConfig如下所示:

defaultConfig {
    ...
    ...
    copy {
        from "../secret/"
        into "."
        include "*.json"
    }
}
Run Code Online (Sandbox Code Playgroud)

这会将文件从您的secret/文件夹复制到正确的位置。

现在,要构建您的应用程序,您必须blackbox_edit_start google-services.json.gpg在第一次签出存储库时运行,然后您就可以正常运行了。