파이어베이스의 FCM 토큰이란 무엇입니까?
새 Firebase의 Notification 아래에서 개발자가 특정 장치로 알림을 보낼 수 있다고 언급했습니다.이를 위해 콘솔에서 FCM 토큰을 요청합니다.정확히 무엇이고 어떻게 그 토큰을 받을 수 있습니까?
그것은 정확히 무엇이니?
으로 FCM이라고도 .registrationToken
예를 들어 구글-클라우드-스캐너와 같습니다.GCMFCM 문서에 설명된 대로:
메시지를 수신할 수 있도록 GCM 연결 서버에서 클라이언트 앱으로 발급한 ID입니다.등록 토큰은 비밀로 유지해야 합니다.
그 토큰은 어떻게 받을 수 있습니까?
업데이트: 호출을 통해 토큰을 계속 검색할 수 있습니다.getToken()
FCM의 , "FCM"은FirebaseInstanceIdService.onTokenRefresh()
제 경험에 비추어 볼 때, 그것은 이전과 동일한 방식으로 작동합니다.
이전 답변:
FCM 문서에 따름:
앱을 처음 시작할 때 FCM SDK는 클라이언트 앱 인스턴스에 대한 등록 토큰을 생성합니다.단일 장치를 대상으로 지정하거나 장치 그룹을 만들려면 이 토큰에 액세스해야 합니다.
Firebase를 확장하여 토큰의 값에 액세스할 수 있습니다.InstanceIdService입니다.매니페스트에 서비스를 추가했는지 확인한 다음 get을 호출합니다.onTokenRefresh 컨텍스트에서 토큰을 생성하고 다음과 같이 값을 기록합니다.
@Override public void onTokenRefresh() { // Get updated InstanceID token. String refreshedToken = FirebaseInstanceId.getInstance().getToken(); Log.d(TAG, "Refreshed token: " + refreshedToken); // TODO: Implement this method to send any registration to your app's servers. sendRegistrationToServer(refreshedToken); }
새 토큰이 생성될 때마다 onTokenRefresh 콜백이 실행되므로 get을 호출합니다.컨텍스트의 토큰은 사용 가능한 현재 등록 토큰에 액세스할 수 있도록 합니다.파이어베이스사례ID.getToken()은 토큰이 아직 생성되지 않은 경우 null을 반환합니다.
토큰을 획득한 후 앱 서버로 토큰을 전송하고 원하는 방법으로 저장할 수 있습니다.API에 대한 자세한 내용은 인스턴스 ID API 참조를 참조하십시오.
그들은 get을 추천하지 않았습니다.아래 릴리스 정보의 토큰() 메서드입니다.대신 getInstanceId를 사용해야 합니다.
https://firebase.google.com/docs/reference/android/com/google/firebase/iid/FirebaseInstanceId
Task<InstanceIdResult> task = FirebaseInstanceId.getInstance().getInstanceId();
task.addOnSuccessListener(new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult authResult) {
// Task completed successfully
// ...
String fcmToken = authResult.getToken();
}
});
task.addOnFailureListener(new OnFailureListener() {
@Override
public void onFailure(@NonNull Exception e) {
// Task failed with an exception
// ...
}
});
동일한 수신기에서 성공 및 실패를 처리하려면 OnCompleteListener를 연결합니다.
task.addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (task.isSuccessful()) {
// Task completed successfully
InstanceIdResult authResult = task.getResult();
String fcmToken = authResult.getToken();
} else {
// Task failed with an exception
Exception exception = task.getException();
}
}
});
또한, 파이어베이스.InstanceIdServiceClass가 더 이상 사용되지 않으며 OnTokenRefresh를 대체하기 위해 FireBaseMessagingService에서 onNewToken 메서드를 제안했습니다.
https://firebase.google.com/support/release-notes/android 의 릴리스 노트를 참조할 수 있습니다.
@Override
public void onNewToken(String s) {
super.onNewToken(s);
Use this code logic to send the info to your server.
//sendRegistrationToServer(s);
}
파이어베이스InstanceIdService가 이제 더 이상 사용되지 않습니다.Firebase Messaging Service의 onNewToken 메서드에서 토큰을 받아야 합니다.
정보를 얻을 수 있는 "파이어베이스 클라우드 메시징 토큰"에 대한 업데이트가 있습니다.
저는 그 변화에 대해 정말 알고 싶어서 지원팀에 메일을 보냈습니다.Firebase Cloud Messaging 토큰이 서버 키로 곧 다시 돌아갑니다.변경할 사항이 없습니다.잠시 후 서버 키를 다시 볼 수 있습니다.
언급URL : https://stackoverflow.com/questions/37671380/what-is-fcm-token-in-firebase
'programing' 카테고리의 다른 글
컨트롤러에서 스프링 배치 작업 실행 (0) | 2023.06.21 |
---|---|
Mongoose를 사용하여 검색 또는 생성 (0) | 2023.06.21 |
고정 너비를 설정하는 방법은 무엇입니까? (0) | 2023.06.21 |
MongoDB 중첩 문서 $lookup (0) | 2023.06.21 |
속성을 바인딩할 수 없습니다. (0) | 2023.06.21 |