getui.php 19 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572
  1. <?php
  2. error_reporting(0);
  3. header("Content-Type: text/html; charset=utf-8");
  4. require_once(dirname(__FILE__) . '/' . 'IGt.Push.php');
  5. require_once(dirname(__FILE__) . '/' . 'igetui/IGt.AppMessage.php');
  6. require_once(dirname(__FILE__) . '/' . 'igetui/IGt.TagMessage.php');
  7. require_once(dirname(__FILE__) . '/' . 'igetui/IGt.APNPayload.php');
  8. require_once(dirname(__FILE__) . '/' . 'igetui/template/IGt.BaseTemplate.php');
  9. require_once(dirname(__FILE__) . '/' . 'IGt.Batch.php');
  10. require_once(dirname(__FILE__) . '/' . 'igetui/utils/AppConditions.php');
  11. require_once(dirname(__FILE__) . '/' . 'igetui/template/notify/IGt.Notify.php');
  12. require_once(dirname(__FILE__) . '/' . 'igetui/IGt.MultiMedia.php');
  13. require_once(dirname(__FILE__) . '/' . 'payload/VOIPPayload.php');
  14. define('APPKEY','J518iXmnPu7EFvxQB9jQe2');
  15. define('APPID','o7v9ee8Cxm5qhdeoWqbVrA');
  16. define('MASTERSECRET','MqgR0NYOgLAmbQy7vmdOR8');
  17. define('HOST','http://sdk.open.api.igexin.com/apiex.htm');
  18. function bindAlias() {
  19. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  20. $ret =$igt->bindAlias(APPID,ALIAS,CID);
  21. var_dump($ret);
  22. }
  23. function queryCidByAlias() {
  24. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  25. $ret =$igt->queryClientId(APPID,ALIAS);
  26. var_dump($ret);
  27. }
  28. function queryAliasByCID() {
  29. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  30. $ret =$igt->queryAlias(APPID,CID);
  31. var_dump($ret);
  32. }
  33. function unbindAlias() {
  34. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  35. $ret =$igt->unBindAlias(APPID,ALIAS,CID);
  36. var_dump($ret);
  37. }
  38. function unbindAliasAll() {
  39. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  40. $ret =$igt->unBindAliasAll(APPID,ALIAS);
  41. var_dump($ret);
  42. }
  43. function getPersonaTagsDemo() {
  44. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  45. $ret = $igt->getPersonaTags(APPID);
  46. var_dump($ret);
  47. }
  48. function getUserCountByTagsDemo() {
  49. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  50. $tagList = array("English","龙卷风");
  51. $ret = $igt->getUserCountByTags(APPID, $tagList);
  52. var_dump($ret);
  53. }
  54. function getScheduleTaskDemo(){
  55. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  56. $ret = $igt->getScheduleTask(TASKID,APPID);
  57. var_dump($ret);
  58. }
  59. function delScheduleTaskDemo(){
  60. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  61. $ret = $igt->delScheduleTask(TASKID,APPID);
  62. var_dump($ret);
  63. }
  64. function getPushResultByGroupNameDemo(){
  65. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  66. $ret = $igt->getPushResultByGroupName(APPID,"toAppPush");
  67. var_dump($ret);
  68. }
  69. function getLast24HoursOnlineUserStatisticsDemo(){
  70. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  71. $ret = $igt->getLast24HoursOnlineUserStatistics(APPID);
  72. var_dump($ret);
  73. }
  74. function restoreCidListFromBlkDemo(){
  75. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  76. $cidList=array(CID,"");
  77. $ret = $igt->restoreCidListFromBlk(APPID,$cidList);
  78. var_dump($ret);
  79. }
  80. function addCidListToBlkDemo(){
  81. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  82. $cidList=array(CID,"");
  83. $ret = $igt->addCidListToBlk(APPID,$cidList);
  84. var_dump($ret);
  85. }
  86. function setBadgeForCIDDemo(){
  87. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  88. $cidList=array(CID,CID1);
  89. $ret = $igt->setBadgeForCID(Badge,APPID,$cidList);
  90. var_dump($ret);
  91. }
  92. function setBadgeForDeviceTokenDemo(){
  93. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  94. $cidList=array(DT,DT1);
  95. $ret = $igt->setBadgeForDeviceToken(Badge,APPID,$cidList);
  96. var_dump($ret);
  97. }
  98. //bindCidPnDemo();
  99. function bindCidPnDemo(){
  100. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  101. $params = array();
  102. $params[CID] = md5(PN);
  103. $ret = $igt->bindCidPn(APPID,$params);
  104. var_dump($ret);
  105. }
  106. //unbindCidPnDemo();
  107. function unbindCidPnDemo(){
  108. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  109. $cids=array(CID,"");
  110. $ret = $igt->unbindCidPn(APPID,$cids);
  111. var_dump($ret);
  112. }
  113. function queryCidPnDemo(){
  114. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  115. $cidList=array(CID);
  116. $ret = $igt->queryCidPn(APPID,$cidList);
  117. var_dump($ret);
  118. }
  119. function stopSendSmsDemo(){
  120. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  121. $ret = $igt->stopSendSms(APPID,"OSS-0801_4b427ea3eea4801064ac7f76b86da6ab");
  122. var_dump($ret);
  123. }
  124. function getPushMessageResultDemo(){
  125. // putenv("gexin_default_domainurl=http://183.129.161.174:8006/apiex.htm");
  126. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  127. // $ret = $igt->getPushResult("OSA-0522_QZ7nHpBlxF6vrxGaLb1FA3");
  128. // var_dump($ret);
  129. // $ret = $igt->queryAppUserDataByDate(APPID,"20140807");
  130. // var_dump($ret);
  131. $ret = $igt->queryAppPushDataByDate(APPID,"20180724");
  132. var_dump($ret);
  133. }
  134. //用户状态查询
  135. function getUserStatus() {
  136. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  137. $rep = $igt->getClientIdStatus(APPID,CID);
  138. var_dump($rep);
  139. echo ("<br><br>");
  140. }
  141. //推送任务停止
  142. function stoptask(){
  143. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  144. $rep = $igt->stop("OSA-0801_F3TKsUx10wAzfyPsq8zKY2");
  145. var_dump($rep);
  146. }
  147. //通过服务端设置ClientId的标签
  148. function setTag(){
  149. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  150. $tagList = array('','中文','English');
  151. $rep = $igt->setClientTag(APPID,CID,$tagList);
  152. var_dump($rep);
  153. echo ("<br><br>");
  154. }
  155. function getUserTags() {
  156. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  157. $rep = $igt->getUserTags(APPID,CID);
  158. //$rep.connect();
  159. var_dump($rep);
  160. echo ("<br><br>");
  161. }
  162. //服务端推送接口,支持三个接口推送
  163. //1.PushMessageToSingle接口:支持对单个用户进行推送
  164. //2.PushMessageToList接口:支持对多个用户进行推送,建议为50个用户
  165. //3.pushMessageToApp接口:对单个应用下的所有用户进行推送,可根据省份,标签,机型过滤推送
  166. //
  167. //单推接口案例
  168. /*
  169. function pushMessageToSingle(){
  170. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  171. //消息模版:
  172. // 1.TransmissionTemplate:透传功能模板
  173. // 2.LinkTemplate:通知打开链接功能模板
  174. // 3.NotificationTemplate:通知透传功能模板
  175. // 4.NotyPopLoadTemplate:通知弹框下载功能模板
  176. // $template = IGtNotyPopLoadTemplateDemo();
  177. // $template = IGtLinkTemplateDemo();
  178. // $template = IGtNotificationTemplateDemo();
  179. $template = IGtTransmissionTemplateDemo();
  180. $template = SmsDemo();
  181. //个推信息体
  182. $message = new IGtSingleMessage();
  183. $message->set_isOffline(true);//是否离线
  184. $message->set_offlineExpireTime(3600*12*1000);//离线时间
  185. $message->set_data($template);//设置推送消息类型
  186. // $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
  187. //接收方
  188. $target = new IGtTarget();
  189. $target->set_appId(APPID);
  190. $target->set_clientId(CID);
  191. // $target->set_alias(ALIAS);
  192. try {
  193. $rep = $igt->pushMessageToSingle($message, $target);
  194. var_dump($rep);
  195. echo ("<br><br>");
  196. }catch(RequestException $e){
  197. $requstId =$e->getRequestId();
  198. $rep = $igt->pushMessageToSingle($message, $target,$requstId);
  199. var_dump($rep);
  200. echo ("<br><br>");
  201. }
  202. }
  203. */
  204. //单推接口案例
  205. function pushMessageToSingle($body,$title,$uid,$cid=''){
  206. //define('CID',$cid);
  207. define("ALIAS",$uid);
  208. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  209. //$template = IGtTransmissionTemplateDemo($body,$title);
  210. $msgarr=['type'=>1,'title'=>$title,'msg'=>$body];
  211. $template=IGtTransmissionTemplateFunction(json_encode($msgarr),$msgarr);
  212. //$template = SmsDemo();
  213. //个推信息体
  214. $message = new IGtSingleMessage();
  215. $message->set_isOffline(true);//是否离线
  216. $message->set_offlineExpireTime(3600*12*1000);//离线时间
  217. $message->set_data($template);//设置推送消息类型
  218. // $message->set_PushNetWorkType(0);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
  219. //接收方
  220. $target = new IGtTarget();
  221. $target->set_appId(APPID);
  222. //$target->set_clientId(CID);
  223. $target->set_alias(ALIAS);
  224. try {
  225. $rep = $igt->pushMessageToSingle($message, $target);
  226. return $rep;
  227. //echo json_encode($rep);
  228. }catch(RequestException $e){
  229. $requstId =$e->getRequestId();
  230. $rep = $igt->pushMessageToSingle($message, $target,$requstId);
  231. return $rep;
  232. //echo json_encode($rep);
  233. }
  234. }
  235. function SmsDemo(){
  236. $template = new IGtTransmissionTemplate();
  237. $template->set_appId(APPID);//应用appid
  238. $template->set_appkey(APPKEY);//应用appkey
  239. $template->set_transmissionType(1);//透传消息类型
  240. $template->set_transmissionContent("测试离线ddd");//透传内容
  241. //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
  242. $smsMessage = new SmsMessage();
  243. $smsContent = array();
  244. $smsContent["code1"] = "1234";
  245. $smsContent["time"] = "5";
  246. $smsMessage->setSmsContent($smsContent);
  247. $smsMessage->setSmsTemplateId("1a0ad952756f4c679ca67f008bf37b5e");
  248. $smsMessage->setOfflineSendtime(1000);
  249. $template->setSmsInfo($smsMessage);
  250. return $template;
  251. }
  252. function pushMessageToSingleBatch()
  253. {
  254. putenv("gexin_pushSingleBatch_needAsync=false");
  255. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  256. $batch = new IGtBatch(APPKEY, $igt);
  257. $batch->setApiUrl(HOST);
  258. //$igt->connect();
  259. //消息模版:
  260. // 1.TransmissionTemplate:透传功能模板
  261. // 2.LinkTemplate:通知打开链接功能模板
  262. // 3.NotificationTemplate:通知透传功能模板
  263. // 4.NotyPopLoadTemplate:通知弹框下载功能模板
  264. //$template = IGtNotyPopLoadTemplateDemo();
  265. $templateLink = IGtLinkTemplateDemo();
  266. $templateNoti = IGtNotificationTemplateDemo();
  267. //$template = IGtTransmissionTemplateDemo();
  268. //个推信息体
  269. $messageLink = new IGtSingleMessage();
  270. $messageLink->set_isOffline(true);//是否离线
  271. $messageLink->set_offlineExpireTime(12 * 1000 * 3600);//离线时间
  272. $messageLink->set_data($templateLink);//设置推送消息类型
  273. //$messageLink->set_PushNetWorkType(1);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
  274. $targetLink = new IGtTarget();
  275. $targetLink->set_appId(APPID);
  276. $targetLink->set_clientId(CID);
  277. $batch->add($messageLink, $targetLink);
  278. //个推信息体
  279. $messageNoti = new IGtSingleMessage();
  280. $messageNoti->set_isOffline(true);//是否离线
  281. $messageNoti->set_offlineExpireTime(12 * 1000 * 3600);//离线时间
  282. $messageNoti->set_data($templateNoti);//设置推送消息类型
  283. //$messageNoti->set_PushNetWorkType(1);//设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
  284. $targetNoti = new IGtTarget();
  285. $targetNoti->set_appId(APPID);
  286. $targetNoti->set_clientId(CID2);
  287. $batch->add($messageNoti, $targetNoti);
  288. try {
  289. $rep = $batch->submit();
  290. var_dump($rep);
  291. echo("<br><br>");
  292. }catch(Exception $e){
  293. $rep=$batch->retry();
  294. var_dump($rep);
  295. echo ("<br><br>");
  296. }
  297. }
  298. //多推接口案例
  299. function pushMessageToList($title,$body,$userarr)
  300. {
  301. putenv("gexin_pushList_needDetails=true");
  302. putenv("gexin_pushList_needAsync=true");
  303. $igt = new IGeTui(HOST, APPKEY, MASTERSECRET);
  304. $msgarr=['type'=>1,'title'=>$title,'msg'=>$body];
  305. $template = IGtTransmissionTemplateFunction(json_encode($msgarr),$msgarr);
  306. //个推信息体
  307. $message = new IGtListMessage();
  308. $message->set_isOffline(true);//是否离线
  309. $message->set_offlineExpireTime(3600 * 12 * 1000);//离线时间
  310. $message->set_data($template);//设置推送消息类型
  311. // $message->set_PushNetWorkType(1); //设置是否根据WIFI推送消息,1为wifi推送,0为不限制推送
  312. $contentId = $igt->getContentId($message);
  313. //$contentId = $igt->getContentId($message,"toList任务别名功能"); //根据TaskId设置组名,支持下划线,中文,英文,数字
  314. $arr=json_encode($userarr);
  315. $userarr=json_decode($arr,true);
  316. foreach ($userarr as $key=>$items){
  317. $target1 = new IGtTarget();
  318. $target1->set_appId(APPID);
  319. $target1->set_alias(strval($items));
  320. $targetList[] = $target1;
  321. }
  322. $rep = $igt->pushMessageToList($contentId, $targetList);
  323. return $rep;
  324. }
  325. //群推接口案例
  326. function pushMessageToApp($title,$body,$sendtype=0,$provincearr=[]){
  327. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  328. $msgarr=['type'=>1,'title'=>$title,'msg'=>$body];
  329. $template = IGtTransmissionTemplateFunction(json_encode($msgarr),$msgarr);
  330. //个推信息体
  331. //基于应用消息体
  332. $message = new IGtAppMessage();
  333. $message->set_isOffline(true);
  334. $message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
  335. $message->set_data($template);
  336. if($sendtype==1){
  337. //指定区域推送
  338. $cdt = new AppConditions();
  339. $cdt->addCondition(AppConditions::REGION, $provincearr);
  340. // $cdt->addCondition("age", $age);
  341. $message->set_appIdList([APPID]);
  342. $message->set_conditions($cdt);
  343. }else{
  344. $appIdList=array(APPID);
  345. $message->set_appIdList($appIdList);
  346. }
  347. $rep = $igt->pushMessageToApp($message);
  348. return $rep;
  349. }
  350. //所有推送接口均支持四个消息模板,依次为通知弹框下载模板,通知链接模板,通知透传模板,透传模板
  351. //注:IOS离线推送需通过APN进行转发,需填写pushInfo字段,目前仅不支持通知弹框下载功能
  352. function IGtNotyPopLoadTemplateDemo(){
  353. $template = new IGtNotyPopLoadTemplate();
  354. $template ->set_appId(APPID);//应用appid
  355. $template ->set_appkey(APPKEY);//应用appkey
  356. //通知栏
  357. $template ->set_notyTitle("个推");//通知栏标题
  358. $template ->set_notyContent("个推最新版点击下载");//通知栏内容
  359. $template ->set_notyIcon("");//通知栏logo
  360. $template ->set_isBelled(true);//是否响铃
  361. $template ->set_isVibrationed(true);//是否震动
  362. $template ->set_isCleared(true);//通知栏是否可清除
  363. //弹框
  364. $template ->set_popTitle("弹框标题");//弹框标题
  365. $template ->set_popContent("弹框内容");//弹框内容
  366. $template ->set_popImage("");//弹框图片
  367. $template ->set_popButton1("下载");//左键
  368. $template ->set_popButton2("取消");//右键
  369. //下载
  370. $template ->set_loadIcon("");//弹框图片
  371. $template ->set_loadTitle("地震速报下载");
  372. $template ->set_loadUrl("http://dizhensubao.igexin.com/dl/com.ceic.apk");
  373. $template ->set_isAutoInstall(false);
  374. $template ->set_isActived(true);
  375. //$template->set_notifyStyle(0);
  376. //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
  377. return $template;
  378. }
  379. function IGtLinkTemplateDemo(){
  380. $template = new IGtLinkTemplate();
  381. $template ->set_appId(APPID);//应用appid
  382. $template ->set_appkey(APPKEY);//应用appkey
  383. $template ->set_title("请输入通知标题1");//通知栏标题
  384. $template ->set_text("请输入通知内容");//通知栏内容
  385. $template ->set_logo("");//通知栏logo
  386. $template ->set_isRing(true);//是否响铃
  387. $template ->set_isVibrate(true);//是否震动
  388. $template ->set_isClearable(true);//通知栏是否可清除
  389. $template ->set_url("http://www.igetui.com/");//打开连接地址
  390. //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
  391. return $template;
  392. }
  393. function IGtNotificationTemplateDemo(){
  394. $template = new IGtNotificationTemplate();
  395. $template->set_appId(APPID);//应用appid
  396. $template->set_appkey(APPKEY);//应用appkey
  397. $template->set_transmissionType(2);//透传消息类型
  398. $template->set_transmissionContent("测试离线");//透传内容
  399. $template->set_title("个推");//通知栏标题
  400. $template->set_text("个推最新版点击下载");//通知栏内容
  401. $template->set_logo("http://wwww.igetui.com/logo.png");//通知栏logo
  402. $template->set_isRing(true);//是否响铃
  403. $template->set_isVibrate(true);//是否震动
  404. $template->set_isClearable(true);//通知栏是否可清除
  405. //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
  406. return $template;
  407. }
  408. function IGtTransmissionTemplateDemo(){
  409. $template = new IGtTransmissionTemplate();
  410. $template->set_appId(APPID);//应用appid
  411. $template->set_appkey(APPKEY);//应用appkey
  412. $template->set_transmissionType(1);//透传消息类型
  413. $template->set_transmissionContent("测试离线ddd");//透传内容
  414. //$template->set_duration(BEGINTIME,ENDTIME); //设置ANDROID客户端在此时间区间内展示消息
  415. //APN简单推送
  416. $apn = new IGtAPNPayload();
  417. $alertmsg=new SimpleAlertMsg();
  418. $alertmsg->alertMsg="abcdefg3";
  419. $apn->alertMsg=$alertmsg;
  420. $apn->badge=2;
  421. $apn->sound="";
  422. $apn->add_customMsg("payload","payload");
  423. $apn->contentAvailable=1;
  424. $apn->category="ACTIONABLE";
  425. $template->set_apnInfo($apn);
  426. //VOIP推送
  427. // $voip = new VOIPPayload();
  428. // $voip->setVoIPPayload("新浪");
  429. // $template->set_apnInfo($voip);
  430. //第三方厂商推送透传消息带通知处理
  431. // $notify = new IGtNotify();
  432. //// $notify -> set_payload("透传测试内容");
  433. // $notify -> set_title("透传通知标题");
  434. // $notify -> set_content("透传通知内容");
  435. // $notify->set_url("https://www.baidu.com");
  436. // $notify->set_type(NotifyInfo_Type::_url);
  437. // $template -> set3rdNotifyInfo($notify);
  438. //APN高级推送
  439. $apn = new IGtAPNPayload();
  440. $alertmsg=new DictionaryAlertMsg();
  441. $alertmsg->body="body";
  442. $alertmsg->actionLocKey="ActionLockey";
  443. $alertmsg->locKey="LocKey";
  444. $alertmsg->locArgs=array("locargs");
  445. $alertmsg->launchImage="c";
  446. // IOS8.2 支持
  447. $alertmsg->title="Title";
  448. $alertmsg->titleLocKey="TitleLocKey";
  449. $alertmsg->titleLocArgs=array("TitleLocArg");
  450. $apn->alertMsg=$alertmsg;
  451. $apn->badge=7;
  452. $apn->sound="";
  453. $apn->add_customMsg("payload","payload");
  454. $apn->contentAvailable=1;
  455. $apn->category="ACTIONABLE";
  456. //
  457. //// IOS多媒体消息处理
  458. $media = new IGtMultiMedia();
  459. $media -> set_url("http://docs.getui.com/start/img/pushapp_android.png");
  460. $media -> set_onlywifi(false);
  461. $media -> set_type(MediaType::pic);
  462. $medias = array();
  463. $medias[] = $media;
  464. $apn->set_multiMedias($medias);
  465. $template->set_apnInfo($apn);
  466. return $template;
  467. }
  468. //多标签推送接口案例
  469. function pushMessageByTag(){
  470. $igt = new IGeTui(HOST,APPKEY,MASTERSECRET);
  471. $template = IGtLinkTemplateDemo();
  472. //个推信息体
  473. //基于应用消息体
  474. $message = new IGtTagMessage();
  475. $message->set_isOffline(true);
  476. $message->set_offlineExpireTime(10 * 60 * 1000);//离线时间单位为毫秒,例,两个小时离线为3600*1000*2
  477. $message->set_data($template);
  478. $appIdList=array(APPID);
  479. $message->set_tag("中文");
  480. $message->set_appIdList($appIdList);
  481. $rep = $igt->pushTagMessage($message);
  482. var_dump($rep);
  483. echo ("<br><br>");
  484. }
  485. function IGtTransmissionTemplateFunction($json,$arr=[]){
  486. $template = new IGtTransmissionTemplate();
  487. $template->set_appId(APPID);//应用appid
  488. $template->set_appkey(APPKEY);//应用appkey
  489. $template->set_transmissionType(2);//透传消息类型
  490. $template->set_transmissionContent($json);//透传内容
  491. //set_pushInfo($actionLocKey, $badge, $message, $sound, $payload, $locKey, $locArgs, $launchImage, $contentAvailable = 0)
  492. $template->set_pushInfo('ActionLocKey','+1',$arr['msg'],'',$json,'LocKey',array("locargs"),'c',0,$arr['title']);
  493. return $template;
  494. }
  495. ?>