🔥码云GVP开源项目 12k star Uniapp+ElementUI 功能强大 支持多语言、二开方便! 广告
> uniPush可为IOS和安卓APP用户推送离线消息;推送消息配置过程比较繁琐,请耐心多翻阅文档,建议开发者进行配置 ##### 第一步、开通uniPush 1. 请查看[uniPush官方开通指南](https://ask.dcloud.net.cn/article/35716) 2. 其中的`iOS推送证书`,若未配置,则IOS系统用户,无法收到离线推送消息,申请IOS推送证书的流程在上面的`开通指南`中有介绍,需要注册`苹果开发者网站`费用99美元(688人民币),该费全部由苹果官方收取 3. 其中的`厂商推送参数设置`,表示向`魅族、OPPO、华为、小米、VIVO等`厂商申请离线推送消息后配置到uniPush后台,不申请,则对应品牌用户无法收到离线推送消息 4. 配置过程中出现的`应用包名/应用标识`是随便取的,比如`addon.fastim`,需和`厂商`推送后台的包名保持同步 ##### 第二步、配置后台 1. 成功注册uniPush、建立应用后,打开应用,获取应用`Uni Push`的`AppID`、`AppKey`、`MasterSecret`、`Android应用标识`全部填入后台的Im配置->消息推送配置中,并开启消息推送功能->保存设置 ##### 第三步、编译自定义调试基座 1. `HBuilder X`编辑器上,登录与`uniPush`相同的账户(编辑器左下角可切换账户) 2. `HBuilder X`内打开Im`uniapp`项目后,运行->运行到手机或模拟器->制作自定义调试基座,在打开的窗口中`Android包名`和IOS的`BundleID(AppID)`请与`后台推送配置设置的包名`、`uni Push配置`、`厂商的推送后台配置的包名`保持一致 3. 完成基座打包后:运行->运行到手机或模拟器->运行基座选择->自定义调试基座 4. 接下来,运行到设备即可接收到推送消息,若收不到,请检查通知权限、厂商推送配置、包名是否统一、以及本文档下方的各厂商奇怪规定 ##### 第四部、问题排查 * Im系统已测试`IOS`、`华为`、`小米`、`OPPO`、`魅族`的离线消息推送可以送达,若您仔细检查了自己的各项配置,并更换其他设备后任然无法接受到推送消息,请不要气馁并[与我们取得联系](https://doc.fastadmin.net/fastim/1034.html) * [uniPush官方常见问题](https://ask.dcloud.net.cn/article/id-36611__page-4) * [uniPush官方使用指南](https://ask.dcloud.net.cn/article/35622) ##### 各厂商推送的一些奇怪规定 ###### 华为 1. 必须安装“华为移动服务`HMS Core`” 2. 通知太多会自动折叠 3. 可能被归类到`静默通知`(只推送到通知栏,不响铃,不震动,不提醒),好像是根据APP历史推送的消息来分类的,`建议打开APP的营销通知和关闭静默通知` ###### VIVO 1. vivo部分机型默认关闭APP的通知 2. vivo\[运营消息\],一个设备一天只能收到5条离线消息,非运营消息需要于VIVO官网申请 3. 1个自然日内相同文案的运营消息给同个设备发,vivo会在客户端做去重处理 4. 通知文案中不能包含`测试、test`、`纯数字`、`纯表情`、`符号`或者`符号+数 字`、`表情+数字`、`表情+符号` zKS0o09ZySZRo1PiP4DowQ== ##### 小米 * 推送消息可能被归类到`不重要通知`,可通过修改APP权限规避 ##### OPPO * OPPO部分机型默认关闭APP通知权限 * 需要将通知权限下的`Default`通道权限也打开。 ##### 魅族 * 消息可能被归类到魅族手机右上角`魅族消息盒子` * 收不到推送时,请尝试清除缓存:手机->系统设置->应用管理->所有应用->点击右上角->显示系统服务应用->找到`推送服务`和`您自己的App`,分别进行`清除数据`,然后重启手机。 ##### 各厂商推送申请地址 * 华为[https://developer.huawei.com/consumer/cn/](https://developer.huawei.com/consumer/cn/) * 小米[https://dev.mi.com/console/](https://dev.mi.com/console/) * 魅族[http://open.flyme.cn/](http://open.flyme.cn/) * oppo[https://open.oppomobile.com/](https://open.oppomobile.com/) * vivo[https://id.vivo.com.cn/](https://id.vivo.com.cn/) * `安卓`注册/申请推送账户中若有疑问,[请参考](https://docs.getui.com/getui/mobile/vendor/vendor_open/) * `IOS`申请推送证书,[请参考](https://docs.getui.com/getui/mobile/ios/apns/) ##### 常见问题 ###### 1\. 什么是离线、在线消息推送 * 在线消息推送指用户的`WebSocket`已经断开,但手机APP任在前台或后台运行,任然可以向用户推送新的消息 * 离线消息推送指用户`WebSocket`已经断开且手机APP未在后台运行,任然可以向用户推送新的消息,用户手机必须开启APP的推送权限 ###### 2\. 为什么又要申请uniPush还要申请各大厂商的推送账户 * uniPush可以将各大厂商的推送Api聚合在一起,只需向对应厂商申请推送功能后,简单配置即可,而实际进行离线消息推送还是各大厂商实现的,uniPush实现了在线推送