파이어베이스 이후로 지금 어떤 방법을 사용해야 합니까?InstanceId.getInstance().getToken()이 더 이상 사용되지 않습니다.
저는 지금 푸시 알림을 보내는 파이어베이스 토큰을 얻는 올바른 방법이 무엇인지 알고 싶습니다.토큰()은 더 이상 사용되지 않습니다.
업데이트된 답변
파이어베이스InstanceId는 더 이상 사용되지 않지만 이제 FirebaseMessaging.getInstance().token을 사용할 수 있습니다.
예:
FirebaseMessaging.getInstance().token.addOnSuccessListener { result ->
if(result != null){
fbToken = result
// DO your thing with your firebase token
}
}
이전 답변
설명서에 나와 있는 것처럼:
이 메서드는 더 이상 사용되지 않습니다.getInstanceId()를 선호합니다.
getInstanceId()는 및 InstanceIdResult가 포함된 작업을 반환합니다.다음과 같이:
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String deviceToken = instanceIdResult.getToken();
// Do whatever you want with your token now
// i.e. store it on SharedPreferences or DB
// or directly send it to server
}
});
하지만 이 접근 방식이 말 그대로 Firebase의 사용을 대체할 것이라는 것은 사실입니다.InstanceId.getInstanceId().getToken()은 Firebase라는 사실을 해결하지 않습니다.InstanceIdService 또한 사용할 위치에 대한 다른 질문을 남겨두는 것이 좋습니다.항상 토큰을 반환하는 모든 활동 컨텍스트에서 사용할 수 있습니다.하지만 우리가 토큰을 생성할 때와 업데이트가 거의 되지 않을 때만 얻고 싶다면 어떻게 해야 할까요?이를 위해서는 이전 Firebase Messaging Service 구현에서 NewToken의 새 메서드를 재정의해야 합니다. ("InstanceId"가 아니라 "Messaging"입니다.)
@Override
public void onNewToken(String s) {
super.onNewToken(s);
String deviceToken = s;
// Do whatever you want with your token now
// i.e. store it on SharedPreferences or DB
// or directly send it to server
}
이 방식 코드는 더 희박하게 유지되며 첫 번째 접근 방식을 사용할 필요조차 없습니다.
파이어베이스InstanceIdService가 더 이상 사용되지 않습니다.!
그냥 무시함.onNewToken()
에FirebaseMessagingService
public class LatestFirebaseMessagingService extends FirebaseMessagingService {
@Override
public void onNewToken(String mToken) {
super.onNewToken(mToken);
Log.e("TOKEN",mToken);
}
@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
super.onMessageReceived(remoteMessage);
}}
인AndroidManifest.xml
<service
android:name=".LatestFirebaseMessagingService"
android:stopWithTask="false">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
getToken()
이 또한 더 이상 사용되지 않습니다.
활동에서 토큰을 얻어야 할 경우 아래 코드를 사용합니다.
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( MyActivity.this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
String mToken = instanceIdResult.getToken();
Log.e("Token",mToken);
}
});
언급URL : https://stackoverflow.com/questions/51125169/what-method-should-i-use-now-since-firebaseinstanceid-getinstance-gettoken-i
'programing' 카테고리의 다른 글
Firebase 토큰 오류 TOO_MANY_REGISTRATIONS (0) | 2023.06.05 |
---|---|
루비의 콘솔에서 입력을 읽으시겠습니까? (0) | 2023.06.05 |
클래스 조롱:모의() 또는 패치()? (0) | 2023.06.05 |
Firebase 저장소:디렉터리를 삭제하는 방법 (0) | 2023.06.05 |
R 사용자 전문가, 의 기능.R 프로파일? (0) | 2023.06.05 |