我无法从华为 p40 系列设备获取 Firebase 令牌
I can't get Firebase token from Huawei p40 series device
我一般都是用这个方法拿到token的,但是随着华为p40系列的到来,用那些就拿不到token了
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
final String token = instanceIdResult.getToken(); // i can't get this
}
});
P40包含华为移动服务。这些设备没有 Google 移动服务,因此 Firebase 无法运行。有一个名为 Push Kit 的替代方案 - https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/push-introduction
如果你想让它在一个平台上运行,你可以尝试:
- 飞艇(https://docs.airship.com/platform/android/getting-started/#hms)。
- OneSignal (https://documentation.onesignal.com/docs/huawei-sdk-setup).
他们正在与 Google 和华为合作。
由于华为新机被禁止使用GMS,因此华为新机无法使用firebase。华为已经提供了这种通知服务,称为HMS Push Kit,以便在没有GMS的设备上提供推送通知,如mate30、mate30 pro、P40等华为新机。如果您希望您的应用在这些手机上 运行,请集成华为推送服务。
请参考链接:
FCM 是 Firebase 云消息服务。新一代华为设备(华为 P40 系列、Mate 30 系列)不支持 Google 服务,如 Google 地图、FCM 等。如果您想成功使用您的应用,您的应用提供商必须集成HMS服务或第三方解决方案后即可正常使用相关APP
我认为您可以将其替换为 HMS 推送套件,或者您可以使用第 3 方推送提供商。
欲了解更多信息,请访问 link
对于 Flutter 项目:
我不喜欢使用像OneSignal
这样的第三方推送通知有很多原因,其中之一例如OneSignal
不提供方式在其 Flutter 插件中处理背景数据,例如 firebase_messaging, or Push.registerBackgroundMessageHandler(...)
in huawei_push...
中的 FirebaseMessaging.onBackgroundMessage(...)
所以我最好使用两个插件(在同一个项目中):
1- https://pub.dev/packages/firebase_messaging 对于 Android 没有 HMS 和 IOS...
2- https://pub.dev/packages/huawei_push 它可以在 Android 上使用 HMS。
我一般都是用这个方法拿到token的,但是随着华为p40系列的到来,用那些就拿不到token了
FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( this, new OnSuccessListener<InstanceIdResult>() {
@Override
public void onSuccess(InstanceIdResult instanceIdResult) {
final String token = instanceIdResult.getToken(); // i can't get this
}
});
P40包含华为移动服务。这些设备没有 Google 移动服务,因此 Firebase 无法运行。有一个名为 Push Kit 的替代方案 - https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/push-introduction
如果你想让它在一个平台上运行,你可以尝试:
- 飞艇(https://docs.airship.com/platform/android/getting-started/#hms)。
- OneSignal (https://documentation.onesignal.com/docs/huawei-sdk-setup).
他们正在与 Google 和华为合作。
由于华为新机被禁止使用GMS,因此华为新机无法使用firebase。华为已经提供了这种通知服务,称为HMS Push Kit,以便在没有GMS的设备上提供推送通知,如mate30、mate30 pro、P40等华为新机。如果您希望您的应用在这些手机上 运行,请集成华为推送服务。
请参考链接:
FCM 是 Firebase 云消息服务。新一代华为设备(华为 P40 系列、Mate 30 系列)不支持 Google 服务,如 Google 地图、FCM 等。如果您想成功使用您的应用,您的应用提供商必须集成HMS服务或第三方解决方案后即可正常使用相关APP
我认为您可以将其替换为 HMS 推送套件,或者您可以使用第 3 方推送提供商。 欲了解更多信息,请访问 link
对于 Flutter 项目:
我不喜欢使用像OneSignal
这样的第三方推送通知有很多原因,其中之一例如OneSignal
不提供方式在其 Flutter 插件中处理背景数据,例如 firebase_messaging, or Push.registerBackgroundMessageHandler(...)
in huawei_push...
FirebaseMessaging.onBackgroundMessage(...)
所以我最好使用两个插件(在同一个项目中):
1- https://pub.dev/packages/firebase_messaging 对于 Android 没有 HMS 和 IOS...
2- https://pub.dev/packages/huawei_push 它可以在 Android 上使用 HMS。