앱에서 현재 액세스 토큰과 프로필을 계속 추적하도록 하려면 AccessTokenTracker
및 ProfileTracker
클래스를 구현할 수 있습니다.
액세스 토큰 또는 프로필이 변경될 때 이러한 클래스에서 코드를 호출합니다. 내부적으로 이러한 클래스에서는 수신호를 사용하므로, 액티비티에서 stopTracking()
을 호출하거나 프래그먼트의 onDestroy()
메서드를 호출해야 합니다.
예를 들어 로그인 콜백을 사용하지 않고 AccessTokenTracker
를 사용하려면 다음과 같이 할 수 있습니다.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); accessTokenTracker = new AccessTokenTracker() { @Override protected void onCurrentAccessTokenChanged( AccessToken oldAccessToken, AccessToken currentAccessToken) { // Set the access token using // currentAccessToken when it's loaded or set. } }; // If the access token is available already assign it. accessToken = AccessToken.getCurrentAccessToken(); } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onDestroy() { super.onDestroy(); accessTokenTracker.stopTracking(); }
현재 프로필의 변경 사항을 추적하는 방법과 유사한 방법으로 ProfileTracker
를 사용할 수 있습니다.
@Override public void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); callbackManager = CallbackManager.Factory.create(); profileTracker = new ProfileTracker() { @Override protected void onCurrentProfileChanged( Profile oldProfile, Profile currentProfile) { // App code } }; } @Override protected void onActivityResult(int requestCode, int resultCode, Intent data) { super.onActivityResult(requestCode, resultCode, data); callbackManager.onActivityResult(requestCode, resultCode, data); } @Override public void onDestroy() { super.onDestroy(); profileTracker.stopTracking(); }