个推是商用级的移动应用消息推送云服务供应商,客户端 SDK 支持 Android 和 iOS 两大平台,开发者集成 SDK 后,可以通过个推强大的 web 端及丰富的 API 开放接口,发送推送消息、统计分析推送效果。可有效提高 App 活跃度,增加用户留存率。
如果您还没有个推 账号,可在 个推官网 ,完成账号注册。
如果您还没有个推 应用,可参考 开发者中心使用说明 中的【新增服务】,完成 消息推送 应用创建。
若您需要在手机设备上使用个推消息推送服务,必须先完成客户端 SDK 集成。
Android 个推主包:个推为 Android 应用提供的安全稳定的推送 SDK,集成主包后仅可以使用 “在线推送”。
Android 多厂商包:个推与主流安卓厂商合作融合了厂商推送 SDK,在个推开发者中心后台配置多厂商参数、并集成多厂商包后,可以同时使用 “离线推送”,能提高在安卓厂商设备上的消息到达率。
厂商消息报表补全:由于个推透传无展示数返回,华为、荣耀、OPPO 、vivo 无完整离线点击数报表返回,为了方便您在个推后台可以看到更加完整的推送数据统计,建议您在客户端埋点上报补全。
iOS 个推主包:个推为 iOS 应用提供的安全稳定的推送 SDK,集成主包后仅可以使用 “在线推送”。
iOS 推送证书:iOS 支持的推送通知功能,从苹果开发者官网导出证书并配置在个推开发者中心后台后,可以同时使用 “离线推送”,能提高在 iOS 设备上的消息到达率。
开发者可通过调用 服务端 RestAPI V2 或者登录 个推开发者中心 从页面下发消息。(若您想对单个 cid 用户进行推送,cid 必须先从客户端获取 )
当 CID 在线(即 app 在前台打开运行)时:
消息通过个推通道下发到客户端。
具体到服务端 RestAPI-V2 代码中,即 push_message 中的 notification(通知) 或 transmission(透传) 内容传递给客户端。
注意:iOS 系统不展示个推在线通知消息,所以推送用户是 iOS 时,push_message 内只能使用 transmission,iOS 客户端在线接收时自己做通知栏展示。
当 CID 离线(即 app 在后台、锁屏、进程关闭)时:
有开启对应厂商离线功能的,消息将通过个推侧请求对应厂商侧的服务端。
具体到服务端 RestAPI-V2 代码中,即 push_channel 中的通知内容传递给厂商,实际的消息是经由厂商服务器下发至客户端;对于没有开启对应厂商功能的,消息将存在个推的离线库中,等待 CID 在线,再通过个推通道下发到客户端。
注意:若服务端 push_channel 不传值,则无法接收离线消息。
登录 个推开发者中心,进入个推消息推送 dos 页面,可通过以下 2 种方式【创建推送】。
https://dev.getui.com/
注册完成之后进入消息推送服务:
新建一个测试app,建完之后在我的——>应用管理里面可以获得app的信息:
这里面的信息等下在服务端调用的时候会用得到,有兴趣的小伙伴可以将服务端sdk的demo下载下来,很有研究价值哦。
其他详细的以及客户端的只是我就不补充了,在个推官网文档中都有很好的解释及说明。
https://docs.getui.com/getui/server/rest_v2/service_sdk/
加入依赖:
com.getui.push restful-sdk 1.0.0.1
GtApiConfiguration apiConfiguration = new GtApiConfiguration();//填写应用配置apiConfiguration.setAppId("-----");apiConfiguration.setAppKey("-----");apiConfiguration.setMasterSecret("-----");// 接口调用前缀,请查看文档: 接口调用规范 -> 接口前缀, 可不填写appIdapiConfiguration.setDomain("https://restapi.getui.com/v2/");// 实例化ApiHelper对象,用于创建接口对象ApiHelper apiHelper = ApiHelper.build(apiConfiguration);// 创建对象,建议复用。目前有PushApi、StatisticApi、UserApiPushApi pushApi = apiHelper.creatApi(PushApi.class);//推送//根据cid进行单推PushDTO pushDTO = new PushDTO();// 设置推送参数pushDTO.setRequestId(System.currentTimeMillis() + "");PushMessage pushMessage = new PushMessage();pushDTO.setPushMessage(pushMessage);GTNotification notification = new GTNotification();pushMessage.setNotification(notification);notification.setTitle("测试标题" + new Date());notification.setBody("哈哈哈");notification.setClickType("url");notification.setUrl("https://www.getui.com");// 设置接收人信息Audience audience = new Audience();pushDTO.setAudience(audience);audience.addCid("77b5b288038f1a418d071-----------");// 进行cid单推ApiResult
测试结果:
上一篇:分享5个超好用的Vue.js库
下一篇:Nodejs原型链污染