Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程
创始人
2024-05-24 04:12:11
0

文章目录

  • 一、业务介绍
    • 1.1 产品简介
    • 1.2 名词解释
    • 1.3 消息推送流程
  • 二、应用创建
  • 三、客户端 SDK 集成
    • 3.1 Android
    • 3.2 iOS
  • 四、服务端推送
    • 4.1 服务端消息下发流程(必读)
    • 4.2 开发者中心后台
    • 4.3 推送代码

一、业务介绍

1.1 产品简介

个推是商用级的移动应用消息推送云服务供应商,客户端 SDK 支持 Android 和 iOS 两大平台,开发者集成 SDK 后,可以通过个推强大的 web 端及丰富的 API 开放接口,发送推送消息、统计分析推送效果。可有效提高 App 活跃度,增加用户留存率。

1.2 名词解释

在这里插入图片描述
在这里插入图片描述

1.3 消息推送流程

在这里插入图片描述

二、应用创建

如果您还没有个推 账号,可在 个推官网 ,完成账号注册。
如果您还没有个推 应用,可参考 开发者中心使用说明 中的【新增服务】,完成 消息推送 应用创建。

三、客户端 SDK 集成

若您需要在手机设备上使用个推消息推送服务,必须先完成客户端 SDK 集成。

3.1 Android

Android 个推主包:个推为 Android 应用提供的安全稳定的推送 SDK,集成主包后仅可以使用 “在线推送”。
Android 多厂商包:个推与主流安卓厂商合作融合了厂商推送 SDK,在个推开发者中心后台配置多厂商参数、并集成多厂商包后,可以同时使用 “离线推送”,能提高在安卓厂商设备上的消息到达率。
厂商消息报表补全:由于个推透传无展示数返回,华为、荣耀、OPPO 、vivo 无完整离线点击数报表返回,为了方便您在个推后台可以看到更加完整的推送数据统计,建议您在客户端埋点上报补全。

3.2 iOS

iOS 个推主包:个推为 iOS 应用提供的安全稳定的推送 SDK,集成主包后仅可以使用 “在线推送”。
iOS 推送证书:iOS 支持的推送通知功能,从苹果开发者官网导出证书并配置在个推开发者中心后台后,可以同时使用 “离线推送”,能提高在 iOS 设备上的消息到达率。

四、服务端推送

开发者可通过调用 服务端 RestAPI V2 或者登录 个推开发者中心 从页面下发消息。(若您想对单个 cid 用户进行推送,cid 必须先从客户端获取 )

4.1 服务端消息下发流程(必读)

当 CID 在线(即 app 在前台打开运行)时:

消息通过个推通道下发到客户端。

具体到服务端 RestAPI-V2 代码中,即 push_message 中的 notification(通知) 或 transmission(透传) 内容传递给客户端。

注意:iOS 系统不展示个推在线通知消息,所以推送用户是 iOS 时,push_message 内只能使用 transmission,iOS 客户端在线接收时自己做通知栏展示。

当 CID 离线(即 app 在后台、锁屏、进程关闭)时:

有开启对应厂商离线功能的,消息将通过个推侧请求对应厂商侧的服务端。

具体到服务端 RestAPI-V2 代码中,即 push_channel 中的通知内容传递给厂商,实际的消息是经由厂商服务器下发至客户端;对于没有开启对应厂商功能的,消息将存在个推的离线库中,等待 CID 在线,再通过个推通道下发到客户端。

注意:若服务端 push_channel 不传值,则无法接收离线消息。

4.2 开发者中心后台

登录 个推开发者中心,进入个推消息推送 dos 页面,可通过以下 2 种方式【创建推送】。

https://dev.getui.com/
注册完成之后进入消息推送服务:
在这里插入图片描述
在这里插入图片描述
新建一个测试app,建完之后在我的——>应用管理里面可以获得app的信息:
在这里插入图片描述
在这里插入图片描述
这里面的信息等下在服务端调用的时候会用得到,有兴趣的小伙伴可以将服务端sdk的demo下载下来,很有研究价值哦。

4.3 推送代码

其他详细的以及客户端的只是我就不补充了,在个推官网文档中都有很好的解释及说明。
https://docs.getui.com/getui/server/rest_v2/service_sdk/

加入依赖:

com.getui.pushrestful-sdk1.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>> apiResult = pushApi.pushToSingleByCid(pushDTO);if (apiResult.isSuccess()) {// successSystem.out.println(apiResult.getData());} else {// failedSystem.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg());}

测试结果:
在这里插入图片描述

相关内容

热门资讯

喜欢穿一身黑的男生性格(喜欢穿... 今天百科达人给各位分享喜欢穿一身黑的男生性格的知识,其中也会对喜欢穿一身黑衣服的男人人好相处吗进行解...
发春是什么意思(思春和发春是什... 本篇文章极速百科给大家谈谈发春是什么意思,以及思春和发春是什么意思对应的知识点,希望对各位有所帮助,...
网络用语zl是什么意思(zl是... 今天给各位分享网络用语zl是什么意思的知识,其中也会对zl是啥意思是什么网络用语进行解释,如果能碰巧...
为什么酷狗音乐自己唱的歌不能下... 本篇文章极速百科小编给大家谈谈为什么酷狗音乐自己唱的歌不能下载到本地?,以及为什么酷狗下载的歌曲不是...
华为下载未安装的文件去哪找(华... 今天百科达人给各位分享华为下载未安装的文件去哪找的知识,其中也会对华为下载未安装的文件去哪找到进行解...
家里可以做假山养金鱼吗(假山能... 今天百科达人给各位分享家里可以做假山养金鱼吗的知识,其中也会对假山能放鱼缸里吗进行解释,如果能碰巧解...
四分五裂是什么生肖什么动物(四... 本篇文章极速百科小编给大家谈谈四分五裂是什么生肖什么动物,以及四分五裂打一生肖是什么对应的知识点,希...
怎么往应用助手里添加应用(应用... 今天百科达人给各位分享怎么往应用助手里添加应用的知识,其中也会对应用助手怎么添加微信进行解释,如果能...
客厅放八骏马摆件可以吗(家里摆... 今天给各位分享客厅放八骏马摆件可以吗的知识,其中也会对家里摆八骏马摆件好吗进行解释,如果能碰巧解决你...
美团联名卡审核成功待激活(美团... 今天百科达人给各位分享美团联名卡审核成功待激活的知识,其中也会对美团联名卡审核未通过进行解释,如果能...