wrs-jpush极光推送原生app插件

2021-06-04  本文已影响0人  浪人残风

前言

wrs-jpush是极光推送原生app插件

功能

原生插件通用使用流程

购买插件,选择该插件绑定的项目。<br />
在HBuilderX里找到项目,在manifest的app原生插件配置中勾选模块,如需要填写参数则参考插件作者的文档添加。<br />
根据插件作者的提供的文档开发代码,在代码中引用插件,调用插件功能。<br />
打包自定义基座,选择插件,得到自定义基座,然后运行时选择自定义基座,进行log输出测试。<br />
开发完毕后正式云打包<br />
付费原生插件目前不支持离线打包。<br />
Android 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/android <br />
iOS 离线打包原生插件另见文档 https://nativesupport.dcloud.net.cn/NativePlugin/offline_package/ios

wrs-jpush插件

使用步骤:

极光推送平台申请应用

配置插件参数

插件API使用

var jpush = uni.requireNativePlugin("wrs-jpush");
jpush.registerJPushClickRemoteMsgCallback((msg) => {
    switch(uni.getSystemInfoSync().platform){
        case 'android':
           this.msg = '用户点击了通知栏消息:' + msg.msgId;
           break;
        case 'ios':
         this.msg = '用户点击了通知栏消息:' + msg._j_msgid;
           break;
        default:
           break;
    }
});
jpush.getRegistrationID((resp) => {
    this.showMsg("获取为registrationID:" + resp.registerID);
});

Android会自动注册registerID,iOS需要手动调用

jpush.getRegistrationID((resp) => {
    this.showMsg("获取为registrationID:" + resp.registerID);
});
jpush.isOpenNotificationEnable((resp) => {
    var code = resp.code;
    var desc = "";
    if(code == 1) { // 通知权限已经开启
        desc = "通知权限已经开启";
    } else if(code == 0) { // 通知权限没有开启
        desc = "通知权限没有开启";
    } else { // 通知权限未知
        desc = "通知权限未知";
    }
    this.showMsg(desc);
});
jpush.openSettingApp();
var params = {};
params.mobileNumber = '18800000000';
jpush.setMobileNumber(params, (resp) => {
    var code = resp.code;
    if(code == 0) {
        var alias = resp.alias;
        this.showMsg("手机号设置成功");
    } else {
        this.showMsg("手机号设置失败:" + code);
    }
});
var params = {
    'alias': "alias1"
};
jpush.setAlias(params, (resp) => {
    var code = resp.code;
    if(code == 0) {
        var alias = resp.alias;
        this.showMsg("别名alias设置成功:" + alias);
    } else {
        this.showMsg("别名alias设置失败, code:" + code);
    }
});
jpush.getAlias( (resp) => {
    var code = resp.code;
    if(code == 0) {
        var alias = resp.alias;
        this.showMsg("别名alias:" + alias);
    } else {
        this.showMsg("别名alias获取失败, code:" + code);
    }
});
jpush.deleteAlias( (resp) => {
    var code = resp.code;
    if(code == 0) {
        this.showMsg("删除别名alias成功" );
    } else {
        this.showMsg("删除别名alias, code:" + code);
    }
});
var params = {
    'tags': ["abc000"]
};
jpush.addTags(params, (resp) => {
    var code = resp.code;
    if(code == 0) {
        var tags = resp.tags;
        this.showMsg("增加标签tags成功:" + tags);
    } else {
        this.showMsg("增加tags失败, code:" + code);
    }
});
var params = {
    'tags': ["tag0"]
};
jpush.setTags(params, (resp) => {
    var code = resp.code;
    if(code == 0) {
        var tags = resp.tags;
        this.showMsg("标签tags设置成功:" + tags);
    } else {
        this.showMsg("标签tags设置失败, code:" + code);
    }
});
jpush.getTags( (resp) => {
    var code = resp.code;
    if(code == 0) {
        var tags = resp.tags;
        this.showMsg("标签tags:" + tags);
    } else {
        this.showMsg("标签tags获取失败, code:" + code);
    }
});
var params = {
    'tags': ["abc000"]
};
jpush.deleteTags(params, (resp) => {
    var code = resp.code;
    if(code == 0) {
        var tags = resp.tags;
        this.showMsg("删除标签tags成功:" + tags);
    } else {
        this.showMsg("删除标签tags失败, code:" + code);
    }
});
var params = {};
params.badge = 10;
jpush.setBadge(params);
jpush.resetBadge();
var params = {};
params.badgeNum = 10;
jpush.resetBadge(params);

完整demo

<template>
    <div>
        <text>极光推送</text>
        <text >日志:</text>
        <text class="log">{{msg}}</text>
        <view>
        <button @click="setRegistrationID">注册registrationID</button>
        <button @click="getRegistrationID">获取registrationID</button>
        </view>
        <view>
        <button @click="isOpenNotificationEnable">检查是否已经开启通知权限</button>
        <button @click="openSettingsForNotification">跳到对应设置页面开启通知权限</button>
        </view>
        <view>
        <button @click="setMobileNumber">设置手机号</button>
        </view>
        <view>
             <!-- <input type="text" placeholder="请输入别名alias" @input="aliasChange" :value="alias"/> -->
             <button @click="setAlias">设置别名</button>
             <button @click="getAlias">获取别名</button>
              <button @click="deleteAlias">删除别名</button>
        </view>
        <view>
             <!-- <input type="text" placeholder="请输入标签tag" @input="tagsChange" :value="tag"/> -->
             <button @click="addTags">增加标签</button>
             <button @click="setTags">设置标签</button>
             <button @click="getTags">获取标签</button>
             <button @click="deleteTags">删除标签</button>
        </view>
        <view>
        <button @click="setBadge">设置JPush服务器中存储的badge值</button>
        <button @click="resetBadge">清空JPush服务器中存储的badge值</button>
        </view>
        <view>
        <button @click="setAppIconBadge">设置app Icon的badge(仅对苹果有效)</button>
        </view>
    </div>
