手机版

Yii1.1框架实现PHP Aurora推送消息通知功能

时间:2021-08-30 来源:互联网 编辑:宝哥软件园 浏览:

1.下载aurora push PHP SDK,解压后放入/protected/components/目录,如下图所示:

第二,改进和修改官方演示示例。我将在这里复制一个演示,并将其更改为NotifyPush.php。代码如下:

?phprequire dirname(__FILE__)。/jpush-API-PHP-client/autoload . PHP ';使用JPush\Client作为JPush;class notify push { static function push alias($ alias,$ ticket=' message提醒',$ alert){ $ appkey=yii :3360 app()-params[' push '][' appkey '];$ appMasterSecret=yii : app()-params[' push '][' appMasterSecret '];$ production _ mode=yii : app()-params[' push '][' production _ mode '];$client=new JPush($appKey,$ appMasterSecret);//完整推送示例//这只是一个使用示例,不应该直接在实际生产环境中使用!尝试{ $ response=$ client-push()-set platform(array(' IOs ',' Android '))//一般来说,要设置受众,只需要调用四个方法中的一个,addAlias,addTag,addTagAnd或addratinid//。这只是一个例子,当然,它们都可以被称为。多个听众来电代表了他们结果的交集。//也就是说,一般来说,以下三种方法和未列出的addTagAnd总共是四种,只有一种可以满足大多数场景——addalias($ alias)-setnotificationalert($ alert)-IOs notification($ ticket,array ('sound'=' sound.caf ',/'badge'=' 1 ',/'content-available'=true,/' mutatable-content '=true,' category'='jiguang ',' extras'=array('key'='value ',' jiguang ')))-androidNotification($ tication,ticket array('title'=$alert,///' content _ type '=' text ',' extras'=array('key'='value ',' jiguang ')))-options(array(//send no :代表推送序列号,纯粹用作API调用标识符。 //API返回时,按原样返回,便于API调用方匹配请求和返回。//仅作为示例将其设置为100。//“send no”=100。//time_to_live:表示脱机邮件的保留时间(秒)。//当前用户不在线时,推送该用户的离线消息保留多长时间,以便在线时可以再次推送。//默认值为86400 (1天),最长为10天。将其设置为0意味着离线消息将不会被保留,只有在线推送的用户才能收到。//这里设置为1只是一个例子。//'Time _ To _ Live'=1,//APNs _ Production:表示APNs是否为生产环境,//True表示生产环境推式,False表示开发环境推式;如果未指定,默认情况下,它将是推送生产环境' apns _ production '=$ production _ mode。//big _ push _ duration:指示恒速推送的持续时间(分钟),也称为慢速推送,它会尽可能快地降低原始推送速度。//在给定的n分钟内,统一推送给本次推送的目标用户。

最大值为1400。如果没有设置,就不会匀速推送。//这里设置为1,仅作为示例。//' big _ push _ duration '=1))-send();print _ r($ response);} catch(\ JPush \ Exceptions \ APIConnectionException $ e){//尝试这里的东西打印$ e;} catch(\ JPush \ Exceptions \ APIRequestException $ e){//尝试这里的东西打印$ e;}}静态函数pushhall ($ ticket=' message提醒',$ alert){ $ appkey=yii :3360 app()-params[' push '][' appkey '];$ appMasterSecret=yii : app()-params[' push '][' appMasterSecret '];$ production _ mode=yii : app()-params[' push '][' production _ mode '];$client=new JPush($appKey,$ appMasterSecret);//完整推送示例//这只是一个使用示例,不应该直接在实际生产环境中使用!尝试{ $ response=$ client-push()-set platform(array(' IOs ',' Android '))-set account(' all ')//一般来说,要设置受众,只需要调用四种方法中的一种,addAlias,addTag,addTagAnd或addratinid//。这只是一个例子,当然,它们都可以被称为。多个听众来电代表了他们结果的交集。//也就是说,一般来说,下面三种方法和未列出的addtag一共四种,只有一种可以满足大多数场景——setnotificationalert($ alert)-IOs notification($ ticket,array ('sound'=' sound.caf ',/'badge'=' 1 ',/'content-available'=true,//' mutatable-content '=true,' category'='jiguang ',' extras'=array('key'='value ',' jiguang ',)))-androidNotification($ tication,ticket,array('title'=) Array ('title'=$ alert,///' content _ type '=' text ',' extras'=array ('key'=' value ',' jiguang '))-options(array(//send no :表示推送序列号,它纯粹用作API调用标识符。 //API返回时,按原样返回,便于API调用方匹配请求和返回。//此处的设置仅为100作为示例。//“发送号”=100,//Time _ to _ live:表示脱机邮件保留时间(秒)。//当前用户不在线时,离线消息要保留多久,用户才能上线。//默认值为86400 (1天),最长为10天。将其设置为0意味着离线消息将不会被保留,只有在线推送的用户才能收到。//这里设置为1只是一个例子。//'Time _ To _ Live'=1,//APNs _ Production:表示APNs是否为生产环境,//True表示生产环境推式,False表示开发环境推式;如果未指定,默认情况下,它将是推送生产环境' apns _ production '=$ production _ mode。//big _ push _ duration:指示恒速推送的持续时间(分钟),也称为慢速推送,它会尽可能快地降低原始推送速度。//在给定的n分钟内,统一推送给本次推送的目标用户。最大值为1400。如果没有设置,就不会匀速推送。//这里设置为1,仅作为示例。//' big _ push _ duration '=1))-send();print _ r($ response);} catch(\ JPush \ Exceptions \ APIConnectionException $ e){//尝试这里的东西打印$ e;} catch(\ JPush \ Exceptions \ APIRequestException $ e){//尝试这里的东西打印$ e;}}}第三,调用NotifyPush.php中的方法实现推送,如下:

类CronNotifyPushCommand扩展了CConsoleCommand { public $ keys=array();公共函数init(){ parent : init();}公共函数action index(){ echo“start cronotifypushcommand ”.人权委员会(10);if(!yii : app()-params[' push '][' push _ status ']){ echo ' push status disabled ';die();} $ rkey=' message _ notify _ list $ WaitTotals=Fredis :3360 model()-redis-lsize($ rkey);回声"等待总数:"。$ WaitTotals。人权委员会(10);$ WaitResult=true $ I=0;while($ WaitResult){ $ I;回显$i.'/' .等待总数.等着做吧。人权委员会(10);$ wait result=fredis : model()-redis-rpop($ rkey);if(!$ WaitResult){ 0继续;} $ db _ data=unserialize($ WaitResult);var _ dump($ db _ data);$ message _ content=$ db _ data[' message _ content '];$ uid=$ db _ data[' uid '];$ alias=$ uidif($ uid==0){ notifypush 3360: push all($ message _ content,$ message _ content);} else { notify push : push alias($ alias,$message_content,$ message _ content);} }回显"结束"。人权委员会(10);}}总结

以上所述是小编给大家介绍的Yii1.1框架实现服务器端编程语言(专业超文本预处理器的缩写)极光推送消息通知,希望对大家有所帮助,如果大家有任何疑问请给我留言,小编会及时回复大家的。在此也非常感谢大家对我们网站的支持!

版权声明:Yii1.1框架实现PHP Aurora推送消息通知功能是由宝哥软件园云端程序自动收集整理而来。如果本文侵犯了你的权益,请联系本站底部QQ或者邮箱删除。

相关文章推荐