Uniapp+GoEasy原生插件实现通知栏推送过程中的问题排查记录

我们是uniapp开发的app,项目中的系统消息推送使用的是GoEasy Websocket 实时推送,上线一段时间后,客户反馈说,当app没有在前台运行时也需要想办法通知用户一些重要的系统通知。那么此时通知栏推送就需要集成了。
集成通知栏推送很麻烦,国内一些公司做了一些插件来帮我们打通app跟厂商之间的api的调用,这确实也大大减少了开发者的工作量,但是在集成厂商通道的过程中还是遇到了一些问题, 我这里记录一下,也方便之后为其他app项目集成厂商通道时方便排错。

为什么选择GoEasy原生插件来实现通知栏推送 而不是unipush?

  1. 使用GoEasy原生插件来推送通知栏提醒只会在需要推送通知栏的时候推送,不会滥推给客户带来骚扰。
    app前台运行时我们使用的是 GoEasy Websocket, 所以 GoEasy知道客户端的连接情况,根据GoEasy websocket的连接情况来推送该推送的通知栏提醒。 如果用unipush,这个是否在线的判断,就需要我自己来做,而且我也很难判断,又不可能每条都推送通知栏提醒。
  2. GoEasy通知推送为付费服务,当通知栏推送不工作时,有专人协助我排查问题,但是使用unipush,虽然免费,但是收不到通知栏推送消息时,几乎只能靠自己 和百度来解决问题,调试成本高。

通知栏推送的分类和基本工作方式

通知栏推送分两种:

  1. 本地通知
  2. 离线通知

本地通知,指app在后台运行,且goeasy websocket连接未断开时,处理的通知栏推送,此时通知栏推送是goeasy sdk完成的,无上架要求。

离线通知, 指goeasy连接断开或者app进程被杀后,需要通过厂商推送来实现的通知栏提醒。什么意思呢? 就是这种情况下,只有通过各个手机厂商自己的推送服务平台向手机推送通知栏推送。目前goeasy支持以下厂商:

  1. APNs (iOS苹果)
  2. 小米 (需要上架才能推送)
  3. 华为
  4. vivo (需要上架才能推送)
  5. oppo
  6. 魅族
  7. FCM (这个只适用海外用户通过google服务来进行通知栏推送,国内的项目用不上,因为google服务被墙了)
GoEasy 是一个用于微信生态开发的框架,它可以帮助你在 UniApp 中集成微信推送功能。要在 UniApp 中通过 GoEasy 实现推送用户新增排查任务,你需要完成以下几个步骤: 1. **安装依赖**: 首先,确保已安装了 `goeasy` 和微信开发者工具(包括微信开放平台账号和配置)。 2. **初始化配置**: 在项目中引入 `goeasy` 的相关模块,并设置微信 AppID、AppSecret 和 EncodingAESKey: ```javascript import { Wechat } from '@vant/wechat'; const wechat = new Wechat({ appid: 'your_app_id', secret: 'your_app_secret', aesKey: 'your_encoding_aes_key', // 其他可选配置项... }); ``` 3. **创建通知消息**: 根据 uni-app 的通知规范,你可以创建一个包含任务详情的 JSON 数据结构: ```javascript const taskMessage = { title: '新任务提醒', description: '您有一项排查任务等待处理', data: { taskId: 'task_123', // 排查任务唯一标识 details: '详细描述...', }, }; ``` 4. **发送通知**: 使用 `wechat.sendNotification` 方法发送通知到用户: ```javascript async function sendTaskNotification(userId) { try { await wechat.sendNotification('message-news', userId, taskMessage); console.log('推送成功'); } catch (error) { console.error('推送失败:', error.message); } } ``` 5. **触发推送**: 当有新的排查任务时,调用 `sendTaskNotification` 函数并传入对应的用户 ID。 注意:在实际应用中,可能需要处理用户授权和状态验证等问题。并且,UniApp推送API可能会有所差异,具体实现应参照官方文档。
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值