2016-06-29 2 views
1

푸시 알림을 수신하는 Android 앱이 있습니다. FCM 토큰과 사용자 ID를 외부 db에 저장하는 더 간단한 방법이 있는지 궁금 해서요. 바로 지금 내 자신의 FirebaseInstanceIdService. sendRegistrationToServer 메서드를 작성하고 있습니다. 이와 같이FCM 토큰 저장

public class TokenRegistrationService extends FirebaseInstanceIdService { 

    @Override 
    public void onTokenRefresh() { 
     // My custom manager 
    } 

    private void sendRegistrationToServer(final String FCMToken) { 
     // Here I can send FCMToken to my db 
    } 
} 

토큰을 가져 와서 보낼 수있는 다른 방법이 있습니까?

답변

0

FirebaseInstanceIdService을 확장하는 것보다 더 간단한 방법이라고 가정합니다. 그렇다면 토큰은이 클래스를 확장하는지 여부에 관계없이 생성된다는 점에 유의해야합니다.

토큰을 검색하려면 InstanceID의 인스턴스를 가져 와서 getToken을 호출하면됩니다.

String token = InstanceID.getInstance().getToken(); 

또한 당신이 FirebaseInstanceIdServiceonTokenRefresh 콜백 토큰을 요청하지 않는 경우 토큰 검색 프로세스가 아직 완료되지 않은 경우, getToken는 null를 돌려줍니다과 취득 완료되면 토큰을 반환 않습니다.

응용 프로그램이 시작되는 즉시 토큰 검색이 수행되므로 토큰이 처음 실행될 때 매우 일찍 필요하지 않으면 getToken을 호출하는 것으로 충분할 수 있습니다. 사용할 수있는 즉시 토큰 또는 새로 고침 된 버전이 필요한 경우 FirebaseInstanceIdService을 확장하고 onTokenRefresh을 무시해야합니다.

0

토큰을 가져 와서 보내려면 다른 방법이 있습니까?

는 등록 토큰을 생성, 난 그냥 FirebaseInstanceID 서비스를 사용하는 것보다 다른 방법이 없습니다 확신합니다.

토큰을 서버로 보낼 때 .. 여기에 어떤 질문이 있는지 잘 모르겠습니다. 충분히 간단하게 생성 된 후에 토큰을 앱 서버로 직접 보내지 않습니까? 또는 나는 무엇인가 놓치고 있냐? 설명하라.