集成厂商通道的作用:我们如果单纯集成极光推送SDK,那么只能在app在线(未被杀死)时收到极光推送过来的通知或消息,一旦app离线、被用户清退,或其他任何关闭的操作后,是无法收到通知和消息的,这时候厂商通道的作用就体现出来,集成了厂商通道后,即使app离线了也能收到通知消息。
敬上链接: 点击前往下载
第一步: 去各大厂商的平台申请id和key
华为离线通道: https://developer.huawei.com/consumer/cn/console#/serviceCards/ 开发服务-> PUSH
vivo离线通道: https://dev.vivo.com.cn/manageCenter 常用服务->推送服务
小米离线通道:https://dev.mi.com/console/man/ 应用服务-> 消息推送
OPPO离线通道: https://open.oppomobile.com/new/ecological/app 开发服务->OPPO PUSH
荣耀离线通道:https://developer.hihonor.com
还有魅族、华硕、FCM、谷歌等平台就不一一列举了,因为市场份额比较小。
第二步:在极光后台,配置各厂商的信息
第三步:极简模式,无需代码即可集成
项目配置文件manifest.json中引入插件luanqing-core-plugin、luanqing-push-plugin,并配置各个厂商通道申请到的信息,然后打包或打自定义基座即可,没有其他繁琐的操作,甚至不需要写额外代码,就是这么简单。
方法
名称|说明|参数|是否必须|
–|–|–|–|–
initJPushService|初始化SDK|无|是
setLoggerEnable|设置log是否开启|boolean|否
stopPush|停止推送|无|否
resumePush|恢复推送|无|否
isPushStopped|查询是否推送服务停止|(res)=>{}回调函数|否
setPushTime|设置推送时间(详见下方)|Object|否
setSilenceTime|设置静默时间(详见下方)|Object|否
setChannel|设置渠道(详见下方)|Object|否
getRegistrationID|获取设备注册的极光推送id,后台可根据此id个推|(res)=>{}回调函数|否
setLatestNotificationNumber|设置最近通知的保留条数。仅对通知有效,意为: 如有新的通知到达,之前列表里最老的那条会被移除。默认保留5条|Number|否
updateTags|更新标签,会覆盖(详见下方)|Object|否
addTags|新增标签(详见下方)|Object|否
deleteTags|删除标签(详见下方)|Object|否
cleanTags|清除所有标签(详见下方)|Object|否
queryTag|查询某个标签(详见下方)|Object|否
getAllTags|获取所有标签(详见下方)|Object|否
setAlias|设置别名(详见下方)|Object|否
deleteAlias|删除别名(详见下方)|Object|否
queryAlias|查询别名(详见下方)|Object|否
setMobileNumber|调用此 API 设置手机号码,用于短信补充功能。该接口会控制调用频率,频率为 10s 之内最多 3 次(详见下方)|Object|否
onKillProcess|杀死进程|无|否
addLocalNotification|添加本地通知(详见下方)|Object|否
removeLocalNotification|移除本地通知(详见下方)|Object|否
clearAllNotifications|清除所有通知|无|否
clearLocalNotifications|清楚所有本地通知|无|否
clearNotificationById|通过id清除通知|Object|否
setMobileNumber|获取所有标签(详见下方)|Object|否
setMobileNumber|获取所有标签(详见下方)|Object|否
requestPermission|请求推送权限|无|否
setBadge|设置应用角标数值|Number|否
setGeofenceInterval|设置地理围栏监控周期,最小3分钟,最大1天(默认15分钟),当距离地理围栏边界小于1000米周期自动调整为3分钟。设置成功后一直使用设置周期,不会进行调整。|Object|否
setMaxGeofenceNumber|设置最多允许保存的地理围栏数量,超过最大限制后,如果继续创建先删除最早创建的地理围栏|Object|否
deleteGeofence|删除指定 id 的地理围栏|Object|否
setPowerSaveMode|设置是否开启省电模式,默认关闭|Boolean|否
isNotificationEnabled|检查当前应用的通知开关是否开启|(res)=>{}回调函数|否
openSettingsForNotification|跳转手机的应用通知设置页,可由用户操作开启通知开关|(res)=>{}回调函数|否
addConnectEventListener|连接事件监听|(res)=>{}回调函数|否
addNotificationListener|通知事件监听|(res)=>{}回调函数|否
addCustomMessageListener|自定义事件监听|(res)=>{}回调函数|否
addInMessageListener|应用内消息事件监听|(res)=>{}回调函数|否
addLocalNotificationListener|本地通知事件监听|(res)=>{}回调函数|否
addMobileNumberListener|手机号设置事件监听|(res)=>{}回调函数|否
addCommandListener|命令事件监听|(res)=>{}回调函数|否
addTagAliasListener|标签/别名事件监听|(res)=>{}回调函数|否
########### 方法详细说明--------------------------------------------------------------
setPushTime(Object) 设置允许推送时间
参数|类型|说明|
–|–|–|–
pushTimeDays|JsonArray|0 表示星期天,1 表示星期一,以此类推,数组size>6 或 size<0 无效
pushTimeStartHour|Number|允许推送的开始时间(24 小时制:范围 0 - 23)
pushTimeEndHour|Number|允许推送的结束时间(24 小时制:范围 0 - 23)
setSilenceTime(Object) 设置静默推送时间(此时段不推送)
参数|类型|说明|
–|–|–|–
silenceTimeStartHour|Number|静音时段的开始时间 - 小时 ( 24 小时制,范围:0~23 )
silenceTimeStartMinute|Number|静音时段的开始时间 - 分钟(范围:0~59 )
silenceTimeEndHour|Number|静音时段的结束时间 - 小时 ( 24 小时制,范围:0~23 )
silenceTimeEndMinute|Number|静音时段的结束时间 - 分钟(范围:0~59 )
setChannel(Object) 设置渠道
参数|类型|说明|
–|–|–|–
chanel|String|渠道名
标签 updateTags(Object)更新 / addTags(Object)新增 / deleteTags(Object)删除
参数|类型|说明|
–|–|–|–
tags|JsonArray|标签名数组,每次调用至少设置一个 tag,覆盖之前的设置,不是新增。单个tag显示40字符内(字母(区分大小写)、数字、下划线、汉字、特殊字符 @!#$&*+=.|)
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
cleanTags(Object) 清除设备上所有标签
参数|类型|说明|
–|–|–|–
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
queryTag(Object) 查询某个标签
参数|类型|说明|
–|–|–|–
tags|String|标签名,查询次标签
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
getAllTags(Object) 获取所有标签
参数|类型|说明|
–|–|–|–
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
setAlias(Object) 设置别名
参数|类型|说明|
–|–|–|–
alias|String|别名字符串
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
deleteAlias(Object) 删除别名
参数|类型|说明|
–|–|–|–
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
queryAlias(Object) 查询别名
参数|类型|说明|
–|–|–|–
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
setMobileNumber(Object) 设置手机号
参数|类型|说明|
–|–|–|–
mobileNumber|String|手机号,调用此 API 设置手机号码,用于 短信补充功能。该接口会控制调用频率,频率为 10s 之内最多 3 次
sequence|Number|用户自定义的操作序列号,同操作结果一起返回,用来标识一次操作的唯一性。
addLocalNotification(Object) 添加本地通知
参数|类型|说明|
–|–|–|–
messageID|String|消息Id,自定义,必传,不传不生效
title|String|通知标题
content|String|通知内容
extras|Object|额外携带的数据,非必传
removeLocalNotification(Object) 移除本地通知
参数|类型|说明|
–|–|–|–
messageID|String|要移除的消息Id,自定义,必传,不传不生效
clearNotificationById(Object) 通过id移除通知
参数|类型|说明|
–|–|–|–
notificationId|String|要移除的通知Id,自定义,必传,不传不生效
setGeofenceInterval(Number) 设置地理围栏监控周期
参数|类型|说明|
–|–|–|–
value|Number|必填,监控周期,单位是毫秒。
setMaxGeofenceNumber(Number) 设置最多允许保存的地理围栏数量
参数|类型|说明|
–|–|–|–
value|Number|必填,地理围栏数量
deleteGeofence(String) 设置地理围栏监控周期
参数|类型|说明|
–|–|–|–
value|String|必填,要删除的地理围栏id
提示:引入插件,并打包或打基座后,就已经集成,可以不用再额外写代码。不过我们提供了一些api供开发者调用,用于完成更高级的功能。
示例代码:
// 获取本机注册id,可用于单独推送,极光自动生成。
JPush.getRegistrationID(result=>{
let registerID = result.registerID
console.log(“极光注册了id:”,registerID)
})
敬上链接: 点击前往下载