当前位置: 首页 > 后端技术 > PHP

PHP支持友盟新闻推送踩坑记录

时间:2023-03-30 05:49:57 PHP

公司客户终端选择的好友消息推送,PHP文档很少,自己踩坑不少:代码andkey='andriodkey';$this->andMasterSecret='andriodsecret';//ios$this->ioskey='ioskey';$this->iosMasterSecret='iossecret';$this->timestamp=strval(time());}/***Androidpush—broadcast*@param$titlestring推送消息标题*@param$contentstring推送消息内容*@returnmixed*/functionsendAndroidBroadcast($title,$content){try{$brocast=new\安卓广播();$brocast->setAppMasterSecret($this->andMasterSecret);$brocast->setPredefinedKeyValue("appkey",$this->andkey);$brocast->setPredefinedKeyValue("时间戳",$this->timestamp);$brocast->setPredefinedKeyValue("ticker","Android广播代码");$brocast->setPredefinedKeyValue("title",$title);$brocast->setPredefinedKeyValue("文本",$content);$brocast->setPredefinedKeyValue("after_open","go_app");$brocast->setPredefinedKeyValue("production_mode","true");$brocast->setExtraField("测试","helloworld");返回$brocast->send();}catch(Exception$e){print("捕获异常:".$e->getMessage());/***Androidpush—unicast*@param$titlestring推送消息标题*@param$contentstring推送消息内容*@param$tokens数组设备令牌值*@returnmixed*/functionsendAndroidUnicast($title,$内容,$tokens){try{$unicast=new\AndroidUnicast();$unicast->setAppMasterSecret($this->andMasterSecret);$unicast->setPredefinedKeyValue("appkey",$this->andkey);$unicast->setPredefinedKeyValue("mipush",true);$unicast->setPredefinedKeyValue("mi_activity",'cn.xxx.xxx.ui.activity.SplashActivity');$unicast->setPredefinedKeyValue("timestamp",$this->timestamp);$unicast->setPredefinedKeyValue("device_tokens",$tokens);$unicast->setPredefinedKeyValue("ticker","Androidunicastticker");$unicast->setPredefinedKeyValue("title",$title);$unicast->setPredefinedKeyValue("text",$content);$unicast->setPredefinedKeyValue("after_open","go_app");$unicast->setPredefinedKeyValue("production_mode","true");$unicast->setExtraField("测试","helloworld");返回$unicast->send();}catch(Exception$e){print("捕获异常:".$e->getMessage());}}/**android自定义**/functionsendAndroidCustomizedcast($alias,$alias_type,$ticker,$title,$text){try{$customizedcast=new\AndroidCustomizedcast();$customizedcast->setAppMasterSecret($this->andMasterSecret);$customizedcast->setPredefinedKeyValue("appkey",$this->andkey);$customizedcast->setPredefinedKeyValue("timestamp",$this->timestamp);$customizedcast->setPredefinedKeyValue("alias",$alias);$customizedcast->setPredefinedKeyValue("alias_type",$alias_type);$customizedcast->setPredefinedKeyValue("ticker",$ticker);$customizedcast->setPredefinedKeyValue("title",$title);$customizedcast->setPredefinedKeyValue("text",$text);$customizedcast->setPredefinedKeyValue("after_open","go_app");返回$customizedcast->send();}赶上(异常$e){print("捕捉到异常:".$e->getMessage());}}/***IOSpush-broadcast*@param$titlestring推送消息标题*@param$contentstring推送消息内容*@returnmixed*/functionsendIOSBroadcast($title,$content){try{$brocast=new\IOS广播();$brocast->setAppMasterSecret($this->iosMasterSecret);$brocast->setPredefinedKeyValue("appkey",$this->ioskey);$brocast->setPredefinedKeyValue("timestamp",$this->timestamp);$brocast->setPredefinedKeyValue("alert",$title);$brocast->setPredefinedKeyValue("徽章",0);$brocast->setPredefinedKeyValue("sound","chime");$brocast->setPredefinedKeyValue("production_mode","false");$brocast->setCustomizedField("test",$content);返回$brocast->send();}catch(Exception$e){print("捕获异常n:".$e->getMessage());}}/***IOS推送—单播*@param$titlestring推送消息标题*@param$contentstring推送消息内容*@param$tokens数组设备的令牌值*@returnmixed*/functionsendIOSUnicast($title,$content,$tokens){try{$unicast=new\IOSUnicast();$unicast->setAppMasterSecret($this->iosMasterSecret);$unicast->setPredefinedKeyValue("appkey",$this->ioskey);$unicast->setPredefinedKeyValue("时间戳",$this->timestamp);$unicast->setPredefinedKeyValue("device_tokens",$tokens);$unicast->setPredefinedKeyValue("alert",$title);$unicast->setPredefinedKeyValue("badge",0);$unicast->setPredefinedKeyValue("sound","chime");$unicast->setPredefinedKeyValue("production_mode","false");$unicast->setCustomizedField("test",$content);返回$unicast->发送();}catch(Exception$e){print("捕获异常:".$e->getMessage());}}/**IOS自定义**/functionsendIOSCustomizedcast($alias,$alias_type,$ticker,$title,$text){$alert=["title"=>$title,"subtitle"=>$ticker,“正文”=>$文本];尝试{$customizedcast=new\IOSCustomizedcast();$customizedcast->setAppMasterSecret($this->iosMasterSecret);$customizedcast->setPredefinedKeyValue("appkey",$this->ioskey);$customizedcast->setPredefinedKeyValue("timestamp",$this->timestamp);$customizedcast->setPredefinedKeyValue("alias",$alias);$customizedcast->setPredefinedKeyValue("alias_type",$alias_type);$customizedcast->setPredefinedKeyValue("alert",$alert);$customizedcast->setPredefinedKey价值(“徽章”,0);$customizedcast->setPredefinedKeyValue("sound","chime");$customizedcast->setPredefinedKeyValue("production_mode","false");返回$customizedcast->send();}catch(Exception$e){print("捕获异常:".$e->getMessage());}}}andriod和ios使用不同的密钥和秘密,只需申请即可。没有信息,更不用说客服了。。。ios自定义广播的alert需要通过一个数组把这两个字段下线。你需要在UmengNotification.php文件中添加这两个字段,否则会报错。protected$DATA_KEYS=array("appkey","timestamp","type","device_tokens","alias","alias_type","file_id","filter","production_mode","feedback","description","thirdparty_id","mipush","mi_activity");友盟U-push参数分析3、使用下载的官方demo时,一定要注释掉打印。第一篇文章很乱,见谅