代码之家  ›  专栏  ›  技术社区  ›  Bryan Denny

我需要在我的开源应用程序中隐藏我的flury API密钥吗?[复制品]

  •  2
  • Bryan Denny  · 技术社区  · 14 年前

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

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

    我是否需要尝试在源代码中隐藏这个API密钥(即不包括它,我每次为发布而构建时都会添加它),或者不担心它?

    3 回复  |  直到 14 年前
        1
  •  2
  •   Robby Pond    14 年前

    我使用Google代码作为SVN存储库,对于我的任何API键,我都在strings.xml中放置了一个占位符,并确保在签入任何内容时将其清空。

        2
  •  5
  •   Brian Lacy    14 年前

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

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

        3
  •  2
  •   lewiguez    14 年前

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

    就我个人而言,我会使用配置文件,不管它是什么,并将其删除。如果只是因为其他人可以获得你的API密钥,那么就把它添加到他们的应用程序中,然后乱搞你的数据。每次在测试环境中构建和运行时,都会影响您的统计信息。

    推荐文章