功能介绍-消息提醒

1. 功能介绍

本模块开启后,可以使APP在处于离线状态时,依然能够收到消息通知和通话呼叫邀请。

本模块是通过接入unipush1.0实现,为何选择unipush1.0作为离线推送的sdk?

2. 购前须知

  1. 支持国内的主流品牌:苹果、华为、小米、oppo、vivo、荣耀,但海外推送还未完成调试
  2. 华为、小米、oppo、荣耀,这几个品牌需要用户手动开启消息通知权限
  3. 本模块需调用unipush(个推)的sdk,所以服务器需要访问外网的能力
  4. 为节约服务器资源,超过30天未登录的用户不会收到离线通知
  5. 由于盒子IM不能像微信一样具备常驻后台权限,加上开发时间有限,实现的效果跟微信等知名社交软件还是有差距的,请老板们购买前务必在体验环境进行体验,确认效果能达到预期
  6. 启用本功能需老板们自行开通unipush权限,并在手机厂商开发者后台开通推送服务
  7. 开通消息推送有一定的门槛,小米、oppo、vivo均要求app上架后才可开通推送权限
 

3. 使用说明

3.1. 配置说明

配置项

默认值

说明

notify.enable

false

是否开启离线通知。当不需要离线通知或unipush权限未开通时,请设置为false,否则会有报错且有性能损耗

notify.debug

false

是否调试模式。当华为或荣耀厂商的账号未申请消息分类时,一天只能推2条消息,此时将此参数设置为true后,一天可以发500-1000条消息,但此参数在生产环境必须设置为false

notify.app-name

盒子IM

应用名称。同时也是通知栏上显示的默认名称

notify.package-name

com.boxim

应用包名。需跟unipush后台配置的一致

notify.active-days

30

用户最近活跃天数。为节约服务器资源,大于30天内未登陆的用户不推送离线通知

notify.max-size

-1

最大消息数量,-1表示不限制。为节省服务器资源和减少对用户的打扰,用户接收消息数量超过此值时不再推送,用户每次在APP登陆时,消息数量会重置

notify.uni-push

 

unipush的账号信息。位置:dcloud开发者中心->unipush->消息推送->配置管理->应用配置

notify.manufacturer.xm-channel-id

 

小米消息类别channelId。

notify.manufacturer.hw-category

IM

华为消息分类类型,开通推送服务后自行申请

notify.manufacturer.op-category

IM

oppo消息分类类型,开通推送服务后自行申请

notify.manufacturer.vv-category

IM

vivo消息分类类型,开通推送服务后自行申请

配置样例参考:

application.yml
notify:
  enable: true # 是否开启推送功能
  debug: false # 调试模式,生产环境必须关闭,华为手机在调试模式下,一天可发送500条消息
  app-name: 盒子IM # app名称,也是默认title
  package-name: com.boxim # 应用包名,跟unipush后台配置的一致
  active-days: 30   # 用户最近活跃天数,30天内未登陆的用户不推送
  max-size: -1   # 最大消息数量,未读数量超过此值不再推送,-1表示不限制
  uni-push:
    app-id: nyK71XQYUy9s7vasoutlp1
    app-key: XtG6NkUSL98evt23gSE0jYA
    master-secret: MxApXxsx05231jcPCeC0cXk6
  manufacturer:
    xm-channel-id: 100142 # 小米消息类别channelId
    hw-category: IM # 华为消息类别
    op-category: IM # oppo消息类别
    vv-category: IM # vivo消息类别

3.2. 开通unipush

离线通知功能需要您自行开通unipush权限。

开通unipush权限不难,但是还需要在每个手机厂商注册账号并开通推送消息权限,每个手机厂商还有自己的一些规则和限制,里面还涉及到不少概念和术语,整个过程还是相当繁杂的。

这里为汇总一些作者认为比较重要的文档链接,希望对您有所帮助:

uniapp对于unipush1.0的官方文档:

https://uniapp.dcloud.net.cn/unipush-v1.html

unipush开通指南:

https://ask.dcloud.net.cn/article/35716

最新厂商限额规则(安卓离线推送必读):

https://docs.getui.com/getui/mobile/vendor/qps/

个推说明文档(unipush其实用的是个推的sdk):

https://docs.getui.com/getui/server/rest_v2/push/

安卓常见问题:

https://docs.getui.com/getui/question/android/

如果对于unipush相关的问题还有疑虑,可以使用微信扫描下面二维码,进行技术咨询,会有专业的个推专业人员为您解答:

d2b5ca33bd20250831153333

4. 常见问题

4.1. 为何选择unipush1.0作为离线推送的sdk?

  • unipush1.0目前可以免费使用,而其他如极光、unipush2.0等sdk均需要收费
  • unipush2.0虽然是uniapp推荐的版本,但unipush2.0依赖unicloud云环境,主要是用于消息不走自己服务器的场景,而我们是有自己的服务器的
  • unipush2.0如果需要在后台进行推送,需要通过定义云函数的方式,概念比较抽象。而unipush1.0有现成的java sdk,接入更简单
  • 综合以上,作者认为unipush1.0更适合盒子IM的场景

5. 效果截图

离线消息通知:

d2b5ca33bd20250831153346

离线呼叫通知:

d2b5ca33bd20250831153356

 

 

© 版权声明
THE END
喜欢就支持一下吧
点赞15 分享
评论 抢沙发

请登录后发表评论

    暂无评论内容