0

내 합금/티타늄 ios 앱에 Facebook 로그인을 추가하고 싶습니다. 코드가 잘 작동iOS 앱에서 합금 또는 티타늄을 사용하여 Facebook 로그인 상태 확인

var fb = require('facebook'); 
fb.initialize(); 
fb.setLoginBehavior(fb.LOGIN_BEHAVIOR_NATIVE); 
fb.permissions = ['email', 'public_profile']; 

function doFacebookLogin() { 
    // occurs when a button is clicked 
    if (fb.loggedIn) { 
     facebookLogin(fb); 
    } else { 
     fb.authorize(); 
    } 
} 

fb.addEventListener('login', function(event) { 
    if (event.success) { 
     facebookLogin(fb); 
    } 
}); 

function facebookLogin(fb) { 
    Ti.API.info(fb.accessToken); 
    // send the fb.accessToken server-side and register & login the user 
} 

대부분의 경우 :

지금까지 나는 다음과 같은 코드가 있습니다!

사용자가 앱의 인증을 취소 한 경우 fb.login은 여전히 ​​true을 반환하므로 동일한 액세스 토큰을 사용합니다.

사용자가 내 앱을 승인 취소했는지 어떻게 확인할 수 있습니까? 나는 그것이 FB.getLoginStatus 사용하여 자바 스크립트 SDK 사용하여 쉽게 할 수 알고 : https://developers.facebook.com/docs/reference/javascript/FB.getLoginStatus를,하지만 난 합금/티타늄에 상응를 찾을 수 없습니다 : https://docs.appcelerator.com/platform/latest/#!/api/Modules.Facebook

답변

0

당신은 fb.loggedIn to false을 설정 fb.logout()를 호출해야합니다.

fb.logout은 액세스 토큰을 지우고 로그인 상태를 false로 재설정합니다.

참고 : Titanium 모듈에서 액세스 토큰을 지우면 FB 서버에서도 토큰이 지워지는지 확신 할 수 없습니다. 따라서 fb.logout()을 호출 한 후에도 fb 서버에서 만료되지 않은 경우에만 동일한 액세스 토큰을받을 수 있습니다.

내가 일을했던 원래 방법이었다 등에 대한 Facebook Access Token here

+0

을 읽어보십시오. 사용자가 내 애플리케이션을 승인 취소 한 경우에만 도움이됩니다. 사용자가 내 애플리케이션의 승인을 취소하지 않고이를 수행하면 "이 애플리케이션이 이미 사용자의 승인을 받았습니다"라는 메시지가 나타납니다. 따라서 사용자의 로그인 상태를 확인하는 방법을 찾아야합니다. –

+0

이것은 FB를 구현하는 일반적인 절차입니다. 모든 티타늄 앱은 동일한 흐름과 기본 앱을 사용합니다. 방금 Android 기기에서 Candy Crush 게임을 확인했으며 Facebook 구현은 Titanium에서와 동일합니다. 게다가 "나는이 응용 프로그램이 이미 사용자에 의해 승인되었습니다"**라는 메시지가 SDK 나 모듈이 아닌 Facebook에 의해 처리되고 표시되기 때문에 원하는 것을 할 수 있다고 생각하지 않습니다. –