更新记录
1.0.9(2022-09-23)
更新文档功能描述
平台兼容性
Android | Android CPU类型 | iOS |
---|---|---|
适用版本区间:6.0 - 12.0 | armeabi-v7a:未测试,arm64-v8a:未测试,x86:未测试 | 适用版本区间:9 - 15 |
原生插件通用使用流程:
- 购买插件,选择该插件绑定的项目。
- 在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。
- 根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。
- 打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。
- 开发完毕后正式云打包
付费原生插件目前不支持离线打包。
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios
注意事项:使用HBuilderX2.7.14以下版本,如果同一插件且同一appid下购买并绑定了多个包名,提交云打包界面提示包名绑定不一致时,需要在HBuilderX项目中manifest.json->“App原生插件配置”->”云端插件“列表中删除该插件重新选择
luanqing-jgpush 极光推送SDK 官方推荐
简介:
本插件集成了极光推送,提供了一些主要的方法来方便操控,简化集成难度已经uniapp端的支持性
API 方法简述 (简单开发者仅调用registerJPush方法即可,如欲深层开发,请查阅附录内容,我们有更多功能,但是您可以不用)
友情提示:下列方法的参数可参考示例代码
名称 | 说明 | 默认值 | 是否必须 | 平台 |
---|---|---|---|---|
registerJPush | 注册并初始化 | 无 | 是 | Android/IOS |
setMobile | 设置手机号 | 无 | 非 | Android/IOS |
setAlias | 设置别名 | 无 | 非 | Android/IOS |
setTags | 设置标签 | 无 | 非 | Android/IOS |
queryTags | 查询标签 | 无 | 非 | Android/IOS |
queryAlias | 查询别名 | 无 | 非 | Android/IOS |
stopPush | 停止推送 | 无 | 非 | Android独有 |
resumePush | 恢复推送 | 无 | 非 | Android独有 |
setPushTime | 设置允许推送的时间 | 无 | 非 | Android独有 |
setSilenceTime | 设置静默时间(无震动、声音) | 无 | 非 | Android独有 |
unregisterJPush | 反注册 | 无 | 非 | Android独有 |
极简模式
App.vue页面(其他页面同理,只需两行代码轻松集成极光推送)
<script>
const JPush = uni.requireNativePlugin("luanqing-jgpush");
export default {
onShow: function() {
if(JPush){
JPush.registerJPush((res=>{
}))
}
},
}
</script>
完整示例代码
<template>
<view>
<view class="button" @click="doRegisterJPush">注册极光</view>
<view class="button" @click="doUnRegisterJPush">反注册极光</view>
<view class="button" @click="doSetAlias">设置别名</view>
<view class="button" @click="doQueryAlias">查询别名</view>
<view class="button" @click="doSetTags">设置标签</view>
<view class="button" @click="doQueryTags">查询标签</view>
<view class="button" @click="stopPush">停止推送服务</view>
<view class="button" @click="resumePush">恢复推送服务</view>
<view class="button" @click="setPushTime">设置推送时间</view>
<view class="button" @click="setSilenceTime">设置静默时间</view>
<view class="button" @click="setMobile">设置手机号</view>
</view>
</template>
<script>
const JPush = uni.requireNativePlugin("luanqing-jgpush");
export default {
data() {
return {
}
},
methods: {
// 注册推送服务(如有业务需求可以设置一个storage值来控制是否执行,如应用场景是关闭推送后,需要用户去手动开启时,直接调用registerJPush会激活之前反注册掉的推送服务
// 如果无此要求,可以在onReady或App.vue的onShow中调用本方法注册)
// 本方法是必须调用的,即使不需要监听数据
doRegisterJPush(){
// Android + IOS
// 在此传入回调,用于接收消息
JPush.registerJPush((res=>{
let mesType = res.type;
if(mesType === 'log'){
console.log("栾青网络科技-极光推送插件:",res.data??{}.info);
}else{
let data = res.data;
if(mesType === 'notice'){
console.error("收到通知:",data);
}else if(mesType === 'custom'){
console.error("收到自定义消息:",data);
}else if(mesType === 'notice-open'){
console.error("点击了通知:",data);
}else if(mesType === 'notice-button-open'){
console.error("点击了通知上的按钮:",data);
}else if(mesType === 'tags'){
console.error("查询标签:",data);
}else if(mesType === 'alias'){
console.error("查询别名:",data);
}
}
}));
},
// 解除注册,无法再收到消息除非重新registerJPush或重新安装app
doUnRegisterJPush(){
JPush.unregisterJPush();
},
// 查询别名(数据在registerJPush的回调函数中返回)
doQueryAlias(){
// Android + IOS
JPush.queryAlias();
},
// 查询本机的所有标签(数据在registerJPush的回调函数中返回)
doQueryTags(){
// Android + IOS
JPush.queryTags();
},
// 设置别名: 传入alias,后台可根据此别名来指定发送消息(注:此为覆盖模式,非追加)
doSetAlias(){
// Android + IOS
JPush.setAlias({alias:"xushiyong5"});
},
// 设置标签: 传入tags,可传多个,后台可根据此别名来指定发送消息(注:此为覆盖模式,非追加)
doSetTags(){
// Android + IOS
JPush.setTags({tags:["xushiyong1","xushiyong2"]});
},
// 停止推送 推送服务完全被停止
stopPush(){
JPush.stopPush();
},
// 恢复推送
resumePush(){
JPush.resumePush();
},
// 设置允许推送时间 (二十四小时制)
setPushTime(){
// 设置可推送时间为: 周一 ~ 周五 08 - 20
JPush.setPushTime({days: [1,2,3,4,5], startHour:8, endHour:20});
},
// 设置静默时间 (二十四小时制)
setSilenceTime(){
// 00:30 ~ 06:30 之间为静默时间,此时间段内收到消息不震动不发声 免打扰
JPush.setSilenceTime({startHour:0,endHour:6,startMinute:30,endMinute:30});
},
// 设置手机号
setMobile(){
// Android + IOS
JPush.setMobile({mobile:'15921627041'});
}
}
}
</script>
<style>
.button{
width: calc(100vw);padding-top: 20rpx;padding-bottom: 20rpx;margin-top: 50rpx;text-align: center;
}
.button:active{
background-color: aquamarine;
color: #E00300;
}
</style>
上海栾青网络科技有限公司
技术客服 & 定制开发合作
15921627041 (同微信)
1660584265 (QQ)
附录内容 扩展方法说明
友情提示:下列方法的参数可参考示例代码
方法名称 | 方法说明 |
---|---|
registerJPush | 注册并初始化 必须调用才能生效推送服务. 可传入callback,用于接收log输出和通知、消息、打开、别名、标签等事件和数据的接收。 |
unregisterJPush | 反注册 调用此接口后,会停用所有 Push SDK 提供的功能。需通过 registerJPush 接口或者重新安装应用才可恢复。 |
setAlias | 设置别名 标签别名类似都是一种通过设置唯一标识,让后台可以通过该标签别名推送消息(达到可以指定群体或个体推送) |
setTag | 设置标签 标签别名类似都是一种通过设置唯一标识,让后台可以通过该标签别名推送消息(达到可以指定群体或个体推送) |
queryTags | 查询标签 |
queryAlias | 查询别名 |
stopPush | 停止推送,推送服务完全被停止,1、收不到推送消息 2、极光推送所有的其他 API 调用都无效,需要调用resumePush恢复。 |
resumePush | 恢复推送,恢复推送服务,一切正常。 |
setPushTime | 设置允许推送的时间,默认任何时刻都运行推送,可通过此方法设置允许推送的时间,不在该时间段内收到消息,SDK 的处理是:推送到的通知会被扔掉 |
setSilenceTime | 设置静默时间,用户在收到推送通知时,客户端可能会有震动,响铃等提示,该接口可以设置规避的时段 |
setMobile | 设置手机号:如果App一段时间内无法收到推送的消息(可能断网、禁运、消息延迟等)的用户进行短信通道信息补充,优先极光通道,号码格式为 11 位数字,有无 +86 前缀皆可,频率为 10s 之内最多 3 次。 |