原文地址:http://blog.csdn.net/zhihua_w/article/details/52197611

极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业、高效的移动消息推送服务。

本篇博文讲述如何在将极光推送DEMO整合到ThinkPHP框架中,我使用的是极光推送PHP_DEMO_V3.4.3版本:

1、将极光推送DEMO文件(文件夹名称为Jpush)放入到你的公共文件夹(Common)中,按照极光开发文档在极光后台建立好自己的应用,获取相应的app_key、master_secret,在文件中将会用到这两个值;

2、如上,在公共文件夹(Common)下建立function.php文件;

  1. /**
  2. * 将数据先转换成json,然后转成array
  3. */
  4. function json_array($result){
  5. $result_json = json_encode($result);
  6. return json_decode($result_json,true);
  7. }
  8. /**
  9. * 向所有设备推送消息
  10. * @param string $message 需要推送的消息
  11. */
  12. function sendNotifyAll($message){
  13. require_once "JPush\JPush.php";
  14. $app_key = 'your app_key';                //填入你的app_key
  15. $master_secret = 'your master_secret';    //填入你的master_secret
  16. $client = new \JPush($app_key,$master_secret);
  17. $result = $client->push()->setPlatform('all')->addAllAudience()->setNotificationAlert($message)->send();
  18. return json_array($result);
  19. }
  20. /**
  21. * 向特定设备推送消息
  22. * @param array $regid 特定设备的设备标识
  23. * @param string $message 需要推送的消息
  24. */
  25. function sendNotifySpecial($regid,$message){
  26. require_once "JPush\JPush.php";
  27. $app_key = 'your app_key';                //填入你的app_key
  28. $master_secret = 'your master_secret';    //填入你的master_secret
  29. $client = new \JPush($app_key,$master_secret);
  30. $result = $client->push()->setPlatform('all')->addRegistrationId($regid)->setNotificationAlert($message)->send();
  31. return json_array($result);
  32. }
  33. /**
  34. * 向指定设备推送自定义消息
  35. * @param string $message 发送消息内容
  36. * @param array $regid 特定设备的id
  37. * @param int $did 状态值1
  38. * @param int $mid 状态值2
  39. */
  40. function sendSpecialMsg($regid,$message,$did,$mid){
  41. require_once "JPush\JPush.php";
  42. $app_key = 'your app_key';                //填入你的app_key
  43. $master_secret = 'your master_secret';    //填入你的master_secret
  44. $client = new \JPush($app_key,$master_secret);
  45. $result = $client->push()->setPlatform('all')->addRegistrationId($regid)
  46. ->addAndroidNotification($message,'',1,array('did'=>$did,'mid'=>$mid))
  47. ->addIosNotification($message,'','+1',true,'',array('did'=>$did,'mid'=>$mid))->send();
  48. return json_array($result);
  49. }
  50. /**
  51. * 得到各类统计数据
  52. * @param array $msgIds 推送消息返回的msg_id列表
  53. */
  54. function reportNotify($msgIds){
  55. require_once "JPush\JPush.php";
  56. $app_key = 'your app_key';                //填入你的app_key
  57. $master_secret = 'your master_secret';    //填入你的master_secret
  58. $client = new \JPush($app_key,$master_secret);
  59. $response = $client->report()->getReceived($msgIds);
  60. return json_array($response);
  61. }

在文件中写入各种集成函数,以方便在系统应用控制器中进行调用。

3、最后便是在控制器中进行调用即可;

  1. //向特定用户进行推送—单播
  2. //$regid可以是一个单个regid组成的字符串,也可以是多个regid组成的数组
  3. //$data['content']是你所需要推送的内容
  4. $result_s = sendNotifySpecial($regid, $data['content']);
  5. //想所有用户进行推送—广播
  6. $result_a = sendNotifyAll($data['content']);
  7. //获取统计用户是否获取推送消息的信息(或者有多少用户收到了推送消息)
  8. //$msgids是你推送消息的消息id
  9. $result_r = reportNotify($msgIds);
 
 

版权声明:转载时请标注http://blog.csdn.net/zhihua_w

