【问题标题】:Generating KeyHash for FB in android在android中为FB生成KeyHash
【发布时间】:2014-01-27 07:27:19
【问题描述】:

我们知道 Facebook SDK 与 Android 的集成需要密钥哈希配置。我们也可以使用以下方式生成 keyhash。 FB 建议的 Openssl 和 Android 代码。如果我们使用 openssl,我们应该使用我们用来导出应用程序的密钥库,而不是 debug.keystore。我正在使用第二种方法来获取密钥哈希。我是我的应用程序的开发人员,该应用程序将由另一个人从另一个系统签名和发布。我的问题是:我应该在哪里执行以下代码来获取 keyhash?在我的(开发人员)机器上还是从我们要签名和发布的机器上?对于不同的机器,我的应用程序的 keyhash 会有所不同吗?请指导我。

try {
    PackageInfo info = getPackageManager().getPackageInfo(getPackageName(), PackageManager.GET_SIGNATURES);
    for (Signature signature : info.signatures) {
        MessageDigest md = MessageDigest.getInstance("SHA");
        md.update(signature.toByteArray());
        Log.i("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
    }
} catch (Exception e) {

}

【问题讨论】:

    标签: android facebook publishing


    【解决方案1】:

    您还需要将您的 Android 密钥哈希与应用相关联。 Facebook 使用密钥哈希作为真实性的安全检查。默认情况下,应用程序包使用特定于机器的调试密钥进行签名。发布应用程序时,通常使用不同的发布密钥对其进行签名。因此,您要确保在 Facebook 上设置了所有相关密钥的哈希值:

    转到左侧导航中的“设置”,然后单击“添加平台”按钮,然后选择 Android。添加您获得的调试密钥哈希。如果你在多台机器上开发,你应该添加多个 keyhashes。

    【讨论】:

      【解决方案2】:

      在 oncreate() 方法中使用此代码,一旦获得 KeyHash,然后将该 keyhash 粘贴到 https://developers.facebook.com/ App->创建一个新应用程序

      【讨论】:

        猜你喜欢
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 2015-02-06
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        • 1970-01-01
        相关资源
        最近更新 更多