【发布时间】:2010-06-03 16:23:44
【问题描述】:
我有一个开源的 Android 应用程序,我计划将 Flurry 跟踪添加到其中。 Flurry 为您的应用程序的跟踪创建一个唯一的 API 密钥。
我是否需要尝试在我的源代码中隐藏此 API 密钥(即不包含它,我会在每次构建发布时添加它)还是不担心?
【问题讨论】:
标签: android open-source tracking api-key flurry
我有一个开源的 Android 应用程序,我计划将 Flurry 跟踪添加到其中。 Flurry 为您的应用程序的跟踪创建一个唯一的 API 密钥。
我是否需要尝试在我的源代码中隐藏此 API 密钥(即不包含它,我会在每次构建发布时添加它)还是不担心?
【问题讨论】:
标签: android open-source tracking api-key flurry
这种性质的应用程序应该有一个独立于存储库之外的配置文件。与其提交文件本身,不如创建一个提交到存储库的文件的“样本”版本,其中包含所有必要的设置,但只有虚拟数据。然后在您的应用中,动态加载“真实”配置文件。
当另一个开发人员检查代码时,他们必须进行一些简单的初始设置。其中一项包括复制示例配置文件并将其重命名为正确、正确的配置文件名,然后使用他们自己的密钥、密码等私有设置更新它。
【讨论】:
我使用 Google 代码作为 svn 存储库,对于我的任何 api 密钥,我在 strings.xml 中放置了一个占位符,如果我签入任何内容,请确保将它们清空。
【讨论】:
其他人会下载这个开源项目并构建自己的版本吗?如果是这样,我会保留 API 密钥并放入通过代码加载的配置文件(带有名称/值)。或者,这将是开源的,只是为了让很多人都可以工作吗?在这种情况下,把它留在里面可能会更容易。
就个人而言,无论如何我都会使用配置文件并将其忽略。如果只是因为其他人可以获得您的 API 密钥,请将其添加到他们的应用程序中并弄乱您的数据。那,每次你在测试环境中构建和运行时,都会影响你的统计数据。
【讨论】: