ICode9

精准搜索请尝试: 精确搜索
首页 > 编程语言> 文章详细

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

2022-07-14 15:04:22  阅读:202  来源: 互联网

标签:Umeng UMENG 之友 umeng device key thinkphp 推送 友盟


今个先就友盟的推送来讲解下;http://push.umeng.com/
依然是以开源项目示例:https://github.com/baijunyao/thinkphp-bjyadmin
一:注册应用
工欲善其事必先注其key;
找到消息推送、添加应用;获得key和secret;

 

这里面有2个坑;
1:安卓要用的是Appkey和App Master Secret;不是Umeng Message Sercet;
2:一定 要添加 服务器ip地址、如果是在本地测试;那直接百度下ip;把查出的ip填上即可;

 

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

 

 

二:创建表
下载示例项目;安装后会有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','测试')

标签:Umeng,UMENG,之友,umeng,device,key,thinkphp,推送,友盟
来源: https://www.cnblogs.com/xiaobo0925/p/16477655.html

本站声明: 1. iCode9 技术分享网(下文简称本站)提供的所有内容,仅供技术学习、探讨和分享;
2. 关于本站的所有留言、评论、转载及引用,纯属内容发起人的个人观点,与本站观点和立场无关;
3. 关于本站的所有言论和文字,纯属内容发起人的个人观点,与本站观点和立场无关;
4. 本站文章均是网友提供,不完全保证技术分享内容的完整性、准确性、时效性、风险性和版权归属;如您发现该文章侵犯了您的权益,可联系我们第一时间进行删除;
5. 本站为非盈利性的个人网站,所有内容不会用来进行牟利,也不会利用任何形式的广告来间接获益,纯粹是为了广大技术爱好者提供技术内容和技术思想的分享性交流网站。

专注分享技术,共同学习,共同进步。侵权联系[81616952@qq.com]

Copyright (C)ICode9.com, All Rights Reserved.

ICode9版权所有