极光消息推送价值与优势

极光消息推送价值与优势

产品核心价值

多平台多通道支持

全面兼容和支持 Android、iOS、鸿蒙、快应用和 winphone 平台,提供极光通道、APNs、VoIP、FCM、华为、小米、OPPO、vivo、魅族、华硕等系统级消息下发通道,全面提升消息送达率。

9 种消息类型

可以轻松地通过极光推送完成运营推送工作同时支持自定义消息、富媒体消息、应用内提醒消息、短视频消息和围栏消息等 9 种类型,满足开发者在各类应用场景下运营所需。

丰富的消息样式

极光 PUSH 支持通知栏样式、大文本样式、大图片样式、抽屉样式、全屏样式、信息流样式、弹窗样式和自定义样式等多种消息展示方式,通过新颖的展示样式可以有效提升用户兴趣和消息点击率。

个性化推送

与极光全网用户标签无缝衔接、通过别名、标签、地理围栏、设备标签和用户分群实现精细化的运营推送,对每个用户实现个性化推送,有效提升点击率​。

数据统计分析

完整的消息生命周期查询,支持分平台、分通道的消息漏斗分析和折损分析,同时支持用户新增、活跃和卸载统计、通知权限关闭和开启统计、消息送达率和点击率统计等,为开发者的后效分析和改进提供辅助决策。​

应用数据洞察

利用极光数据应用能力,为开发者分析 APP 应用在行业排名和渗透率,提供 APP 用户精准画像和线下行为分析服务、支持设备分析功能。

极光推送安全包

为避免运营事故,提升运营安全,为金融、新闻、政务及其他对推送安全要求极高的客户提供了包含黑词检测、推送审核、重发检测和消息撤回等安全严谨、稳定可靠的信息推送解决方案。

可定制的私有云

对于安全性要求更高,希望推送数据和系统存储在自己服务器的客户,及个性化需求需要定制开发的,性能更高要求的,或者想拥有自己推送平台的甚至要求源码授权二次开发的企业,极光提供全功能的私有云解决方案。

产品优势

快速构建推送能力

快速集成 SDK,简单易用的控制台和 API,1 小时为您的应用构建强大的推送能力​。

灵活的目标筛选

提供用户自定义的标签和别名系统,无缝衔接极光全网数据,实现精准用户分群​。

高效稳定的系统

日超百亿级的消息发送量,高并发高可靠,海外专线,多点备份保证系统的稳定、安全和高效。

极速消息下发和送达

极光通道和厂商通道下发策略灵活配置,服务器支持每秒数百万级消息下发,毫秒级触达终端用户。

精准的后效分析

产品支持分平台分通道的消息数数量、送达率、展示率和点击率统计,支持分阶段分来源的查看折损,改进推送策略。

有力的运营促活工具

支持短视频促活、通知开启引导、消息盒子等运营万能工具箱。

产品高级特性

离线消息存储

极光推送支持将离线设备导致的暂时无法下发的消息缓存,等待设备在线后再下发从而提升送达率。

厂商配额余量

极光支持实时轮询厂商配额的实时余量,根据余量调整发送策略,保障消息的高送达率。

内容合规检测

极光推送支持对通知标题和内容进行敏感词、长度等进行实时检测和提醒,避免消息被厂商拦截。

推送内容渠道化

极光推送支持开发者根据各个厂商通道对长度的限制,按厂商设定不同长度的文案,以实现对各个厂商的兼容性。

定时推送

极光推送支持设置单次定时消息、重复定时消息,到期自动执行消息下发任务。

角标提醒

极光推送支持数字类型角标的自增、加减逻辑,支持红点类型角标的展示。

通知分组

极光推送支持开发者通过 Channel ID 实现通知折叠、通知不折叠、消息优先级、消息提醒方式等特性。

自定义铃声

极光推送支持根据 Channel ID 设置自定义铃声,实现区别不同类型消息的提示音效,优化用户体验。

批量单推

极光推送支持 RID 或别名两种类型的批量单推,包含通知、自定义消息和短信,实现千人千面的个性化消息内容推送。

文件推送

支持开发者上传文件作为推送目标,推送服务解析文件中的 RID 进行推送,提高推送效率。

应用分组推送

对于开发者有多个应用需要同时推送的需求,极光推送支持应用分组推送,一次推送可以覆盖多个应用。

消息撤回替换

对于误发或内容异常的通知消息,极光推送支持消息撤回功能、消息替换和发送终止等服务。

服务集成检测

