我正在将Firebase Cloud Messaing集成到Android中。
应用的build.gradle文件如下所示。
在应用级别的build.gradle文件中,类路径为:
应用的build.gradle文件如下所示。
implementation 'com.google.firebase:firebase-auth:16.0.3'
implementation 'com.google.firebase:firebase-messaging:17.3.3'
implementation 'com.google.android.gms:play-services-auth:16.0.0'
apply plugin: 'com.google.gms.google-services'
在应用级别的build.gradle文件中,类路径为:
dependencies {
classpath 'com.android.tools.build:gradle:3.2.0'
classpath 'com.google.gms:google-services:4.0.1'
}
我的清单大致如下
<service android:name=".firebase.MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT" />
</intent-filter>
</service>
<meta-data
android:name="com.google.firebase.messaging.default_notification_icon"
android:resource="@drawable/ic_artize_a" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_color"
android:resource="@color/colorAccent" />
<meta-data
android:name="com.google.firebase.messaging.default_notification_channel_id"
android:value="@string/default_notification_channel_id" />
我遇到的问题是当我尝试获取 FirebaseInstanceId.getInstance()
时,它返回 null。所以我无法获取 Token。
即使在应用程序中,MyFirebaseMessagingService
的 onNewToken
也没有被触发。
有人能告诉我为什么在这里我会得到 FirebaseInstanceId.getInstance() null
吗?谢谢提前。
这里我正在尝试获取 Firebase token。
private void getFirebaseToken(){
FirebaseInstanceId firebaseInstanceId = FirebaseInstanceId.getInstance();
if(firebaseInstanceId == null){
return;
}
firebaseInstanceId.getInstanceId().addOnCompleteListener(new OnCompleteListener<InstanceIdResult>() {
@Override
public void onComplete(@NonNull Task<InstanceIdResult> task) {
if (!task.isSuccessful()) {
return;
}
// Get new Instance ID token
String token = task.getResult().getToken();
}
});
}
FirebaseInstanceId.getInstance()
的位置。 - m0skit0doInBackground
中调用了这个方法,但它没有起作用,然后我创建了一个线程并调用了这个方法,但它仍然没有起作用............... - Navin GuptaGoogleApiAvailability.getInstance().makeGooglePlayServicesAvailable();
- Mysterious_android