tp的极光推送demo的更多相关文章

  1. ThinkPHP框架整合极光推送DEMO

    极光推送(JPush)是独立的第三方云推送平台,致力于为全球移动应用开发者提供专业.高效的移动消息推送服务. 本篇博文讲述如何在将极光推送DEMO整合到ThinkPHP框架中,我使用的是极光推送PHP ...

  2. 友盟分享,极光推送Demo

    友盟分享SDK下载及官方文档 http://dev.umeng.com/social/ios/detail-share 1.注册应用获取App友盟Appkey(556d14ad67e58eb08400 ...

  3. 极光推送Demo

    <?php //极光推送的类    //文档见:http://docs.jpush.cn/display/dev/Push-API-v3         /***使用示例***/        ...

  4. 关于极光推送Jpush的demo

    关于极光推送Jpush 推送是手机app必不可少的一样功能,这次由于公司项目需要研究了一下.由于推送一般写于服务端,所以对于不会Android的javaweb程序员要写出一个完整的demo是一件很头痛 ...

  5. 极光推送---安卓Demo

    对于一个一直干.net的程序媛来说,冷不丁的让小编干安卓,那种感觉就好似小狗狗咬小刺猬一样,不知道从哪儿开始下手,对于小编来说,既是挑战更是机遇,因为知识都是相通的,再者来说,在小编的程序人生中,留下 ...

  6. ThinkPHP 3.2.x 集成极光推送指北

    3.2版本已经过了维护生命周期,官方已经不再维护,请及时更新至5.0版本 -- ThinkPHP 官方仓库 以上,如果有条件,请关闭这个页面,然后升级至 ThinkPHP 5,如果由于各种各样的原因无 ...

  7. 极光推送JPush的快速集成

    首先到极光推送的官网上创建一个应用,填写对应的应用名和包名. 创建好之后下载Demo 提取Sdk里面的图片和xml等资源文件放自己项目的相应位置,然后要注意的是.so文件的放置位置: 在main目录下 ...

  8. 【原】iOS学习之极光推送

    一.极光推送工程端 1.下载SDK 极光推送是一个推送消息的第三方,SDK下载:https://www.jpush.cn/common/products 集成压缩包内容:包名为JPush-iOS-SD ...

  9. (转载)iOS 极光推送SDK 集成指南

    iOS SDK 集成指南 使用提示 本文匹配的 SDK版本:r1.2.5 以后. 查看最近更新了解最新的SDK更新情况. 产品功能说明 极光推送(JPush)是一个端到端的推送服务,使得服务器端消息能 ...

随机推荐

  1. go:interface{}、断言与类型转换

    interface{}可用于向函数传递任意类型的变量,但对于函数内部,该变量仍然为interface{}类型(空接口类型), 不清楚这点将可能导致错误.如以下代码: package main impo ...

  2. 打开APK里的AndroidManifest.xml乱码

    直接解压apk,打开AndroidManifest.xml显示乱码,因为这里面是二进制字符,和打开文件的编辑器无关.(也可以用ultraedit打开查看,有明文显示.只是看起来搜起来不是很方便而已) ...

  3. rename

    重命名文件名: # rename hosts.conf.正式配值文件 hosts.conf.正式配置文件 hosts.conf.正式配值文件 [root@monitor- vhost]# ls hos ...

  4. 再谈通过http访问SSAS

    问题: 在有些场景下,数据中心会分为不同的服务器场:数据库场和应用程序场.服务器场间有严格的防火墙控制,其中数据库场只能建立从应用程序场的防火墙穿越,也就是说不允许任何客户端直接连接到防火墙. 这种策 ...

  5. Oracle监听的静态注册和动态注册

    静态注册:通过解析listene.ora文件 动态注册:由PMON进程动态注册至监听中 在没有listener.ora配置文件的情况下,如果启动监听,则监听为动态注册.用图形化netca创建的监听,默 ...

  6. oracle触发器与数据导入导出的简单使用

    exp cjtxx/123456@192.168.80.231/orcl file=d:\cjtxx.dmp owner=cjtxx [tables=tablename] imp cjttest/12 ...

  7. jmeter仅一次控制器

    仅针对 1个线程的 多线程的那个不生效  想实现多次执行某个请求只执行一次 需要设置为单线程 循环次数设置为多次就可以了 

  8. Jquery ajax 学习笔记

    本人的js & jq 一直是菜鸟级别,最近不忙就看了看ajax方面的知识,文中部分内容参考自这里&这里 之前一直用js写ajax现在基于jq实现方便多了~ $.get & $. ...

  9. jvm的垃圾回收原理

    什么是垃圾回收? 垃圾回收是Java中自动内存管理的另一种叫法.垃圾回收的目的是为程序保持尽可能多的可用堆(heap). JVM会删除堆上不再需要从堆引用的对象. 用一个例子解释垃圾回收? 比方说,下 ...

  10. Java的四种内部类

    Java的四种内部类包括如下: 成员内部类 静态内部类 局部内部类 匿名内部类 成员内部类: 定义在另一个类(外部类)的内部,而且与成员方法和属性平级叫成员内部类,......相当于外部类的非静态方法 ...