极光推送支持开发者一键检测应用当前业务集成深度,查看通道集成、在线用户、可推送用户等数据,帮助开发者完善推送服务的集成。

智能发送策略

Android 各厂商针对消息的下发有不同限制措施和规则,支持根据厂商消息配额余量,智能调整消息通道路由,最大化的保障消息的正常下发。

异常排查工具

极光推送支持开发者查询消息下发生命周期、错误 code、消息体和设备基本信息。帮助开发者解决问题、排查异常。

极光消息推送产品概述

极光消息推送产品概述

极光推送(JPush)是日均消息量超百亿级规模的 App 消息推送专业服务平台,极光推送支持 Android、iOS、QuickApp、Web 等平台,SDK 接入方便快捷,推送通道高速稳定且支持海外专线,API 开放接口强大、灵活和易用、WEB 端支持创建通知、后效分析、标签别名管理和故障排查等运营功能。
极光推送(JPush)在为开发者提供基础推送服务的同时,还提供了用户精准标签、用户分群、地理围栏、应用内消息、智能发送策略、智能促活等服务能力,可有效提升消息的送达率、展示率和点击率,通过精细化运营触达助力 APP 提升日活和留存。

平台类型支持

平台类型AndroidiOSQuickAppWebWinphoneWindowsMac
支持情况支持支持支持支持(私有云)支持支持(私有云)支持(私有云)

消息类型支持

消息类型通知栏消息自定义消息应用内消息地理围栏消息通知栏 + 自定义消息自定义消息转
通知栏消息
应用内提醒消息
支持情况支持支持支持支持支持支持支持

通知样式支持

通知样式默认样式缩略图样式大图样式文本样式收件箱样式自定义样式
支持情况支持支持支持支持支持支持

发送策略支持

极光推送为了提升送达率、解决厂商通道的配额限制和保障消息即时送达等问题,为开发者提供了多种推送策略,开发者在推送管理后台可以选择合适的发送策略,在 API 端支持开发者以厂商通道为颗粒度制定发送策略。发送策略具体详情请参考 发送策略说明

消息类型发送策略字段发送策略字段值及定义说明
通知栏消息发送策略distributionjpush:仅走极光通道下发ospush:强制走厂商通道下发secondary_push:优先走极光,极光离线再走厂商first_ospush:成功注册厂商通道的设备走厂商通道,仅注册极光通道的设备走极光通道
自定义消息发送策略distribution_customizejpush:仅走极光通道下发secondary_push:优先走极光,极光离线再走厂商first_ospush:成功注册厂商通道的设备走厂商通道,仅注册极光通道的设备走极光通道

统计分析支持

APP 维度统计功能

统计功能功能描述
数据概况支持小时粒度的消息数据实时统计,展示今日和昨日数据趋势对比。支持查看昨日推送转化漏斗数据,查看昨日送达率和点击率数据。支持查看最新的设备通知权限开启率数据。支持分平台、分通道的查看历史推送转化趋势数据。支持分平台、分通道、分阶段的查看历史推送消息的折损统计数据。
消息推送统计支持分平台、分通道、分消息类型、分 APP 版本的查看历史推送数据。支持日、月两个维度查看自定义时间范围的消息送达率、点击率、有效目标数、发送数量、送达数量、展示数量和点击数量等数据。
推送用户统计支持分平台、分渠道、分 APP 版本的查看推送用户历史数据。支持日、月两个维度查看自定义时间范围的推送新增用户、在线用户、活跃用户和卸载用户等数据。
通知权限统计支持分平台、分 APP 版本的查看设备通知权限开关数据。支持日、月两个维度查看自定义时间范围的设备通知开启数、通知关闭数、新增通知开启数、新增通知关闭数和通知开启率等数据。
API 调用统计支持查看自定义事件范围内的 PUSH API 调用次数。

MessageID 维度统计功能

统计功能功能描述
消息推送统计支持通知栏消息、自定义消息、短信和应用内提醒消息四种基础消息类型的推送转化统计报表。支持查看 msgid 维度的送达率、展示率和点击率。支持分平台、分通道的查看该 msgid 维度的有效目标数、发送数量、展示数量和点击数量。
消息折损统计支持分平台、分通道的查看 msgid 维度的消息折损统计,折损原因支持两级折损原因统计分析。支持 {计划目标}-{有效目标}-{发送数量}-{送达数量}-{点击数量} 总共 4 个阶段的折损数量统计。
均值对比支持查看 msgid 维度的送达率与本 APP 历史送达率均值对比、msgid 维度的点击率与本 APP 历史点击率均值对比。

REST API 能力支持

