uniapp如何集成firebasemessaging实现消息推送
在uniapp中如何集成Firebase Messaging实现消息推送功能?需要哪些具体步骤和配置?有没有遇到过的常见问题和解决方案可以分享?
2 回复
在uniapp中集成Firebase Messaging,需先安装uni-push插件,配置Firebase项目并下载google-services.json文件。在manifest.json中配置推送参数,使用uni.subscribePush订阅推送,通过uni.onPushMessage监听消息。注意需在Firebase控制台设置SHA1证书指纹。
在 UniApp 中集成 Firebase Cloud Messaging (FCM) 实现消息推送,需结合 uni-push 2.0 或原生插件。以下是基于 Android 平台的步骤(iOS 需额外配置 APNs):
步骤 1:配置 Firebase 项目
- 访问 Firebase Console,创建项目并添加 Android 应用。
- 下载
google-services.json文件,放置到 UniApp 项目的nativeplugins或原生平台目录(如platforms/android/app/)。
步骤 2:安装依赖
- 使用 uni-push 2.0(推荐): 在 HBuilderX 中启用 uni-push 2.0,并配置 FCM 参数。
- 或使用原生插件: 通过 UniApp 原生插件市场安装 Firebase 推送插件(如 “Firebase Push”)。
步骤 3:修改原生配置
Android:
- 在
platforms/android/app/build.gradle中添加依赖:implementation 'com.google.firebase:firebase-messaging:23.0.0' - 在
AndroidManifest.xml中注册服务:<service android:name="io.dcloud.unipush.UniPushMessageService" android:exported="false"> <intent-filter> <action android:name="com.google.firebase.MESSAGING_EVENT" /> </intent-filter> </service>
步骤 4:UniApp 代码集成
// 初始化推送(在 App.vue 的 onLaunch 中)
uni.getPushClientId({
success: (res) => {
console.log('推送客户端ID:', res.cid); // 用于后端发送消息
}
});
// 监听消息
uni.onPushMessage((res) => {
console.log('收到推送:', res);
// 处理消息内容
});
// 请求推送权限(可选)
uni.requestPushPermission();
步骤 5:后端发送消息
通过 Firebase Admin SDK 或 HTTP 请求向 FCM 发送通知,目标为获取的 clientId。
注意事项
- iOS 配置:需在 Firebase 中上传 APNs 证书,并在 UniApp 中配置 iOS 推送参数。
- 调试:使用真机测试,确保 Google Play 服务可用。
- 厂商通道:国内安卓设备可配置小米、华为等厂商通道提升送达率。
替代方案
若使用 uni-push 2.0,可直接通过 DCloud 后台配置 FCM 参数,简化集成流程。
以上步骤覆盖了基础集成流程,具体细节需根据项目调整。

