我的编程空间,编程开发者的网络收藏夹
学习永远不晚

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

短信预约 -IT技能 免费直播动态提醒
省份

北京

  • 北京
  • 上海
  • 天津
  • 重庆
  • 河北
  • 山东
  • 辽宁
  • 黑龙江
  • 吉林
  • 甘肃
  • 青海
  • 河南
  • 江苏
  • 湖北
  • 湖南
  • 江西
  • 浙江
  • 广东
  • 云南
  • 福建
  • 海南
  • 山西
  • 四川
  • 陕西
  • 贵州
  • 安徽
  • 广西
  • 内蒙
  • 西藏
  • 新疆
  • 宁夏
  • 兵团
手机号立即预约

请填写图片验证码后获取短信验证码

看不清楚,换张图片

免费获取短信验证码

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

来源地址:https://blog.csdn.net/wang121213145/article/details/128953874

免责声明:

① 本站未注明“稿件来源”的信息均来自网络整理。其文字、图片和音视频稿件的所属权归原作者所有。本站收集整理出于非商业性的教育和科研之目的,并不意味着本站赞同其观点或证实其内容的真实性。仅作为临时的测试数据,供内部测试之用。本站并未授权任何人以任何方式主动获取本站任何信息。

② 本站未注明“稿件来源”的临时测试数据将在测试完成后最终做删除处理。有问题或投稿请发送至: 邮箱/279061341@qq.com QQ/279061341

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

下载Word文档到电脑,方便收藏和打印~

下载Word文档

编程热搜

  • Android:VolumeShaper
    VolumeShaper(支持版本改一下,minsdkversion:26,android8.0(api26)进一步学习对声音的编辑,可以让音频的声音有变化的播放 VolumeShaper.Configuration的三个参数 durati
    Android:VolumeShaper
  • Android崩溃异常捕获方法
    开发中最让人头疼的是应用突然爆炸,然后跳回到桌面。而且我们常常不知道这种状况会何时出现,在应用调试阶段还好,还可以通过调试工具的日志查看错误出现在哪里。但平时使用的时候给你闹崩溃,那你就欲哭无泪了。 那么今天主要讲一下如何去捕捉系统出现的U
    Android崩溃异常捕获方法
  • android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
    系统的设置–>电池–>使用情况中,统计的能耗的使用情况也是以power_profile.xml的value作为基础参数的1、我的手机中power_profile.xml的内容: HTC t328w代码如下:
    android开发教程之获取power_profile.xml文件的方法(android运行时能耗值)
  • Android SQLite数据库基本操作方法
    程序的最主要的功能在于对数据进行操作,通过对数据进行操作来实现某个功能。而数据库就是很重要的一个方面的,Android中内置了小巧轻便,功能却很强的一个数据库–SQLite数据库。那么就来看一下在Android程序中怎么去操作SQLite数
    Android SQLite数据库基本操作方法
  • ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
    工作的时候为了方便直接打开编辑文件,一些常用的软件或者文件我们会放在桌面,但是在ubuntu20.04下直接直接拖拽文件到桌面根本没有效果,在进入桌面后发现软件列表中的软件只能收藏到面板,无法复制到桌面使用,不知道为什么会这样,似乎并不是很
    ubuntu21.04怎么创建桌面快捷图标?ubuntu软件放到桌面的技巧
  • android获取当前手机号示例程序
    代码如下: public String getLocalNumber() { TelephonyManager tManager =
    android获取当前手机号示例程序
  • Android音视频开发(三)TextureView
    简介 TextureView与SurfaceView类似,可用于显示视频或OpenGL场景。 与SurfaceView的区别 SurfaceView不能使用变换和缩放等操作,不能叠加(Overlay)两个SurfaceView。 Textu
    Android音视频开发(三)TextureView
  • android获取屏幕高度和宽度的实现方法
    本文实例讲述了android获取屏幕高度和宽度的实现方法。分享给大家供大家参考。具体分析如下: 我们需要获取Android手机或Pad的屏幕的物理尺寸,以便于界面的设计或是其他功能的实现。下面就介绍讲一讲如何获取屏幕的物理尺寸 下面的代码即
    android获取屏幕高度和宽度的实现方法
  • Android自定义popupwindow实例代码
    先来看看效果图:一、布局
  • Android第一次实验
    一、实验原理 1.1实验目标 编程实现用户名与密码的存储与调用。 1.2实验要求 设计用户登录界面、登录成功界面、用户注册界面,用户注册时,将其用户名、密码保存到SharedPreference中,登录时输入用户名、密码,读取SharedP
    Android第一次实验

目录