友盟推送 php,thinkphp整合系列之友盟消息推送

上篇文章 thinkphp集成系列之phpmailer批量发送邮件讲过的;

邮件有着零成本、内容丰富的优点;

但是一个非常硬的硬伤;这家伙的及时性太差了;

尤其是随着90、00后的崛起;从上网开始体验的就是QQ、微信的即时通讯;

唯一有的邮箱也还是自动开通的QQ邮箱;然而还是一连串的未读;

那么有木有一种零成本、但是及时性比较好的方案呢?

有的;那就是消息推送;当然;前提是用户已经安装了app;

今个先就友盟的推送来讲解下;http://push.umeng.com/

依然是以开源项目示例:https://github.com/baijunyao/thinkphp-bjyadmin

一:注册应用

工欲善其事必先注其key;

找到消息推送、添加应用;获得key和secret;

d0bbdc6819a32a9b66d5f41b447035cb.png

这里面有2个坑;

1:安卓要用的是Appkey和App Master Secret;不是Umeng Message Sercet;

2:一定 要添加 服务器ip地址、如果是在本地测试;那直接百度下ip;把查出的ip填上即可;

d468a7374c8f3ff5682cbc1657c0b1e1.png

添加测试设备的Device Token;这个是需要由移动端获取的;

72273f7cb247546f7a14ee9ec779ae3e.png

二:创建表

下载示例项目;安装后会有users表和oauth_user表;

users表用来存放用户的账号密码之类的;

oauth_user表用来存放移动端发送过来的Device Token;

当然;自己设计表也是可以的;主要就是让用户id和Device Token关联起来;

三:集成友盟sdk

sdk目录:/ThinkPHP/Library/Vendor/Umeng

当然;这个sdk也是被我修改过的;具体修改了那些地方;同样也年代久远;没有记录了;

配置项:/Application/Common/Conf/config.php'UMENG_IOS_APP_KEY' => '', //友盟ios AppKey

'UMENG_IOS_SECRET' => '', //友盟ios App Master Secret

'UMENG_ANDROID_APP_KEY' => '', //友盟android AppKey

'UMENG_ANDROID_SECRET' => '', //友盟android App Master Secret

函数:/Application/Common/Common/function.php/**

* 发送友盟推送消息

* @param integer $uid 用户id

* @param string $title 推送的标题

* @param integer $type 1:官方小秘书 2:我的评论

* @return boolear 是否成功

*/

function umeng_push($uid,$title){

// 获取token

$device_tokens=D('OauthUser')->getToken($uid,2);

// 如果没有token说明移动端没有登录;则不发送通知

if (empty($device_tokens)) {

return false;

}

// 导入友盟

Vendor('Umeng.Umeng');

// 自定义字段 根据实际环境分配;如果不用可以忽略

$status=1;

// 消息未读总数统计 根据实际环境获取未读的消息总数 此数量会显示在app图标右上角

$count_number=1;

$data=array(

'key'=>'status',

'value'=>"$status",

'count_number'=>$count_number

);

// 判断device_token 64位表示为苹果 否则为安卓

if(strlen($device_tokens)==64){

$key=C('UMENG_IOS_APP_KEY');

$timestamp=C('UMENG_IOS_SECRET');

$umeng=new \Umeng($key, $timestamp);

$umeng->sendIOSUnicast($data,$title,$device_tokens);

}else{

$key=C('UMENG_ANDROID_APP_KEY');

$timestamp=C('UMENG_ANDROID_SECRET');

$umeng=new \Umeng($key, $timestamp);

$umeng->sendAndroidUnicast($data,$title,$device_tokens);

}

return true;

}

调用:umeng_push('1','测试')

  • 0
    点赞
  • 0
    收藏
    觉得还不错? 一键收藏
  • 0
    评论

“相关推荐”对你有帮助么?

  • 非常没帮助
  • 没帮助
  • 一般
  • 有帮助
  • 非常有帮助
提交
评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值