首页 | 新闻 | 新品 | 文库 | 方案 | 视频 | 下载 | 商城 | 开发板 | 数据中心 | 座谈新版 | 培训 | 工具 | 博客 | 论坛 | 百科 | GEC | 活动 | 主题月 | 电子展
返回列表 回复 发帖

iOS 普通推送和静默推送(6)

iOS 普通推送和静默推送(6)

静默推送遇到的坑(静默推送硬生生的做成了普通推送)。
下面就来看看由于我们公司的后台,设置静默推送不规范导致的iOS客户端在后台收到推送时,有声音有文字的情况。本质上变成了普通推送(有声音有文字)。

我们公司的后台说是 设置的是静默推送,但实际上从他给我PHP文件来看,没按照静默推送的格式来。导致客户端在后台时,通知栏会有通知的内容展示,同时也会有声音。
这与静默推送(收到推送,没有声音没有文字)的标准相悖了,导致一直在这个问题上卡了很久。
在此记录下来,以备不时之需,希望有遇到和我一样问题的朋友,少走一些坑。
后台设置的有问题的代码

    function IGtTransmissionTemplateDemo($appid,$appkey,$msgContent,$keyType,$keyId,$temp_ietm="",$client_notice="default"){
        $msg = array(
            'keyType' => $keyType,
            'keyId' => $keyId,
            'msg' => $msgContent,
            'nickname' => $temp_ietm
        );
        $msg = json_encode($msg);
        $template =  new IGtTransmissionTemplate();
        $template->set_appId($appid);//应用appid
        $template->set_appkey($appkey);//应用appkey
        $template->set_transmissionType(2);//透传消息类型
        $template->set_transmissionContent($msg);//透传内容
      
     
        $apn = new IGtAPNPayload();
        $alertmsg=new DictionaryAlertMsg();
        $alertmsg->body=$msgContent;
        $alertmsg->actionLocKey="ActionLockey";
        $alertmsg->locKey=$msgContent;
        $alertmsg->locArgs=array("locargs");
        $alertmsg->launchImage="launchimage";
        //        IOS8.2 支持
        $alertmsg->title=SYS_ZH_NAME;
        $alertmsg->titleLocKey=SYS_ZH_NAME;
        $alertmsg->titleLocArgs=array("TitleLocArg");
     
        $apn->alertMsg=$alertmsg;
        $apn->contentAvailable=1;
        $apn->sound=$client_notice;
        $apn->badge=1;
        $apn->add_customMsg("payload","payload");
        $apn->add_customMsg("keyType",$keyType);
        $apn->add_customMsg("keyId",$keyId);
        $apn->add_customMsg("nickname",$nickname);
        $apn->add_customMsg("msg",$msgContent);
        $apn->category="ACTIONABLE";
        $template->set_apnInfo($apn);
     
        return $template;
    }
返回列表