API 项功能描述
PUSH API开发者通过 PUSH API 可完成极光推送的全部消息推送功能,可轻松在自有运营后台构建推送运营计划。API 提供了相较于推送 portal 页面功能更强大、更灵活的功能接口。
Report API提供各类统计数据查询功能,方便开发者及时了解消息的各项状态以及用户数据。API 提供了获取推送消息统计数据和用户数据统计的功能接口。
Device API提供对 rid 设备信息进行增删改查的功能,设备信息包括:tag、alias、phone、在线状态。
Schedule API开发者通过 Schedule API 可实现对极光全部消息进行定时推送的功能。
File API开发者通过 File API 可实现对极光推送目标为内容的文件的操作,进而完成文件推送功能。
Image API开发者通过 Image API 可完成对各厂商通道推送大图片、大图标和小图标进行统一的功能。
Admin API提供给开发者创建 / 删除 app,上传证书等功能。

SDK 能力支持

SDK/ 插件项功能描述
Android SDKJPush Android SDK 是极光推送为 Android 平台开发的 SDK,作为 Android Service 运行在后台,接收并处理服务端推送的通知消息。
iOS SDKJPush iOS SDK 是极光推送为 iOS 平台开发的 SDK,使用官方推送通道作为 iOS Service 运行在后台,接收并处理服务端推送的通知消息。
服务端 SDKJPush 服务端所提供 PUSH 后台服务 SDK,包含 Java、Python、PHP、Ruby、C# 和 Node.js,发布在 GitHub 上。
客户端插件JPush 提供主流的开发工具集成插件,包含 Flutter、Uniapp、React Native 和 Cocos2d-x 等,发布在 GitHub 上。

技术服务支持

1、当您在使用过程中当出现问题时:

  • 请仔细阅读文档,查看是否有遗漏。 Android FAQ 、 iOS FAQ
  • 你可以到极光社区搜索类似问题。
  • 在极光推送后台使用「排查工具」解决消息送达问题。
  • 在极光推送后台使用「智能诊断」解决服务集成问题。
  • 给我们的 support 发邮件 support@jiguang.cn

2、为了更快速的解决问题,在寻求帮助时,请提供下列信息:

  • 你需要咨询的产品是 JPush,是否同时使用了极光其他的产品。
  • 你所调用的是什么 API,所传参数,完整的报错信息,出现异常的时间点。
  • 如果收不到消息,提供应用的 Appkey,消息的 Message ID,设备的 registration ID 信息。
  • 如果是 SDK 问题请提供对应的 SDK 版本和完整的日志记录,日志信息请使用 TXT 文件上传。
  • 出现异常的设备是 iOS 还是 Android,列出具体的机型和系统。

getAllTags 获取当前绑定的所有标签 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getAllTags 获取当前绑定的所有标签 APP开发接入极光消息推送能力

♦ 回调方法参数返回标签数组

核心代码示例,详情参阅demo

