uniapp个推服务端推送,离线收不到,检测步骤,服务端PHP

1.检查参数是否正确。
2.可以先不要使用透传方式。
3.是否设置了厂商通道消息内容
4.设置为打开应用内特定页面就是intent参数。
5.intent参数是否正确 

intent:#Intent;component=包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=".urlencode(标题).";S.content=".urlencode($内容).";S.payload=".json_encode(你的自定义参数).";end

6.PHP端参考代码。

       $api = new GTClient("https://restapi.getui.com/","", "","");  
       $stt = ['default'=>1];  
       //设置推送参数 
       $push = new GTPushRequest();  
       $push->setRequestId(time());  
       $message = new GTPushMessage();  
       $notify = new GTNotification();  
       $channel = new GTPushChannel();  

       //配置推送条件 
       $str = new GTStrategy();  
       $str->setDefault(1);  
       $str->setHw(1);  
       $setting = new GTSettings();  //定时推送暂无 
       $setting->setStrategy($str);  
       $push->setSettings($setting);  
       $setting->setTtl(3600000); 消息有效期,走厂商消息需要设置该值 

      //推送苹果离线通知标题内容 
       $alert = new GTAlert();  
        $alert->setTitle($title);  
      $alert->setBody($content);  
       $aps = new GTAps();  
       //1表示静默推送(无通知栏消息),静默推送时不需要填写其他参数。 
       //苹果建议1小时最多推送3条静默消息 
       $aps->setContentAvailable(0);  
      $aps->setSound("default");  
      $aps->setAlert($alert);  
      $iosDto = new GTIos();  
      $iosDto->setAps($aps);  
       $iosDto->setType("notify");  
       $pushChannel = new GTPushChannel();  
       $pushChannel->setIos($iosDto);  

       //安卓离线厂商通道推送消息体 
       $pushChannel = new GTPushChannel();  
       $androidDTO = new GTAndroid();  
       $ups = new GTUps();  
       $notification1 = new GTThirdNotification();;  
       $notification1->setTitle($title);  
       $notification1->setBody($content);  
       $ups->setNotification($notification1);  
       if($clickType == 'none')  //设置推送类型 
       {  
           $notification1->setClickType($clickType);  
       }else if($clickType == 'payload' || $clickType == 'payload_custom'){ //自定义消息 打开APP和不打开APP 
           $notification1->setClickType($clickType);  
           $notification1->setPayload(json_encode($data));  
       }else if($clickType == 'url'){  //打开URL 
           $notification1->setClickType($clickType);  
           $notification1->setUrl($url);  
       }else if($clickType == 'intent'){  //打开特定页面 
           $notification1->setClickType($clickType);  
           $notification1->setIntent("intent:#Intent;component=包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=".urlencode($title).";S.content=".urlencode($content).";S.payload=".json_encode($data).";end");  
       }else{  
           $notification1->setClickType($clickType);  
       }  
           //各厂商自有功能单项设置 
       if($time){  
           $message->setDuration($time);  //设置推送时间 
           $data = json_encode(array('title'=>$title,'content'=>$content,'duration'=>$time,'importance'=>'HIGH','payload'=>json_encode($data)));  
       }else{  
           $data = json_encode(array('title'=>$title,'content'=>$content,'payload'=>json_encode($data)));  
       }  
       //$ups->setTransmission($data); 
       $androidDTO->setUps($ups);  
       $pushChannel->setAndroid($androidDTO);  
       $push->setPushChannel($pushChannel);  

       //个推在线通道 
       $notify->setTitle($title);  
       $notify->setBody($content);  
       if($img) $notify->setBigImage($img); //推送图片 
       //1、intent:打开应用内特定页面 2、url:打开网页地址。3、payload:自定义消息内容启动应用。4、payload_custom:自定义消息内容不启动应用。5、startapp:打开应用首页。6、none:纯通知,无后续动作 
       if($clickType == 'none')  //设置推送类型 
       {  
           $notify->setClickType($clickType);  
       }else if($clickType == 'payload' || $clickType == 'payload_custom'){ //自定义消息 打开APP和不打开APP 
           $notify->setClickType($clickType);  
           $notify->setPayload(json_encode($data));  
       }else if($clickType == 'url'){  //打开URL 
           $notify->setClickType($clickType);  
           $notify->setUrl($url);  
       }else if($clickType == 'intent'){  //打开特定页面 
           $notify->setClickType($clickType);  
           $notify->setIntent("intent:#Intent;component=包名/io.dcloud.PandoraEntry;S.UP-OL-SU=true;S.title=".urlencode($title).";S.content=".urlencode($content).";S.payload=".json_encode($data).";end");  
       }else{  
           $notify->setClickType($clickType);  
       }  
       $message->setNotification($notify);  
       $push->setPushMessage($message);  
     /*  if($time){  
           $message->setDuration($time);  //设置推送时间  
           $data = json_encode(array('title'=>$title,'body'=>$content,'duration'=>$time,'importance'=>'HIGH','payload'=>json_encode($data)));  
       }else{  
           $data = json_encode(array('title'=>$title,'body'=>$content,'payload'=>json_encode($data)));  
       }  
       $ups->setTransmission($data);  //  
       $android->setUps($ups);  
       $channel->setAndroid($android);  
       $push->setPushChannel($channel);  
       $push->setPushMessage($message);*/  
       if($cid)  //推送给某个用户 
       {  
           $push->setCid($cid);  
           //处理返回结果 
           $result = $api->pushApi()->pushToSingleByCid($push);  
       }else{  
           $result = $api->pushApi()->pushAll($push);  
       }  
       Log::info('推送数据:【推送】'.json_encode($result)); //写入日志 
       return $result;

 

  • 1
    点赞
  • 5
    收藏
    觉得还不错? 一键收藏
  • 2
    评论
评论 2
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值