</template>

<script>
    // {
    //     "_j_business" = 1;
    //     "_j_data_" = "{\"data_msgtype\":1,\"push_type\":8,\"is_vip\":0}";
    //     "_j_msgid" = 20266417917185712;
    //     "_j_uid" = 51629423210;
    //     aps =     {
    //         alert =         {
    //             body = "\U6d4b\U8bd5\U5185\U5bb9";
    //             title = "\U6d4b\U8bd5\U6807\U9898";
    //         };
    //         badge = 1;
    //         "mutable-content" = 1;
    //         sound = default;
    //     };
    //     name = 123456;
    // }
    // var str = JSON.parse(msg.toJSONString);
    var jpush = uni.requireNativePlugin("wrs-jpush");
    export default {
        data() {
            return {
                msg:"",
                alias:"",
                tag:""
            }
        },
        onLoad() {
            jpush.registerJPushClickRemoteMsgCallback((msg) => {
                switch(uni.getSystemInfoSync().platform){
                    case 'android':
                       this.msg = '用户点击了通知栏消息:' + msg.msgId;
                       break;
                    case 'ios':
                     this.msg = '用户点击了通知栏消息:' + msg._j_msgid;
                       break;
                    default:
                       break;
                }
            });
        },
        methods:{
        setRegistrationID: function(){
            jpush.registerJPushRegistrationID((resp) => {
                var code = resp.code;
                if(code == 0) {
                    var registrationID = resp.registrationID;
                    this.showMsg("registrationID:" + registrationID);
                } else {
                    this.showMsg("registrationID 注册失败, code:" + code);
                    
                }
            });
        },
        getRegistrationID: function(){
            jpush.getRegistrationID((resp) => {
                this.showMsg("获取为registrationID:" + resp.registerID);
            });
        },
        isOpenNotificationEnable: function(){
            jpush.isOpenNotificationEnable((resp) => {
                var code = resp.code;
                var desc = "";
                if(code == 1) { // 通知权限已经开启
                    desc = "通知权限已经开启";
                } else if(code == 0) { // 通知权限没有开启
                    desc = "通知权限没有开启";
                } else { // 通知权限未知
                    desc = "通知权限未知";
                }
                this.showMsg(desc);
            });
        },
        openSettingsForNotification: function(){
            jpush.openSettingApp();
        },
        setMobileNumber: function(){
            var params = {};
            params.mobileNumber = '18800000000';
            jpush.setMobileNumber(params, (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var alias = resp.alias;
                    this.showMsg("手机号设置成功");
                } else {
                    this.showMsg("手机号设置失败:" + code);
                }
            });
            
        },
        setAlias: function(){
            var params = {
                'alias': "alias1"
            };
            jpush.setAlias(params, (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var alias = resp.alias;
                    this.showMsg("别名alias设置成功:" + alias);
                } else {
                    this.showMsg("别名alias设置失败, code:" + code);
                }
            });
        },
        getAlias: function(){
            jpush.getAlias( (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var alias = resp.alias;
                    this.showMsg("别名alias:" + alias);
                } else {
                    this.showMsg("别名alias获取失败, code:" + code);
                }
            });
        },
        deleteAlias: function(){
            jpush.deleteAlias( (resp) => {
                var code = resp.code;
                if(code == 0) {
                    this.showMsg("删除别名alias成功" );
                } else {
                    this.showMsg("删除别名alias, code:" + code);
                }
            });
            
        },
        addTags: function(){
            var params = {
                'tags': ["abc000"]
            };
            jpush.addTags(params, (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var tags = resp.tags;
                    this.showMsg("增加标签tags成功:" + tags);
                } else {
                    this.showMsg("增加tags失败, code:" + code);
                }
            });
        },
        setTags: function(){
            var params = {
                'tags': ["tag0"]
            };
            jpush.setTags(params, (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var tags = resp.tags;
                    this.showMsg("标签tags设置成功:" + tags);
                } else {
                    this.showMsg("标签tags设置失败, code:" + code);
                }
            });
        },
        getTags: function(){
            jpush.getTags( (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var tags = resp.tags;
                    this.showMsg("标签tags:" + tags);
                } else {
                    this.showMsg("标签tags获取失败, code:" + code);
                }
            });
        },
        deleteTags: function(){
            var params = {
                'tags': ["abc000"]
            };
            jpush.deleteTags(params, (resp) => {
                var code = resp.code;
                if(code == 0) {
                    var tags = resp.tags;
                    this.showMsg("删除标签tags成功:" + tags);
                } else {
                    this.showMsg("删除标签tags失败, code:" + code);
                }
            });
        },
        aliasChange: function(e){
            this.alias = e.target.value;
        },
        tagsChange: function(e) {
            this.tag = e.target.value;
        },
        setBadge: function() {
            var params = {};
            params.badge = 10;
            jpush.setBadge(params);
        },
        resetBadge: function(){
            jpush.resetBadge();
        },
        setAppIconBadge: function(){
            var params = {};
            params.badgeNum = 10;
            jpush.resetBadge(params);
        },
        showMsg: function(msg){
            this.msg = msg;
        }
        }
    }
</script>

<style>
    .log{
        width: 100%;
        height: 100rpt;
    }
.btn {
    margin-top: 25rpt;
}
</style>


如果觉得可以就点个👍吧,欢迎粉丝收藏,土豪打赏,您的关注就是我们创作的动力!

上一篇 下一篇

猜你喜欢

热点阅读