getClientid 获取消息接收设备唯一标识 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

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

♦ 个推服务器分配给当前设备的唯一标识 cid

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

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

jsBridge.getui.getClientid(function(cid){
  //复制到剪贴板
  jsBridge.setClipboardText(cid);
  jsBridge.toast("已复制");
  alert(cid);
});

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.getui.getClientid(function(cid){
  //复制到剪贴板
  jsBridge.setClipboardText(cid);
  jsBridge.toast("已复制");
  alert(cid);
});

}
</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.getui.getClientid(function(cid){
  //复制到剪贴板
  jsBridge.setClipboardText(cid);
  jsBridge.toast("已复制");
  alert(cid);
});

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

setSilentTime 设置静默时间 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

setSilentTime 设置静默时间 APP开发接入个推消息推送能力

♦ 仅支持 Android,静默期间内推送功能将不再联网。

♦ iOS 始终返回 false

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

jsBridge.getui.setSilentTime(    
{
  beginHour: 20, //从晚上20点开始,取值范围0-23
  duration : 8   //持续8个小时,取值范围0-23
}, function(succ){
  alert(succ ? "设置成功" : "设置失败");
});

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.getui.setSilentTime(    
{
  beginHour: 20, //从晚上20点开始,取值范围0-23
  duration : 8   //持续8个小时,取值范围0-23
}, function(succ){
  alert(succ ? "设置成功" : "设置失败");
});

}
</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.getui.setSilentTime(    
{
  beginHour: 20, //从晚上20点开始,取值范围0-23
  duration : 8   //持续8个小时,取值范围0-23
}, function(succ){
  alert(succ ? "设置成功" : "设置失败");
});

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

isPushTurnedOn 检查推送是否已开启 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

isPushTurnedOn 检查推送是否已开启 APP开发接入个推消息推送能力集成

♦ 仅支持 Android,iOS 始终返回 true。

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

jsBridge.getui.isPushTurnedOn(function(isOn){
  alert(isOn);
});

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.getui.isPushTurnedOn(function(isOn){
  alert(isOn);
});

}
</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.getui.isPushTurnedOn(function(isOn){
  alert(isOn);
});

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

turnOnPush 恢复推送 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

turnOnPush 恢复推送 APP开发接入个推消息推送能力

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

jsBridge.getui.turnOnPush();    
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.getui.turnOnPush();    
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.getui.turnOnPush();    
alert("已恢复接收推送");

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

turnOffPush 停止推送 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

turnOffPush 停止推送 APP开发接入个推消息推送能力

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

jsBridge.getui.turnOffPush();
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.getui.turnOffPush();
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.getui.turnOffPush();
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.getui.setListener(function(msg) {
  alert(JSON.stringify(msg));
});
alert("已设置监听器");

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

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.getui.setListener(function(msg) {
  alert(JSON.stringify(msg));
});
alert("已设置监听器");

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

}
</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.getui.setListener(function(msg) {
  alert(JSON.stringify(msg));
});
alert("已设置监听器");

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

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

OPPO推送 打开范围中,启动应用内页的地址如何填写?怎么传递参数呢?

OPPO推送 打开范围中,启动应用内页的地址如何填写?怎么传递参数呢?

1)click_action_type为1时填写activity对应的intent action;click_action_type为4时填写activity的完整类名
2) 打开应用内页的action需要加标签
3) 传递参数放在键值对(即action_parameters)里,客户端通过intent.getExtras()获取。
4)push的intent-filter应与其他功能的intent-filter区分开,勿添加其他action与data标签。
5)click_action_type为5时scheme路径需要写在click_action_url参数上 。
示例:
客户端AndroidManifest声明打开的activity如下:

<activity android:name="com.coloros.push.demo.component.InternalActivity">
<intent-filter>
<action android:name="com.coloros.push.demo.internal" /> 
<category android:name="android.intent.category.DEFAULT" /> 
</intent-filter>
<intent-filter>
<action android:name="android.intent.action.VIEW" />

<data android:scheme="https" />
<data android:scheme="http" />
<data android:scheme="command" />
<category android:name="android.intent.category.BROWSABLE" />
<category android:name="android.intent.category.DEFAULT" />
</intent-filter>
</activity>

API推送:
click_action_type为1时填写:com.coloros.push.demo.internal
click_action_type为4时填写:com.coloros.push.demo.component.InternalActivity
click_action_type为5时填写:command://test?key1=val1&key2=val2
平台页面:
web端推送时,选定打开应用内页,下图分别是click_action_type为1、4、5时示例:

oppo推送受限说明

oppo推送受限说明

送达率说明

