同时实现HMS推送通知和Firebase

问题描述 投票:0回答:1

问题

目前我已经开发了可在 IOS 和 Android 上运行的移动应用程序,但现在我想让它也支持华为 Harmony OS。现在下载 .apk 文件后它显示黑屏,因为它使用了 Harmony OS 禁止的 firebase 云消息传递。

我的解决方案

目前,我计划通过按照此link使用以下解决方案检查HMS可用性来同时实现firebase和HMS。如果我调用 firebase 包但阻止使用代码使用任何 firebase 包功能,Harmony OS 是否能够支持我的应用程序?我的方法是否正确,或者我应该更改为仅使用 HMS 推送通知,还是有其他我可以使用的解决方案?

注:

目前,我还在等待开发者帐户被批准,所以我还不能测试。

使用的 Firebase 包:

firebase_core: ^2.24.0
firebase_messaging: ^14.7.6

我的解决方案

Future<int> checkHMSAvailability() async {
    HmsApiAvailability client = HmsApiAvailability();
    
    // Check HMS Core (APK) availability status
    int status = await client.isHMSAvailable();

    return status;
}

//When Initializing 
int status = await checkHMSAvailability();
if (status == 1){
    FirebaseAPI().initNotifications();
} else {
    //HMS Notifications Setup Code Here
}
flutter firebase push-notification huawei-mobile-services harmonyos
1个回答
0
投票

您需要DevEco Studio才能为HarmonyOS构建HAP(应用程序包)。
否则,您只能针对 Android 操作系统进行构建,并使用 Google 和华为的实现。
这也需要一个后端,可以和苹果、谷歌、华为API交互。

例如:项目中同时有GMS和HMS

© www.soinside.com 2019 - 2024. All rights reserved.