uni-app离线打包谷歌推送集成问题咨询,版本4.36

发布于 1周前 作者 songsunli 来自 Uni-App

uni-app离线打包谷歌推送集成问题咨询,版本4.36

Image

咨询问题

1. FCM推送是否需要自己服务器去推送?还是通过uniPush的推送?
2. 集成谷歌推送是否需要集成第一个uniPush?现在同时集成会报错。
3. 只集成谷歌推送也是可以收到uniPush的在线推送,但是APP退到后台点击推送无法唤起,在线打包是可以的。
1 回复

针对您提到的uni-app离线打包谷歌推送(GCM/FCM)集成问题,以下是一个基于uni-app 4.36版本的示例代码及配置步骤,以帮助您实现该功能。请注意,此示例假定您已经具备基本的uni-app开发环境和谷歌开发者账号。

步骤一:创建Firebase项目并获取配置信息

  1. 登录Firebase控制台,创建一个新项目。
  2. 在项目设置中,找到“您的应用”,点击“添加应用”,选择“Android”平台,按照指引下载google-services.json文件。

步骤二:配置uni-app项目

  1. google-services.json文件放置在native/plugins/push/android目录下(如果没有该目录,请创建)。

  2. 修改manifest.json文件,添加GCM/FCM所需的权限和服务:

"mp-weixin": {},
"app-plus": {
    "distribute": {
        "google": {
            "GCM_SENDER_ID": "您的GCM/FCM发送者ID" // 从Firebase项目设置中获取
        }
    },
    "permissions": {
        "Internet": {},
        "ReceiveBootCompleted": {},
        "VIBRATE": {},
        "WRITE_EXTERNAL_STORAGE": {}
    },
    "services": [
        {
            "name": "com.google.firebase.messaging.FirebaseMessagingService",
            "intent-filter": {
                "action": [
                    "com.google.firebase.MESSAGING_EVENT"
                ]
            }
        },
        {
            "name": "com.google.firebase.iid.FirebaseInstanceIdService"
        }
    ]
}

步骤三:集成推送插件

确保您的项目中已经集成了uni-push插件(或其他支持FCM的推送插件)。如果未集成,可以通过HBuilderX的插件市场安装。

步骤四:编写推送接收逻辑

在您的uni-app项目中,创建一个用于接收推送消息的页面或组件,并处理推送数据。这通常涉及监听推送事件并更新应用状态。

// 在App.vue或合适的生命周期钩子中添加监听
onLaunch: function() {
    plus.push.addEventListener('receive', function(msg) {
        if (msg.aps || msg.google) {
            // 处理iOS或Android推送消息
            console.log('Received push message:', msg);
        }
    });
}

注意事项

  • 确保您的应用已正确签名,并使用与Firebase项目关联的包名。
  • 在离线打包时,确保AndroidManifest.xml和build.gradle文件正确配置了Firebase相关依赖。
  • 由于谷歌服务的限制,部分国家和地区可能无法使用GCM/FCM服务,请确保您的应用目标用户区域支持该功能。

以上步骤提供了一个基本的集成框架,具体实现可能需要根据您的项目需求进行调整。

回到顶部