2014-01-27 23 views
0

我們知道Facebook SDK與Android的集成需要密鑰哈希配置。我們還可以使用以下方法生成keyhash。 FB建議的Openssl和Android代碼。如果我們使用openssl,我們應該使用我們用來導出應用程序的keystore,而不是debug.keystore。我正在使用第二種方法來獲取keyhash。我是我的應用程序的開發人員,將由另一個人從另一個系統簽名和發佈。我的問題是:我應該在哪裏執行下面的代碼來獲取keyhash?在我的(開發人員)機器上還是在我們要簽署和發佈的機器上?我的應用程序的keyhash會因不同的機器而有所不同嗎?請指導我。在android中爲FB生成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) { 

} 

回答

1

您還需要你的Android按鍵散列關聯與應用程序。密鑰哈希被Facebook用作安全檢查的真實性。默認情況下,應用程序的包使用特定於計算機的調試密鑰進行簽名。發佈應用時,通常使用不同的發佈密鑰進行簽名。因此,您需要確保您在Facebook上設置了所有相關按鍵的哈希值:

轉到左側導航欄中的「設置」,然後單擊「添加平臺」按鈕,然後選擇Android。添加您獲得的調試密鑰哈希。如果您在多臺機器上開發,則應該添加多個keyhashes。