前言:
最近使用hbuilder开发的一个app中用到了个推功能,在此期间,翻看了DCloud和百度上一些有关个推的问题,目前这种例子太少,以至于遇到问题,百度也搜不到标准答案。
这次后台用的java语言,app用的mui框架,推送目标既有android,也有ios。
首先,在hbuilder上集成个推前,先仔细参照
manifest.json
中plus.push推送SDK配置指南(下图)
阅读完配置指南,接下来:
1、你可以先在个推开放平台,使用平台自带的demo,安装到自己手机中,在个推官网测试推送,这个非常简单,这里不在说明。
2、新建一个带有各种H5+例子的app项目,自己测试推送。
3、在个推开放平台新建应用,自动获取到appid,appkey等,
然后配置好下图中android的应用标识,需要ios推送再配置好ios应用证书(ios注册证书的流程在DCloud中有说明),
在需要集成个推的项目中,配置好appid,appkey等(注意有些地方要一致,配置说明教程中都有,自己注意),
打包发布,安装应用。
安装完应用后,在个推官网下载java版sdk(下图)
参照API文档>>快速入门.pdf中的流程,
使用javaSDK测试推送,各项无误的话,很简单就能推送成功(注意:流程中使用的是 对指定应用群推消息)。
最后把所有文件阅读一遍,熟悉各个功能和接口。
推送模板中有4种,各位可以根据自己情况自行选择。
消息推送方式中有8种,
博主根据业务需求选择的是对指定列表用户推送消息。
代码直接复制到后台。
前台可以把配置说明中(下图)的代码修改下,放到自己项目中。
最后需要打包测试,真机运行不支持推送。
如何获取到实际的clientid(安卓)或者token(苹果),在H5+功能接口中有说明;
plus.push.getClientInfo().clientid;
plus.push.getClientInfo().token;clientid和token也需要实际打包后获取,真机测试可能会不一致。
最后说明几点:
1、安卓下:
应用的进程被kill后,无法收到消息;如果推送时app进程没有运行,再次打开app时才能显示消息,所以需要保证其进程运行状态下测试。
2、苹果下:
应用在线时,推送的消息不会进入系统通知栏。
如果不是通过APS通道发送的,页面中需要监听“receive”事件。
如果是通过APS通道发送的,需要在在“receive”事件回调的“PushMesage”对象中获取“aps”属性的值。
应用不在线时,后台发送的推送先发送到ios的APS服务器上,其次转发到终端应用上,显示在系统通知栏。
后台代码:
import java.util.ArrayList;