Facebook SDK Hash Keys,帮助我理解它

时间:2015-09-21 15:00:33

标签: android facebook hash

我正在开发一款应用,它需要通过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 app dashboard。

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

我已经阅读了一些关于调试/释放键的内容。我的应用程序目前正在开发中,所以我正在使用调试(我认为),但它在不同的手机上有什么不同?

1)如何获得每次调试时都能正常工作的密钥?

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

谢谢!

1 个答案:

答案 0 :(得分:0)

1)如何获得每次调试时都能正常工作的密钥?

  • 如果您的应用程序具有相同的程序包,则在使用Facebook时,您将拥有相同的KEY。您必须在Facebook Developer Console键入它,然后您将获得facebook API_KEYSECRET_KEY,您可以将其保存为字符串,并在需要与Facebook或其他服务进行迭代时始终使用(例如Google服务等。)

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

  • 如果您使用相同的包和构建类型,此键也是相同的。但是如果您有许多构建版本,那么有一些棘手的时刻,例如,您需要为生产和调试生成和保存密钥。