推送服务致力于提供安全可靠的消息发送通道,保障消息成功送达。此外,以下非通道因素也直接影响消息的送达情况,主要影响因素有:
1)终端设备是否在线
如果设备离线,PUSH平台会缓存消息,待用户上线后,再次将消息投递给用户。PUSH平台只缓存一次用户的消息,如果用户在线后还发不通,PUSH平台不再缓存。
2)用户手机上集成PUSH SDK的应用是否被卸载
3)网络状况是否稳定
4)终端手机的安全控制策略

支持的终端设备

目前支持 ColorOS3.1及以上的系统的OPPO的机型,一加5/5t及以上机型,realme所有机型。

推送消息的及时性

OPPO PUSH尽可能保障消息及时送达,设备网络条件良好且不拥堵情况下时延在1s内,该时延时间仅指PUSH通道推送消息的时延。开发者在运营管理网站的控制台创建基于RegID的推送任务和通过API创建的基于标签等的推送任务,PUSH系统将先进行推送任务的调度,再通过PUSH通道推送消息。

推送消息大小要求

PUSH消息支持的Android App包名称最大为128个字节,消息内容最大支持为4K字节。

支持的地区

除中国以外,还支持印度、印尼、泰国、越南、菲律宾、马来西亚。(海外应用请进入海外开放平台申请

推送数量限制规则

/累计用户数可推送总数量(条/日)
公信可推送数<50000100000
≥50000累计用户数*2
私信可推送数不限量
测试推送数1000(仅供接入测试使用)

1)目前私信处于公测阶段,需要申请才能开启私信通道,私信申请请参考【推送私信通道申请】
2)累计用户数是指从接入推送服务的app客户端,用户安装并激活的累计用户量,去除已卸载用户数;
3)累计用户数在OPPO推送运营平台可查询,每天会刷新。

接收数量限制

通过OPPO推送平台下发的消息(包含公私信),单用户接收上限2000条/日。

QPS限制规则说明

限制规则

OPPO推送对QPS的分配主要依据应用的累计用户数,应用类别权重和平台推送系数三个值进行加权计算,其中累计用户数在OPUSH平台上的查询路径是OPPO PUSH推送运营平台—我要推送消息—应用列表中的累计用户数。

计算公式

应用QPS = 推送QPS参考值 * 应用类别权重 * 平台推送系数
例如:针对应用维度,30000 QPS表示1秒内本应用最多可推送给30000个用户(所有接口共享应用维度限速上限总值)。

QPS超限时会返回什么错误吗?

QPS超限时会返回错误码 55, 原因:APP Call Frequency Limit

返回错误如何处理

请降低您的并发请求数,确保每秒的请求数不高于QPS限制,业务应当设置规则优先发送重要的消息,非热点或时效性要求低消息需按照规定qps以下进行推送。
具体的QPS对应值如下:

序号累计用户数推送QPS参考值应用类别权重平台推送系数(默认 = 1)
1≥10000万3000011
2≥5000万且<10000万2000011
3≥1000万且<5000万1000011
4<1000万500011

备注:QPS(Quantity per second)表示1秒可调用OPPO PUSH的请求数。

【APP消息推送 】为安卓APP实现消息推送能力【基础功能】

APP消息推送功能是一门APP基础能力之一;
这里感谢百度慧推提供APP基础消息推送能力;
一门APP基础消息推送能力由百度慧推提供推送消息服务;

那怎么给APP开启消息推送能力呢?
1.登录一门APP开发者后台,进入需要管理的APP配置界面
在左侧导航找到【应用&工具】-【云消息-推送】-下拉-【应用配置】

进入应用配置之后,点击页面【创建安卓版】即可一键创建安卓消息推送,为安卓APP增加消息推送能力

2.勾选打包 安卓版,务必保存安卓配置

3.重新生成新版APP

点击左侧导航【生成安装包】进入之后在底部点击生成按钮
温馨提示:
务必生成新版安装包,并且需要安装新版APP

4.安装新版APP,进入推送后台,发送消息

如图,点击发送

输入推送内容,点击发送按钮

手机设备收到消息通知

华为厂商离线消息推送开启和回执配置,回执地址和SSL证书 必须配置

配置华为厂商离线消息推送回执 配置回执地址和SSL证书 必须配置

华为离线消息推送的使用需要配置回执的哦!
无论百度慧推、个推、极光、友盟都是需要配置这个回执地址的

1.登录华为开发者平台,我的项目里面
进入具体的项目配置首页,在左侧导航找到 推送服务

2.开启消息推送

3.点击导航配置按钮

4.选择地区,一般选择中国;点击开启回执

5.设置回执

一般新建的这里的列表是为空的!
点击新建

这里就需要根据您使用的不同的推送三方来设置,慧推的请查看慧推教程;个推的请查看个推教程;极光的请查看极光教程

6.选择一个回执,之后点击保存

这样我们就为所有项目开启了统一的回执地址;

7.为单个应用配置单个回执
一个开发者如果有多个移动应用,并且有使用到不同的推送服务商,那么请在页面下方选择为单个应用配置独立的回执地址