私は FacebookSDK を使用しており、すべての手順に従って新しいキーハッシュを生成しています。デバッグ キーストアを使用して生成されたキーハッシュは魅力的に機能しますが、独自のキーストアを使用して生成されたキーハッシュは機能しません。トラブルシューティングで指定された機能を試しましたが、まだ機能していません. onCreate で次のコードを使用してみました
// Add code to print out the key hash
try {
System.out.println("Inside try for keyhash");
PackageInfo info = getPackageManager().getPackageInfo(
"com.myapp.facebookint",
PackageManager.GET_SIGNATURES);
for (Signature signature : info.signatures) {
MessageDigest md = MessageDigest.getInstance("SHA");
md.update(signature.toByteArray());
Log.d("KeyHash:", Base64.encodeToString(md.digest(), Base64.DEFAULT));
System.out.println("KeyHash:"+Base64.encodeToString(md.digest(), Base64.DEFAULT));
}
} catch (NameNotFoundException e) {
System.out.println("keyhash name not found");
} catch (NoSuchAlgorithmException e) {
System.out.println("keyhash algo not found");
}
Facebookアプリの設定に挿入したキーハッシュが得られましたが、解決策はありません! 今、キーハッシュを使用するという概念について疑問に思っています.Facebookはそれをどのように識別しますか? デバッグ キーハッシュを使用してアプリをアップロードするとどうなりますか?
私の印象では、facebook はキーハッシュをアプリ自体の署名と照合し、両方が同じキーストアで署名されている場合、アプリの認証を許可しますが、そうではないようです。リリースの準備をするようにアプリをエクスポートし、ファイル エクスプローラーを使用して APK を電話にダウンロードし、そこからインストールして実行しようとしたところ、デバッグ モードで行う場合と同じでした。
誰でもこれに光を当ててください。