文章目录 一、业务介绍1.1 产品简介1.2 名词解释1.3 消息推送流程 二、应用创建三、客户端 SDK 集成3.1 Android3.2 iOS 四、服务端推送4.1 服务端消息下
个推是商用级的移动应用消息推送云服务供应商,客户端 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/
加入依赖:
<dependency> <groupId>com.getui.push</groupId> <artifactId>restful-sdk</artifactId> <version>1.0.0.1</version> </dependency>
GtApiConfiguration apiConfiguration = new GtApiConfiguration(); //填写应用配置 apiConfiguration.setAppId("-----"); apiConfiguration.setAppKey("-----"); apiConfiguration.setMasterSecret("-----"); // 接口调用前缀,请查看文档: 接口调用规范 -> 接口前缀, 可不填写appId apiConfiguration.setDomain("https://restapi.getui.com/v2/"); // 实例化ApiHelper对象,用于创建接口对象 ApiHelper apiHelper = ApiHelper.build(apiConfiguration); // 创建对象,建议复用。目前有PushApi、StatisticApi、UserApi PushApi pushApi = apiHelper.creatApi(PushApi.class); //推送 //根据cid进行单推 PushDTO<Audience> pushDTO = new PushDTO<Audience>(); // 设置推送参数 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<Map<String, Map<String, String>>> apiResult = pushApi.pushToSingleByCid(pushDTO); if (apiResult.isSuccess()) { // success System.out.println(apiResult.getData()); } else { // failed System.out.println("code:" + apiResult.getCode() + ", msg: " + apiResult.getMsg()); }
测试结果:
https://docs.getui.com/getui/server/rest_v2/common_args/
等等,可以下载官方sdk项目查看
来源地址:https://blog.csdn.net/wang121213145/article/details/128953874
--结束END--
本文标题: Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程
本文链接: https://www.lsjlt.com/news/414421.html(转载时请注明来源链接)
有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341
下载Word文档到电脑,方便收藏和打印~
2024-01-21
2023-10-28
2023-10-28
2023-10-27
2023-10-27
2023-10-27
2023-10-27
回答
回答
回答
回答
回答
回答
回答
回答
回答
回答
0