【问题标题】:Do I need to hide my Flurry API key in my open source app? [duplicate]我是否需要在我的开源应用程序中隐藏我的 Flurry API 密钥? [复制]
【发布时间】:2010-06-03 16:23:44
【问题描述】:

可能重复:
How to open-source an application that uses API keys

我有一个开源的 Android 应用程序,我计划将 Flurry 跟踪添加到其中。 Flurry 为您的应用程序的跟踪创建一个唯一的 API 密钥。

我是否需要尝试在我的源代码中隐藏此 API 密钥(即不包含它,我会在每次构建发布时添加它)还是不担心?

【问题讨论】:

    标签: android open-source tracking api-key flurry


    【解决方案1】:

    这种性质的应用程序应该有一个独立于存储库之外的配置文件。与其提交文件本身,不如创建一个提交到存储库的文件的“样本”版本,其中包含所有必要的设置,但只有虚拟数据。然后在您的应用中,动态加载“真实”配置文件。

    当另一个开发人员检查代码时,他们必须进行一些简单的初始设置。其中一项包括复制示例配置文件并将其重命名为正确、正确的配置文件名,然后使用他们自己的密钥、密码等私有设置更新它。

    【讨论】:

      【解决方案2】:

      我使用 Google 代码作为 svn 存储库,对于我的任何 api 密钥,我在 strings.xml 中放置了一个占位符,如果我签入任何内容,请确保将它们清空。

      【讨论】:

      • 我最终这样做了。但我为测试/开发创建了另一个 Flurry API 并将其签入,而不是将 API 留空。因此生产密钥没有被签入,如果有人拿到代码,就会有一个工作密钥,它不会扭曲生产统计数据。
      【解决方案3】:

      其他人会下载这个开源项目并构建自己的版本吗?如果是这样,我会保留 API 密钥并放入通过代码加载的配置文件(带有名称/值)。或者,这将是开源的,只是为了让很多人都可以工作吗?在这种情况下,把它留在里面可能会更容易。

      就个人而言,无论如何我都会使用配置文件并将其忽略。如果只是因为其他人可以获得您的 API 密钥,请将其添加到他们的应用程序中并弄乱您的数据。那,每次你在测试环境中构建和运行时,都会影响你的统计数据。

      【讨论】:

      • 它只是一个托管在 Google Code 上的开源项目。只有我在处理它,但任何人都可以查看代码或做任何他们想做的事情。我构建的应用程序是一个理想的 android 示例应用程序(参见:code.google.com/p/tippytipper)。我认为配置文件是个好主意,谢谢!
      猜你喜欢
      • 1970-01-01
      • 1970-01-01
      • 2020-09-14
      • 2020-08-02
      • 2019-01-06
      • 2019-12-11
      • 2020-11-17
      • 1970-01-01
      • 1970-01-01
      相关资源
      最近更新 更多