帖子
帖子
用户
博客
课程
12下一页
返回列表 发新帖
显示全部楼层
16
帖子
0
勋章
191
Y币

自定义模块极光推送(完整版)

[复制链接]
发表于 2015-1-19 12:04:16
1、配置说明

IOS
修改PushConfig.plist文件,将“极光APPKey”替换为你在极光推送官网申请的“APPKey”。

Android
修改AndroidManifest.xml文件,将内容中“包名”替换为自己应用包名,将“极光APPKey”替换为你在极光推送官网申请的“APPKey”。

说明:请确保你在APICloud和JPush中的应用包名(IOS和Android)保持一致,否则不能正常使用推送模块。

1、演示代码
<script type="text/javascript">

    /*IOS和Android通用功能*/
    var jpush=null;
    apiready = function(){
        jpush = api.require('eis.jpush');
        //初始化
        jpush.init(function(ret){
            api.toast({
                msg: "init:"+ret.status,
                duration:2000,
                location: 'top'
            });
        });
        //监听推送消息
        jpush.setListener(function(ret){
            //推送消息:{msg:"内容", action:"点击消息后的操作", msgid:"极光推送消息Id" +(接收到的原始消息)}
            alert("msg:"+ret.msg+" action:"+ret.action+" msgid:"+ret.msgid);
        });
    };

    //获取设备的RegistrationID,设备的唯一标识
    function getRegistrationID(){
        //返回结果{status:true, registrationID:"注册Id"}
        jpush.getRegistrationID(callBack);
    }

    //设置设备标签
    function setTags(){
        //返回结果{status:true, resultCode:"记录号", tags:"标签名"}
        jpush.setTags({tags:"testTags1,testTags2"}, callBack);
    }

    //设置设备别名
    function setAlias(){
        //返回结果{status:true, resultCode:"记录号", alias:"别名"}
        jpush.setAlias({alias:"testAlias1"}, callBack);
    }

    //设置设备标签和别名
    function setTagsWithAlias(){
        //返回结果{status:true, resultCode:"记录号", tags:"标签名", alias:"别名"}
        jpush.setTagsWithAlias({tags:"testTags3,testTags4",alias:"testAlias2"}, callBack);
    }

    //设置调试模式
    function setDebugMode(){
        //IOS
        jpush.setDebugMode(callBack);
        //Android
        //debugMode:true 启用调试模式,false 停用调试模式
        //jpush.setDebugMode({debugMode:true},callBack);
    }

    /*IOS特有功能*/

    function startLogPageView(){
        jpush.startLogPageView({pageName:"logPage"}, callBack);
    }

    function stopLogPageView(){
        jpush.stopLogPageView({pageName:"logPage"}, callBack);
    }

    function setLogOFF(){
        jpush.setLogOFF(callBack);
    }

    //设置APP角标
    function setBadge(){
        jpush.setBadge({badge:5}, callBack);
    }

    //清空APP角标
    function resetBadge(){
        jpush.resetBadge(callBack);
    }

    /*Android特有功能*/

    //停止接收推送消息
    function stopPush(){
        jpush.stopPush(function(ret){
            if(ret){
                alert("stopPush:"+ret.status);
            }
        });
    }

    //恢复接收推送消息
    function resumePush(){
        jpush.resumePush(function(ret){
            if(ret){
                alert("resumePush:"+ret.status);
            }
        });
    }

    //判断是否已停止接收推送消息
    function isPushStopped(){
        jpush.isPushStopped(function(ret){
            if(ret.status){
                alert("isPushStopped:"+ret.isStopped);
            }
        });
    }

    //设置最后的推送通知数量
    function setLatestNotificationNum(){
        jpush.setLatestNotificationNum({num:5},function(ret){
            if(ret){
                alert("setLatestNotificationNum:"+ret.status);
            }
        });
    }

    //设置接收推送消息时段
    function setPushTime(){
        //dayArray:星期一到星期日
        //startHour:开始时段(24小时制)
        //endHour:接收时段(24小时制)
        jpush.setPushTime({dayArray:[1,2,3,4,5] , startHour:0 , endHour:23},function(ret){
            if(ret){
                alert("setPushTime:"+ret.status);
            }
        });
    }
    //清空通知栏全部推送消息
    function clearAllNotification(){
        jpush.clearAllNotification(function(ret){
            if(ret){
                alert("clearAllNotification:"+ret.status);
            }
        });
    }

    //删除通知栏指定推送消息
    function clearNotificationById(){
        jpush.clearNotificationById({notificationId:1},function(ret){
            if(ret){
                alert("clearNotificationById:"+ret.status);
            }
        });
    }

    /*原生代码交互完成后的回调方法,可根据自己的需求自定义*/
    function callBack(ret, err){
        if (ret) {
            api.toast({
                msg: "return:"+ret.status,
                duration:2000,
                location: 'top'
            });
        }
    }
</script>

模块下载


本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
16
帖子
1
勋章
41
Y币
强大
40
帖子
0
勋章
6375
Y币
感谢分享~
1
帖子
0
勋章
47
Y币
“极光APPKey”是指开发者标识(DevKey)?

本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
16
帖子
0
勋章
191
Y币
鼓起勇气 发表于 2015-1-20 23:51
“极光APPKey”是指开发者标识(DevKey)?

在极光推送控制台,选择指定应用后的界面:“应用详情-应用信息” 的APPKey。



本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
0
帖子
0
勋章
7
Y币
本帖最后由 雷冠 于 2015-1-22 15:19 编辑

发错信息,不知道怎么删
0
帖子
0
勋章
7
Y币
本帖最后由 雷冠 于 2015-1-22 15:19 编辑

发错信息,不知道怎么删
16
帖子
0
勋章
191
Y币
雷冠 发表于 2015-1-22 13:46
发错信息,不知道怎么删

如果是在控制台推送的信息可以在“极光推送-控制台-选中应用下的 推送历史”界面右边的“操作”按钮删除,如果是API方式推送的在这个界面不能删除。详情可咨询极光相关技术人员,可加他们的QQ群。
0
帖子
0
勋章
7
Y币
message 一直收不到 ,
16
帖子
0
勋章
191
Y币
雷冠 发表于 2015-1-26 17:54
message 一直收不到 ,

1、jpush和apicloud上的应用包名(IOS:BundleID,Android:包名)是否一致。
2、ios产品证书(生产环境)是否已上传至jpush控制台并已验证。3、apicloud云编译必须是正式版,测试版不支持消息推送。


本帖子中包含更多资源,您需要 登录 才可以下载或查看,没有帐号?立即注册

X
12下一页
您需要登录后才可以回帖 登录

本版积分规则