2017-09-07 22 views
1

私のアプリが公開されていて、Facebookブックアプリが公開されていても、「無効な鍵のハッシュ」エラーが表示されます。私が重要なハッシュをfacebookの設定に入れると、それはうまくいきますが、これは自分のデバイスでしか動作しないと思います。私はここで何が間違っていますか?Facebook公開鍵アプリで無効なキーハッシュ

+0

あなたの回答はこちら[https://stackoverflow.com/questions/45706693/how-to-solve-this-facebook-key-hash-error/45708369#45708369](https://stackoverflow.com)/questions/45706693/how-to-solve-this-facebook-key-hash-error/45708369#45708369) –

答えて

1

この方法を使用すると、リリースapkを作成してkeyhashを印刷する必要があります。そのkeyHashをfbコンソールに設定します。

public static void printHashKey(Context context) 
{ 
    // Add code to print out the key hash 
    try { 
     PackageInfo info = context.getPackageManager().getPackageInfo(
       com.example.app.BuildConfig.APPLICATION_ID, 
       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)); 
     } 
    } catch (PackageManager.NameNotFoundException e) { 
     e.printStackTrace(); 

    } catch (NoSuchAlgorithmException e) { 

     e.printStackTrace(); 
    } 
} 
+0

こんにちは。私はすでにUnityからキーハッシュを取得していますが、そのキーは問題を解決しませんが、それはエラーのものではありません。上で述べたように、エラーのキーを挿入すると機能しますが、すべてのデバイスで一意ではありませんか? –

0

解決策は次のとおりです。

  1. このコードを自分のアクティビティに貼り付けます。

    public static void printHashKey(Context context) 
    { 
        // Add code to print out the key hash 
        try 
        { 
         PackageInfo info = context.getPackageManager().getPackageInfo(com.example.app.BuildConfig.APPLICATION_ID, 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)); 
         } 
        } 
        catch (PackageManager.NameNotFoundException e) 
        { 
         e.printStackTrace(); 
        } 
        catch (NoSuchAlgorithmException e) 
        { 
         e.printStackTrace(); 
        } 
    } 
    
  2. あなたのAPKに署名

    。(解除APK)

  3. が発生したインストールし、パソコンと携帯電話を接続し
  4. お使いの携帯
  5. にAPKを署名しました。
  6. 上記のコードを記述した画面を開きます。ここで
  7. あなたは、あなたが作成したアプリ、Facebookの開発者向けサイトでこのHashKeyを貼り付けlogcat
  8. に新しいHashKeyを見ることができます。
  9. アプリケーションでお楽しみください。
+0

こんにちは。私はすでにUnityからキーハッシュを取得していますが、そのキーは問題を解決しませんが、それはエラーのものではありません。上で述べたように、エラーのキーを挿入すると機能しますが、すべてのデバイスで一意ではありませんか? –

+0

キーはすべての端末で同じですが、アプリはGoogle Playストアに公開されていますか? sign apkだけでこの問題はありますか?はいの場合は、私の答えのステップで述べたように、developer.facebook.comに別のキーのハッシュを追加する必要があります –

関連する問題