个推实现透传的template通用模板
template模板:
public function DogLogIGtTransmissionTemplateDemo($APPID,$APPKEY,$ac_id,$content){ $template = new \IGtTransmissionTemplate(); $template->set_appId($APPID);//应用appid $template->set_appkey($APPKEY);//应用appkey $template->set_transmissionType(2);//透传消息类型 $template->set_transmissionContent(json_encode(['type'=>8,'ac_id'=>$ac_id,'content'=>$content]));//透传内容 // APN高级推送 $apn = new \IGtAPNPayload(); $alertmsg=new \DictionaryAlertMsg(); $alertmsg->body=$content; $alertmsg->actionLocKey="ActionLockey"; $alertmsg->locKey="LocKey"; $alertmsg->locArgs=array("locargs"); $alertmsg->launchImage="launchimage"; // iOS8.2 支持 $alertmsg->title="陪它通知"; $alertmsg->titleLocKey="TitleLocKey"; $alertmsg->titleLocArgs=array("TitleLocArg"); $apn->alertMsg=$alertmsg; $apn->badge=1; $apn->sound=""; $apn->add_customMsg("payload","DogLog"); $apn->contentAvailable=1; $apn->category="ACTIONABLE"; $template->set_apnInfo($apn); return $template; }
单推:
public function DogLogPushMessage($user_id,$id,$address){ $HOST = 'http://sdk.open.api.igexin.com/apiex.htm'; //线上环境 //$APPKEY = 'F4PBi3IJTqA1cVX5gRvbO5'; //$APPID = 'mFSW4is4PU8ZBO0MheyAtA'; //$MASTERSECRET = 'pwRvXYXUxg7xwY5D4M5LA3'; //测试环境 $APPKEY = 'EDP5zovj329wHPEnKN3Sc2'; $APPID = 'lrDptagIl5AGX9IQnTt9J4'; $MASTERSECRET = 'VCTOb8JOAg5dUurhmMmsc9'; $userinfo = UserOperate::find()->select(['c_id','is_push'])->where(['id'=>$user_id])->asArray()->one(); if($userinfo['is_push']==1){ $cid = $userinfo['c_id']; $igt = new \IGeTui($HOST,$APPKEY,$MASTERSECRET); $template = $this->DogLogIGtTransmissionTemplateDemo($APPID,$APPKEY,$id,$address); //个推信息体 $message = new \IGtSingleMessage(); $message->set_isOffline(true);//是否离线 $message->set_offlineExpireTime(3600*12*1000);//离线时间 $message->set_data($template);//设置推送消息类型 $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送 //接收方 $target = new \IGtTarget(); $target->set_appId($APPID); $target->set_clientId($cid); try { $rep = $igt->pushMessageToSingle($message, $target); return $rep; }catch(RequestException $e){ $requstId =e.getRequestId(); $rep = $igt->pushMessageToSingle($message, $target,$requstId); return $rep; } } //} }
列表群推:
function PushMessageToList($arr,$content,$post_id,$type){ $HOST = 'http://sdk.open.api.igexin.com/apiex.htm'; $APPKEY = 'EDP5zovj329wHPEnKN3Sc2'; $APPID = 'lrDptagIl5AGX9IQnTt9J4'; $MASTERSECRET = '5drFFjPECs97nrzxlt1mw2'; putenv("gexin_pushList_needDetails=true"); $igt = new \IGeTui($HOST,$APPKEY,$MASTERSECRET); $template = $this->DogLoseTemplate($APPID,$APPKEY,$content,$post_id,$type); //定义"ListMessage"信息体 $message = new \IGtListMessage(); $message->set_isOffline(true);//是否离线 $message->set_offlineExpireTime(3600*12*1000);//离线时间 $message->set_data($template);//设置推送消息类型 $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送 $contentId = $igt->getContentId($message); $targetList = array(); foreach($arr as $key=>$val){ if($key!=null){ if($val['c_id']!=null){ $target = new \IGtTarget(); $target->set_appId($APPID); $target->set_clientId($val['c_id']); $targetList[] = $target; } } } $rep = $igt->pushMessageToList($contentId, $targetList); return $rep; }
参考地址:http://docs.getui.com/server/php/push/
通往牛逼的路上,在意的只有远方!