Android,ios,安卓app推送消息通知,java后台向手机推送app的通知教程

一、业务介绍

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/

加入依赖:

<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项目查看

  • 3
    点赞
  • 33
    收藏
    觉得还不错? 一键收藏
  • 打赏
    打赏
  • 2
    评论
### 回答1: Gateway worker是一种可以将消息推送APP iOSAndroid的解决方案。通常情况下,这种技术需要服务器端与客户端进行交互来传达消息,但是Gateway worker的出现可以极大地简化这个过程,将消息的传递变得更加高效和简便。 Gateway worker的实现方法比较简单,需要在服务器端添加一个插件,使其可以与客户端实现双向通信。这个插件需要支持Swoole协议,这是一种最为流行的网络通信协议。通过这个插件,HTTP请求可以转换为WebSocket请求,从而实现推送消息的功能。 在使用Gateway worker推送消息时,通过设置一个设备ID和Token,可以将消息推送iOSAndroid设备。这个过程非常快速,基本上可以在几毫秒内完成。因此,Gateway worker尤其适合需要进行实时信息推送的应用程序。 在总结上述,Gateway worker可以快速高效地将消息推送APP iOSAndroid,通过设置设备ID和Token,可以实现消息的快速传递。Gateway worker主要基于Swoole协议和WebSocket通信协议,因此在使用前需要对这些技术进行深入理解。但是,一旦掌握了这些知识,使用Gateway worker将变得非常容易和便利。 ### 回答2: Gatewayworker是一款支持消息推送的工具,可以将推送消息通过网关传输到移动应用程序(如iOSAndroid)。使用Gatewayworker消息推送服务,需要先在开发者平台上创建一个应用程序,并生成对应的应用程序ID和应用程序Key。 在应用程序中,需要将Gatewayworker SDK集成到应用程序中,将应用程序ID和应用程序Key配置为Gatewayworker SDK的参数,并获取设备标识符(如设备ID、APNS或GCM的token等)。在使用Gatewayworker SDK的过程中,需要先向Gatewayworker服务器注册设备,然后才能够向设备推送消息。 要推送消息到设备,在应用程序中需要将消息封装为Gatewayworker SDK支持的格式,并指定接收消息的设备标识符。然后,将消息发送到Gatewayworker服务器,并由Gatewayworker服务器转发到接收方设备。接收方设备通过Gatewayworker SDK接收推送消息,并在应用程序中处理消息。 总的来说,Gatewayworker是一个强大的推送服务工具,使得移动应用程序开发人员可以方便地向iOSAndroid设备推送消息,提高了应用程序的使用体验和用户满意度。

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包

打赏作者

杵意

谢谢金主打赏呀!!

¥1 ¥2 ¥4 ¥6 ¥10 ¥20
扫码支付:¥1
获取中
扫码支付

您的余额不足,请更换扫码支付或充值

打赏作者

实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值