帖子
帖子
用户
博客
课程
显示全部楼层
2
帖子
0
勋章
9
Y币
发表于 2019-7-20 15:58:34
1
未解决

安卓手机的极光推送消息提醒开关设置 [复制链接]

  • 发表于:2019-07-20 15:58:34
亲爱的各位APICloud开发者
     最近接触apicloud开发,其中有极光消息推送的功能,这边需要增加消息通知开关的功能,这边在看文档时,发现可以用clearNotification方法,可是还是没有生效。各位看官有没有好的建议。我的代码如下:
if(api.systemType == "android"){
          var pushFlag=$api.getStorage('pushFlag');
            ajpush.init(function(ret) {
                var param = {alias:api.deviceId,
                   tags : [api.deviceId]
                };
                ajpush.bindAliasAndTags(param,function(ret) {
                });
            });


            ajpush.setListener(function(ret){
                 var id = ret.id;
                 var title = ret.title;
                 var content = ret.content;
                 var extra = ret.extra;
                 console.log("id="+id+",title="+title+",content="+content+",extra="+extra);
            });


            api.addEventListener({
                  name: 'appintent'
              }, function(ret, err) {
                  if (ret && ret.appParam.ajpush) {
                     console.log(ret.appParam.ajpush+"===="+ret);
                      api.openFrame({
                             name: 'information',
                             url: './html/information.html',
                             rect: {
                                     x:0,
                                     y:0,
                                     w:api.winWidth,
                                     h:api.winHeight
                             },
                             bgColor: 'rgba(0,0,0,0.6)',
                             bounces: false
                     });
                  }
              });


              api.addEventListener({
                 name : 'pause'
               }, function(ret, err) {
                 ajpush.onPause();
                  console.log('JPush onPause');
                 //监听应用进入后台,通知jpush暂停事件
               });


               api.addEventListener({
                 name : 'resume'
               }, function(ret, err) {
                 ajpush.onResume();
                 console.log('JPush onResume');
                 //监听应用恢复到前台,通知jpush恢复事件
               });


              console.log("极光推送开关:"+pushFlag);
              var param = {id:-1};
              if(pushFlag==='1'){
                  ajpush.clearNotification(param,function(ret) {
                      if(ret && ret.status){
                          //success
                      }
                  });
              }
            
        }

19
帖子
3
勋章
1万+
Y币
你这个只是前台设置了,建议使用后台调用极光接口关闭用户的推送权限
2
帖子
0
勋章
9
Y币
这边通过后台进行过滤了。
  1. PushPayload payload = new PushPayload.Builder().setPlatform(Platform.all())
  2.                                 .setNotification(Notification.alert(pushModel.getContent()))
  3.                                 .setMessage(Message.newBuilder().setTitle(pushModel.getTitle()).setMsgContent(pushModel.getContent())
  4.                                                 .addExtra("details", JSON.toJSONString(pushModel)).build())
  5.                                 .setAudience(list!=null?Audience.tag(list):Audience.all())//这边的list是已经过滤后的。
  6.                                 .setOptions(Options.newBuilder().setApnsProduction(true).build()).build();
复制代码

您需要登录后才可以回帖 登录

本版积分规则