문제 해결

Android용 Facebook 로그인에서 일반적으로 발생하는 문제와 해결 방법은 다음과 같습니다.

로그인 대화 상자 오류가 발생합니다.

네이티브 로그인 대화 상자 권한이 있지만 그 사람이 인증되지 않습니다. logcat 예외 오류가 다음과 같이 반환됩니다.

...W/fb4a:fb:OrcaServiceQueue(504): com.facebook.orca.protocol.base.ApiException: remote_app_id does not match stored id 

또는

네이티브가 아닌 로그인 대화 상자에 다음과 같은 오류가 나타납니다.

...App is Misconfigured for facebook login... 

로그인 대화 상자에 문제가 발생했을 경우 다음과 같은 해결 방법을 시도해볼 수 있습니다.

키 해시가 유효하지 않습니다.

키 해시에 문제가 발생했을 경우 다음과 같은 해결 방법을 시도해볼 수 있습니다.

  • 새 키 해시를 앱 대시보드에 추가할 때는 변경 사항을 저장하세요.
  • 입력한 비밀번호가 잘못되었습니다. 기본 Keystore 비밀번호는 "android"입니다.
  • Facebook에 전송한 키 해시를 복사해서 앱 대시보드에 붙여 넣고 변경 사항을 저장한 다음, 기본 액티비티에서 onCreate()를 다음과 같이 변경합니다.
    @Override
    
    public void onCreate(Bundle savedInstanceState) {
         super.onCreate(savedInstanceState);
                    
         try {
             PackageInfo info = getPackageManager().getPackageInfo(
                               "{your-package-name}",                  //Insert your own package name.  
                                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 (NameNotFoundException e) {
                      
              } catch (NoSuchAlgorithmException e) {
                      
              }
               ...

Keytool 오류가 발생합니다.

  • Command not found 오류가 발생할 경우 전체 PATH에 경로를 추가하거나 해당 폴더로 이동해서 다음의 명령을 실행합니다.
    Windows: C:\Program Files (x86)\Java\jdk1.6.0\bin
    MAC: /usr/bin
  • Keytool에서 debug.keystore 위치를 찾지 못할 경우 경로가 올바른지 확인하세요. Keytool은 올바른 위치에 있을 때 항상 비밀번호를 요청합니다.