android 我无法从华为p40系列设备获取Firebase令牌

dtcbnfnu  于 2023-06-20  发布在  Android
关注(0)|答案(4)|浏览(239)

我通常用这种方法得到令牌,但随着华为p40系列的到来,我无法用那些获得令牌

  1. FirebaseInstanceId.getInstance().getInstanceId().addOnSuccessListener( this, new OnSuccessListener<InstanceIdResult>() {
  2. @Override
  3. public void onSuccess(InstanceIdResult instanceIdResult) {
  4. final String token = instanceIdResult.getToken(); // i can't get this
  5. }
  6. });
owfi6suc

owfi6suc1#

P40包含华为移动的服务。这些设备没有Google移动的服务,因此Firebase无法工作。有一种替代方案,称为Push Kit -https://developer.huawei.com/consumer/en/doc/development/HMS-Guides/push-introduction
如果你想在一个平台上运行所有功能,你可以尝试:

他们正在与谷歌和华为合作。

jgovgodb

jgovgodb2#

由于新的华为手机被禁止使用GMS,因此Firebase无法在新的华为手机上使用。华为已经提供了这样的通知服务,称为HMS Push Kit,以便在没有GMS的设备上提供推送通知,如mate30,mate30 pro,P40和其他华为新设备。如果你想让你的应用在这些手机上运行,请集成华为推送套件。
请参阅以下链接:
Development Guide
Sample Code on Github

wkftcu5l

wkftcu5l3#

对于Flutter项目:
我不喜欢使用像OneSignal这样的第三方来推送通知,原因有很多,其中一个原因是OneSignal没有提供处理Flutter插件中后台数据的方法,比如**firebase_messaging中的FirebaseMessaging.onBackgroundMessage(...),或者huawei_push**中的Push.registerBackgroundMessageHandler(...)...

所以我更喜欢使用两个插件(在同一个项目中):
1-https://pub.dev/packages/firebase_messaging for Android without HMS and IOS...
2-https://pub.dev/packages/huawei_push它在Android上与HMS工作.

0ejtzxu1

0ejtzxu14#

FCM是Firebase云消息服务。新一代华为设备(华为P40系列,Mate 30系列)不支持GoogleMap,FCM等Google服务。如果您想成功使用您的应用程序,您的应用程序提供商必须集成HMS服务或第三方解决方案,之后您可以使用相关应用程序没有任何问题。
我认为你可以用HMS推送工具包替换它,或者你可以使用第三方推送提供商。更多信息请访问link

相关问题