【问题标题】:Facebook SDK Hash Keys, help me understand itFacebook SDK Hash Keys,帮助我理解它
【发布时间】:2015-12-18 08:19:08
【问题描述】:

我正在开发一个应用程序,它需要通过 facebook 登录。

我通过这样的代码生成哈希键:

try {
PackageInfo info = getPackageManager().getPackageInfo("mypackagename", PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
    MessageDigest md = MessageDigest.getInstance("SHA");
    md.update(signature.toByteArray());
    Log.e("MY KEY HASH:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {

} catch (NoSuchAlgorithmException e) {

}

然后我将该哈希键添加到 facebook 应用程序仪表板。

所以一切都在我的手机上正常工作,但在其他手机上它说另一个密钥没有存储在任何地方(实际上那个密钥与我使用的不同)。

我已经阅读了一些关于调试/发布密钥的信息。我的应用目前正在开发中,所以我正在使用调试(我认为),但它在不同的手机上有何不同?

1) 我如何获得在调试中每次都能使用的密钥?

2) 当我导出已签名的 .APK 并在 Google Play 商店更新我的应用时,如何获得每次发布时都能使用的密钥?

谢谢!

【问题讨论】:

    标签: android facebook hash


    【解决方案1】:

    1) 我如何获得在调试中每次都能使用的密钥?

    • 在使用 facebook 时,如果您的应用程序具有相同的包,那么您将拥有相同的 KEY。您必须在Facebook Developer Console 输入它,您将获得 facebook API_KEYSECRET_KEY,您可以将它们保存到字符串中,然后在需要与 Facebook 或其他服务(例如 Google 服务等)进行迭代时一直使用。 /li>

    2) 当我导出已签名的 .APK 并在 google play 商店更新我的应用时,如何获得每次发布时都能使用的密钥?

    • 再一次,如果您使用相同的包和构建类型,则此密钥是相同的。但是,如果您有多种构建风格,则会有一些棘手的时刻,例如,您需要生成并保存用于生产和调试的密钥。

    【讨论】:

    • 好的,但是我为什么会收到错误消息说“hashkey”没有存储在任何地方?我以前存储它只是不同,现在我在 facebook 开发人员控制台上存储了 2 个哈希键?感谢您的宝贵时间
    猜你喜欢
    • 1970-01-01
    • 2012-05-15
    • 1970-01-01
    • 2011-08-15
    • 1970-01-01
    • 2010-12-21
    • 1970-01-01
    • 1970-01-01
    • 1970-01-01
    相关资源
    最近更新 更多