jsBridge.jiguang.getAllTags(function(tags){
  alert(JSON.stringify(tags));
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.getAllTags(function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.getAllTags(function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

cleanTags 清空所有标签 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

cleanTags 清空所有标签 APP开发接入极光消息推送能力

核心代码示例,详情参阅demo

jsBridge.jiguang.cleanTags(function(tags){
  alert(JSON.stringify(tags));
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.cleanTags(function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.cleanTags(function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

deleteTags 删除指定标签 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

deleteTags 删除指定标签 APP开发接入极光消息推送能力

核心代码示例,详情参阅demo

jsBridge.jiguang.deleteTags(['tag3', 'tag4'], function(tags){
  alert(JSON.stringify(tags));
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.deleteTags(['tag3', 'tag4'], function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.deleteTags(['tag3', 'tag4'], function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

addTags 新增标签 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

addTags 新增标签 APP开发接入极光消息推送能力

核心代码示例,详情参阅demo

jsBridge.jiguang.addTags(['tag4', 'tag5'], function(tags){
  alert(JSON.stringify(tags));
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.addTags(['tag4', 'tag5'], function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.addTags(['tag4', 'tag5'], function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

setTags 设置标签 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

setTags 设置标签 APP开发接入极光消息推送能力

♦ 注意这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

核心代码示例,详情参阅demo

jsBridge.jiguang.setTags(['tag1', 'tag2', 'tag3'], function(tags){
  alert(JSON.stringify(tags));
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setTags(['tag1', 'tag2', 'tag3'], function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setTags(['tag1', 'tag2', 'tag3'], function(tags){
  alert(JSON.stringify(tags));
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

getAlias 获取别名 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getAlias 获取别名 APP开发接入极光消息推送能力

核心代码示例,详情参阅demo

jsBridge.jiguang.getAlias(function(alias){
  alert(alias);
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.getAlias(function(alias){
  alert(alias);
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.getAlias(function(alias){
  alert(alias);
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

deleteAlias 删除别名 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

deleteAlias 删除别名 APP开发接入极光消息推送能力

核心代码示例,详情参阅demo

jsBridge.jiguang.deleteAlias(function(alias){
  alert(alias);
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.deleteAlias(function(alias){
  alert(alias);
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.deleteAlias(function(alias){
  alert(alias);
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

setAlias 设置别名 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

setAlias 设置别名 APP开发接入极光消息推送能力

注意这个接口是覆盖逻辑,而不是增量逻辑。即新的调用会覆盖之前的设置。

核心代码示例,详情参阅demo

jsBridge.jiguang.setAlias('your_alias', function(alias){
  alert(alias);
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setAlias('your_alias', function(alias){
  alert(alias);
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setAlias('your_alias', function(alias){
  alert(alias);
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

setBadge 设置角标 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

setBadge 设置角标 APP开发接入极光消息推送能力

♦ 安卓仅支持华为部分机型,SDK说明

♦ 苹果设置 JPush 服务器中存储的 badge 值,SDK说明

核心代码示例,详情参阅demo

jsBridge.jiguang.setBadge(12);

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setBadge(12);

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setBadge(12);

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

getRegistrationID 获取消息接收设备唯一标识 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

getRegistrationID 获取消息接收设备唯一标识 APP开发接入极光消息推送能力

♦ APP 第一次启动极光推送,极光服务器会分配一个此设备的唯一标识 – RegistrationID;

♦ 你可以将 RegistrationID 保存到自己的服务器上,可以根据 RegistrationID 来向此设备推送消息;

核心代码示例,详情参阅demo

jsBridge.jiguang.getRegistrationID(function(rid){    
  //复制到剪贴板
  jsBridge.setClipboardText(rid);
  jsBridge.toast("已复制");
  alert(rid);
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.getRegistrationID(function(rid){    
  //复制到剪贴板
  jsBridge.setClipboardText(rid);
  jsBridge.toast("已复制");
  alert(rid);
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.getRegistrationID(function(rid){    
  //复制到剪贴板
  jsBridge.setClipboardText(rid);
  jsBridge.toast("已复制");
  alert(rid);
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

isPushStopped 检查推送是否已停止 APP开发接入极光消息推送

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

isPushStopped 检查推送是否已停止 APP开发接入极光消息推送

核心代码示例,详情参阅demo

jsBridge.jiguang.isPushStopped(function(stopped){
  alert(stopped);
});

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.isPushStopped(function(stopped){
  alert(stopped);
});

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.isPushStopped(function(stopped){
  alert(stopped);
});

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

resumePush 恢复推送 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

resumePush 恢复推送 APP开发接入极光消息推送能力

核心代码示例,详情参阅demo

jsBridge.jiguang.resumePush();    
alert("已恢复接收推送");

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.resumePush();    
alert("已恢复接收推送");

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.resumePush();    
alert("已恢复接收推送");

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

stopPush 停止推送 APP开发接入极光消息推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

stopPush 停止推送 APP开发接入极光消息推送能力

♦ 停止后其他所有的 API 调用都无效。

♦ iOS 不推荐调用这个接口,因为这会使 DeviceToken 失效,建议提醒用户在 设置-通知 中关闭推送服务。

核心代码示例,详情参阅demo

jsBridge.jiguang.stopPush();
alert("已停止接收推送");

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.stopPush();
alert("已停止接收推送");

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.stopPush();
alert("已停止接收推送");

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

setListener 设置消息监听器 APP开发接入极光推送能力

用做网页的技术做APP
一门提供标准化的jsbridge-mini.js库,您只需要在页面引用执行JS即可实现各种原生APP、原生PC的功能能力。

==================APP端==================
【APP端】(安卓版&苹果版)目前提供200+原生功能,2000+JS映射接口,用做网站的技术即可实现各种原生APP能力、APP demo地址https://www.yimenapp.com/doc/demo.cshtml下载教程:
♦ JS-SDK 引用方式:
♦ 普通网页 script 方式加载:下载最新版,请在页面上调用 jsBridge 接口之前引用 jsbridge-mini.js 库;
♦ js module 方式引用:npm install ym-jsbridge 具体请参考 npm package
一门APP开发平台通用JS

setListener 设置消息监听器 APP开发接入极光推送能力

• 设置本监听器可以收到极光下发的通知和自定义消息;

• 如果多次设置监听器,只有最后一个才会收到通知。

核心代码示例,详情参阅demo

jsBridge.jiguang.setListener(function(msg) {
  alert(JSON.stringify(msg));
});
alert("已设置监听器");

/**
msg 回调参数说明
{
  messageId: //极光下发消息的编号,字符串类型
  payload:   //消息内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(payload) 转换    
  extra:     //附加内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(extra) 转换
}
**/

A标签执行JS示例代码

<a href="javascript:void(0)" onclick="zhixing()">执行</a> 
<!-- 写入一个A标签href值为"javascript:void(0)",定义点击事件onclick;-->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- 在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接;-->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setListener(function(msg) {
  alert(JSON.stringify(msg));
});
alert("已设置监听器");

/**
msg 回调参数说明
{
  messageId: //极光下发消息的编号,字符串类型
  payload:   //消息内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(payload) 转换    
  extra:     //附加内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(extra) 转换
}
**/

}
</script>
<!--执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可;-->

按钮执行JS示例代码

<button onclick="zhixing()" >执行</button>
<!-- //写一个按钮,定义点击执行事件; -->
<script src="您的服务器URL/jsbridge-mini.js"></script>
<!-- //在您的服务器引入一门JS地址,请下载jsbridge-mini.js上传您自己的服务器获取链接; -->
<script type="text/javascript">
function zhixing() {


<!--这里可以直接复制JS核心代码到此{}括号内-->
jsBridge.jiguang.setListener(function(msg) {
  alert(JSON.stringify(msg));
});
alert("已设置监听器");

/**
msg 回调参数说明
{
  messageId: //极光下发消息的编号,字符串类型
  payload:   //消息内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(payload) 转换    
  extra:     //附加内容,字符串类型,如果你发送的是JSON数据,可以用 JSON.parse(extra) 转换
}
**/

}
</script>
<!-- //执行核心代码;
//如果需要进入页面就执行,去掉点击事件即可; -->

个推消息推送消息终止、覆盖和撤回

个推消息推送消息终止、覆盖和撤回

一、需求背景

1.1 背景描述

APP 在进行日常消息推送的过程中,因为种种原因,有时会出现推送“失误”,比如不小心推送内容输入错误,或是测试生产环境切换错误,给线上用户推送了测试消息等等。个推消息推送的消息终止、消息覆盖和消息撤回三大功能可以有效帮助 APP 避免推送“失误”。

1.2 名称解释

名词解释
消息终止对正处于推送状态,或者未接收的消息停止下发(只支持批量推和群推任务)。
消息覆盖实现消息覆盖,可以通过相应接口重新发一条具有相同id的消息实现,如果推送的消息未设置此id,则无法实现消息覆盖功能。
消息撤回消息撤回是指对已经发送的个推通道消息进行撤回。客户端接收到消息撤回的指令,会将通知栏中展示的消息进行删除,不再展示。

1.3 功能支持情况

功能支持情况
消息终止支持个推通道存入离线库状态的批量推/群推任务, 不支持安卓厂商/iOS离线
消息覆盖支持个推通道/安卓厂商(华为、小米、OPPO、魅族)/iOS
消息撤回支持个推通道的通知消息/安卓厂商(小米、vivo)

二、功能实现

  • 终止、撤回、覆盖功能实现,客户端不用操作,服务端调用相应的api接口即可
  • 终止、撤回、覆盖功能适用于通知消息
  • 开发者可通过调用 服务端 RestAPI V2 实现对应的功能。

2.1 消息终止代码示例

curl --location --request DELETE 
'https://restapi.getui.com/v2/appid/task/$taskid' \
--header 'content-type: application/json' \
--header 'token: $taskid' \
--data-raw ''

注意事项

  • 只支持批量推和群推任务,单推任务不支持

2.2 消息覆盖代码示例

对于个推通道消息,可设置相同的notify_id,示例:
{
    "push_message":{
        "notification":{
            "notify_id":1111
        }
    }
}

对于IOS通道消息,可设置相同的apns-collapse-id,示例:
{
    "ios":{
        "apns-collapse-id":"2222"
    }
}

对于安卓厂商通道消息,可设置相同的notify_id,示例:
{
    "android":{
        "ups":{
            "notification":{
                "notify_id":3333
            }
        }
    }
}

2.3 消息撤回代码示例

{
   "push_message":{
           //在线通知消息
        "revoke": {
            //需要撤回的taskId
            "old_task_id": "xxx",  
            //在没有找到对应的taskId,是否把对应appId下所有的通知都撤回
            "force": false  
        }
    },
    "push_channel": {
        "android": {
            "ups": {
                //离线通知消息
                "revoke": {
                    //需要撤回的taskId
                    "old_task_id": "xxx"
                }
            }
        }
    }

}

注意事项

  • SDK要求客户端版本:2.12.5.0以上

个推消息推送标签推送

个推消息推送标签推送

一、需求背景

1.1 背景描述

标签是推送赋予用户或者推送设备的一种特征属性,例如:“男性”,“喜爱足球”等,常见的使用场景是根据特征属性,实现针对特定用户的精准推送,从而提升通知消息的转化率。

个推支持客户将自身应用的标签绑定到个推服务器,以便后续可使用该标签实现精细化推送,辅助精细化运营。同时支持使用个推用户画像基础属性标签(例如用户属性、地区属性的标签)圈选目标用户进行消息推送。

二、功能实现

标签推送之前需要先设置标签,设置标签可以调用客户端api接口,也可以调用服务端api接口;默认一个客户端cid,每天只能修改标签一次,最多设置100个标签;单个标签长度最大为32字符,标签总长度最大为512个字符

2.1 标签设置

开发者可在客户端或者服务端给 cid 设置标签,客户端需要区分 android 和 ios,开发者选择其中一个渠道(客户端或服务端)设置标签即可。

2.2.1 客户端标签设置

Android
类名com.igexin.sdk.PushManager
接口public int setTag(Context context,Tag[] tag, String sn)

接口调用示例:

String[] tags = new String[] {"tag1", "tag2", "tag3"};
Tag[] tagParam = new Tag[tags.length];

for (int i = 0; i < tags.length; i++) {
      Tag t = new Tag();
      //name 字段只支持:中文、英文字母(大小写)、数字、除英文逗号和空格以外的其他特殊符号,具体请看代码示例
      t.setName(tags[i]);
      tagParam[i] = t;
}
PushManager.getInstance().setTag(context, tagParam, String.valueOf(System.currentTimeMillis()));

参数:
  • context:应用的 Context
  • tag:用户标签

sn:用户自定义的序列号,用来唯一标识该动作,用户 IntentService 中会回执该结果

iOS
+ (BOOL)setTags:(NSArray *)tags;
+ (BOOL)setTags:(NSArray *)tags andSequenceNum:(NSString *)aSn;

接口调用示例:

[GeTuiSdk setTags:@[@"标签1",@"标签2",@"标签3"]];
[GeTuiSdk setTags:@[@"标签1",@"标签2",@"标签3" andSequenceNum:@"seqtag-1"];
参数:
  • tags:NSString 的对象数组,不能为 nil。只能包含中文字符、英文字母、0-9、+-*.的组合(不支持空格)

aSn:用户自定义的请求序列号,用来唯一标识该动作。若不指定sn,会根据tags自动生成sn。建议每个设置标签操作设置不同的sn标识。

2.2.2 服务端标签设置(RestAPI V2)

  • 接口地址: BaseUrl/user/custom_tag/cid/$cid
  • 请求方式: POSTRequest请求说明:路径参数说明(路径中$开头的参数)
名称类型是否必须默认值说明
cidString用户标识
Header参数说明
名称类型是否必须默认值说明
tokenString接口访问凭据,获取方式请参考获取鉴权token
  • 参数示例{ "custom_tag": [ "tag1", "tag2" ] } 复制请求参数说明
名称类型是否必须默认值描述
custom_tagString Array标签列表,标签中不能包含空格

2.2 标签推送

2.2.1 服务端(RestAPI V2)

  • 接口地址: BaseUrl/push/tag
  • 请求方式: POST
  • Request请求说明:
名称类型是否必须默认值说明
tokenString接口访问凭据,获取方式请参考获取鉴权token

body参数说明:

  • content-type:application/json;charset=utf-8
  • 参数示例:{ "request_id":"请填写requestid", "group_name":"请填写任务组名", "settings":{ "ttl":3600000 }, "audience":{ "tag":[ { "key":"custom_tag", "values":[ "0901","0902" ], "opt_type":"or" } ] }, "push_message":{ "notification":{ "title":"请填写通知标题", "body":"请填写通知内容", "click_type":"url", "url":"https//:xxx" } } }

个推推送消息通知大图、大文本

个推推送消息通知大图、大文本

一、需求背景

1.1 背景描述

通知栏消息支持富文本与大图消息,使消息更富个性化。具体字段详见个推多厂商参数介绍

1.2 名称解释

名词解释
富文本通知栏消息展示长文本样式
大图通知栏消息展示大图样式

1.3 各渠道支持情况

渠道长文本大图
个推支持支持
华为支持不支持
荣耀支持不支持
小米支持支持
oppo支持支持
魅族不支持不支持
vivo不支持不支持
apns不支持支持

二、功能实现

开发者可通过调用 个推服务端 api 或者登陆 个推开发者中心 从页面下发消息。

2.1 个推开发者中心设置

1、长文本设置新手指引

①登录 个推开发者中心,打开【个推消息推送】,点击【创建消息】后在【Android配置】中选择【展开式通知】。

②选择【大文本】样式并将补充的内容填写至文本框即可。

③根据页面说明填写好其他配置信息,查看推送预览,确认无误后,点击【确定】,正式发送推送。

长文本样式示意图

2、大图设置新手指引

①登录个推开发者中心,打开【个推消息推送】,点击【创建消息】后在【Android配置】版块中点击【展开式通知】 ,选择【大图样式】展示样式。

②设计一张430*230的亮眼大图,主题鲜明,亮点突出。

③上传大图,大小不超过200KB,支持JPEG、PNG格式。

④根据页面说明填写好其他配置信息,查看推送预览,确认无误后,点击【确定】,正式发送推送。

2.1 服务端 api 设置

个推

{
    "push_message":{
        "notification":{
            "title":"请填写你的通知标题",
            "body":"请填写你的通知内容",
            "big_text":"请填写你的通知长文本",
            "logo":"logo.png",
            "logo_url":"http://xxxx/a.png",
            "channel_id":"请填写你的channel_id",
            "channel_name":"请填写你的channel_name",
            "channel_level":3,
            "click_type":"intent",
            "intent":"intent://com.getui.push/detail?#Intent;scheme=gtpushscheme;launchFlags=0x4000000;package=com.getui.demo;component=com.getui.demo/com.getui.demo.DemoActivity;S.payload=payloadStr;end"
        }
    }
}

华为

{
  "android": {
    "ups": {
      "notification": {
        // ...其他push_channel参数略
      },
      "options": {
        "HW": {
          "/message/android/notification/style": 1,
          "/message/android/notification/big_title": "big_title",
          "/message/android/notification/big_body": "big_body"
        }
      }
    }
  }
}

荣耀

{
  "android": {
    "ups": {
      "notification": {
        // ...其他push_channel参数略
      },
      "options": {
        "HO": {
          "/android/notification/style": 1,
          "/android/notification/bigTitle": "bigTitle",
          "/android/notification/bigBody": "bigBody"
        }
      }
    }
  }
}

小米

notification_style_type = 1表示多字版。填1时,文本内容为body内的值

{
  "android": {
    "ups": {
      "notification": {
        // ...其他push_channel参数略
      },
      "options": {
        "XM": {
          "/extra.notification_style_type": 1
        }
      }
    }
  }
}

oppo

style = 2 长文本样式(ColorOS版本>5.0可用,通知栏第一条消息可展示全部内容,非第一条消息只展示一行内容)

{
  "android": {
    "ups": {
      "notification": {
        // ...其他push_channel参数略
      },
      "options": {
        "OP": {
          "/style": 2
        }
      }
    }
  }
}

2.2 服务端大图

个推

big_image = 大图的URL地址,通知消息+大图样式, 与big_text二选一,两个都填写时报错,URL长度 ≤ 1024

{
    "push_message":{
        "notification":{
            "title":"请填写你的通知标题",
            "body":"请填写你的通知内容",
            "big_image":"请填写你的通知大图URL",
            "logo":"logo.png",
            "logo_url":"http://xxxx/a.png",
            "channel_id":"请填写你的channel_id",
            "channel_name":"请填写你的channel_name",
            "channel_level":3,
            "click_type":"intent",
            "intent":"intent:#Intent;action=;end"
        }
    }
}

小米

/extra.notification_style_type填2时,填写,表示大图地址(上传到小米返回的url) 图片要求:固定876x324px,小于1M,PNG/JPG/JPEG格式。

{
  "android": {
    "ups": {
      "notification": {
        // ...其他push_channel参数略
      },
      "options": {
        "XM": {
          "/extra.notification_style_type": 2,
          "/extra.notification_bigPic_uri":"http://url.big.pic/xxx.png"
        }
      }
    }
  }
}

oppo

big_picture_id :先调用OPPO接口,上传图片,填写接口返回的图标id,style为3时必填 图片要求:尺寸876*324px,文件大小1M以内,格式为PNG/JPG/JPEG。

通知大图不支持单推,单推请求会返回无权限错误

{
  "android": {
    "ups": {
      "notification": {
        // ...其他push_channel参数略
      },
      "options": {
        "OP": {
          "/style": 3,
          "/big_picture_id": "接口返回的图标id"
        }
      }
    }
  }
}

iOS(apns)

离线apns通知大图消息,长按通知栏消息不要点进去会跳出大图

{
    "ios":{
        "type":"notify",
        "payload":"自定义消息",
        "aps":{
            "alert":{
                "title":"通知标题",
                "body":"通知内容"
            },
            "content-available":0,
            "sound":"com.gexin.ios.silence",
            "category":"ACTIONABLE"
        },
        "auto_badge":"+1",
        "multimedia": [{
            "url": "https://xxx,并且带有后缀格式(.jpg、mp3、mp4)的多媒体图片",
            "type": 1,
            "only_wifi": false
        }]
    }
}

个推消息推送角标设置

个推消息推送角标设置

一、需求背景

1.1 背景描述

应用badge角标,是手机桌面应用图标右上角圆点或者数字角标,常见的场景是伴随通知栏消息显示,提醒用户及时点阅新消息。iOS手机系统能够较好的支持角标,Android手机系统由于碎片化严重,品牌众多,版本各异,所以角标功能适配较难。个推后续会在Android角标功能适配继续努力,为开发者提供较好的角标功能体验。

1.2 各手机品牌角标支持情况

机型是否支持角标/红点显示适配说明
华为支持角标参考当前文档
小米支持角标遵从系统默认逻辑,感应通知栏通知数目,按 1 自动增减
OPPO支持红点圆点展示需由用户在通知设置中手动开启,遵从系统默认逻辑,有通知则展示,无则不展示;
数值展示只对指定应用开启,例如 QQ、微信,需向官方进行权限申请,暂无明确适配说明
VIVO支持角标高版本系统自带离线通知数字角标展示功能,默认+1处理,打开清零,低版本没有角标功能。
魅族支持红点遵从系统默认逻辑,仅支持红点展示,有通知则展示,无则不展示
iOS支持角标参考当前文档

二、功能实现

角标功能适用于 通知消息

2.1 iOS (APNs)

iOS 系统需要客户端和服务端配合实现角标功能

服务端

"push_channel":{
    "ios":{
        "type":"notify",
        "payload":"自定义消息",
        "aps":{
            "alert":{
                "title":"通知标题",
                "body":"通知内容"
            },
            "content-available":0
        },
        //离线走apns推送时,设置的iOS角标。
        "auto_badge":"+1" //可以实现显示数字的自动增减,如“+1”、 “-1”、 “1” 等,计算结果将覆盖badge
    }
}

客户端

客户端打开 app 可更改角标数或清空角标(设置角标数为 0):客户端设置iOS角标

示例:

设置角标减 1
1、在点击后的方法中,调用 application.applicationIconBadgeNumber 获取到角标数减 1
2、通过 [application setApplicationIconBadgeNumber:]设置当前的角标
3、然后通过个推的 [GeTuiSdk setBadge:] 将角标同步给个推服务器

2.2 华为

华为手机系统需要客户端和服务端配合实现角标功能。

服务端:

{
    "request_id": "fhfjkhwej478414",
    "settings": {
        "ttl": 259200000
    },
    "audience": {
        "cid": [
            "bae1fdd10477db63b17af9e76dd41863"
        ]
    },
    "push_message": {
        "notification": {
            "title": "个推在线标题",
            "body": "个推在线内容",
            "click_type": "url",
            "url": "https://www.getui.com/",
            //在线推送时,设置的华为角标,1表示在当前的角标数上+1。
            "badge_add_num": "1"
        }
    },
    "push_channel": {
        "android": {
            "ups": {
                "notification": {
                    "title": "厂商离线标题",
                    "body": "厂商离线内容",
                    "click_type": "url",
                    "url": "https://www.getui.com/"
                },
                "options": {
                    "HW": {
                        "/message/android/notification/badge/class": "应用入口Activity路径名称",
                        //add_num 为离线推送时,设置的华为角标,1表示在当前的角标数上+1
                        "/message/android/notification/badge/add_num": 1
                    }
                }
            }
        }
    }
}

客户端:

客户端打开 app 可更改角标数或清空角标(设置角标数为 0): 客户端设置华为角标