APP的消息推送,使用的第三方平台是极光推送,(极光推送的JPush功能)
文档:https://docs.jiguang.cn/jpush/guideline/intro/
简单案例(以Thinkphp为例):
1、下载下载PHPSDK
2、把PHPSDK目录下的jpush-api-php-client-3.5.1srcJPush,Jpush下全部文件复制到项目中:ThinkPHPLibraryOrgJPush
3、thinkphp中Org下面的文件会自动加载
$client = new OrgPushClient($app_key, $master_secret); $push = $client->push(); $push->setPlatform(array('ios', 'android')); //根据设备id,向每一个用户推送。$registrationid_arr为数组,一次推送最多 1000 个。 $push->addRegistrationId($registrationid_arr); //false: ios推送的为开发环境 $push->options(array( 'apns_production'=>false, //表示离线消息保留时长(秒),默认保存1天 // 'time_to_live'=>86400, )); $push->setNotificationAlert('您有新的匹配订单,请尽快报价!'); $push->send();
4、根据registrationid(注册id、或者叫设备id)推送,需要把设备id保存到数据库。即需要写一个接口,到用户登陆成功时,请求这个接口,把APP当前登陆(最后 登陆)用户的设备id和用户id,绑定保存到用户表。
当想给这个用户推送消息时,根据用户id找到用户对应的设备id,进行推送即可。
参考:
极光文档:
(Push API v3)http://community.apicloud.com/bbs/forum.php?mod=viewthread&tid=2420&page=1#pid21227
https://github.com/jpush/jpush-api-php-client/blob/master/doc/api.md#sms-message
极光控制台:https://www.jiguang.cn/app/list
其他:
http://www.dodobook.net/php/780
http://www.111cn.net/phper/thinkPhp/112810.htm
http://www.bubuko.com/infodetail-589128.html