-2
내 앱 FirebaseInstanceId.getInstance(). getToken()이 null을 반환하지만 에뮬레이터 (Nougat)에서 FCM 토큰을 생성하면 Android Nougat 장치 (Moto, Sony & Huawei) 누갓 버전 이하.FCM 토큰이 android nougat에서 null을 반환합니다.
내 앱 FirebaseInstanceId.getInstance(). getToken()이 null을 반환하지만 에뮬레이터 (Nougat)에서 FCM 토큰을 생성하면 Android Nougat 장치 (Moto, Sony & Huawei) 누갓 버전 이하.FCM 토큰이 android nougat에서 null을 반환합니다.
언제 FirebaseInstanceId.getInstance().getToken()
으로 전화하십니까? onTokenRefresh
콜백에 대해서는 FirebaseInstanceIdService
까지 연장 된 서비스를 기다려야합니다. 토큰을 사용할 수있는 순간입니다.
public class FcmTokenService extends FirebaseInstanceIdService {
@Override
public void onTokenRefresh() {
try {
String refreshedToken = FirebaseInstanceId.getInstance().getToken();
if (refreshedToken != null) {
Log.i("FCM", String.format("Received new registration token from Firebase: token=\"%s\";", refreshedToken));
// ... forward the new token to some point in your app to store it
}
} catch (Exception e) {
e.printStackTrace();
}
}
}
매니페스트에 서비스를 등록
<service android:name=".services.FcmTokenService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
그리고 이것은 당신의 build.gradle
파일의 마지막 라인되어야합니다 :
apply plugin: 'com.google.gms.google-services'