// 这个可以需要在google账号中申请,勾选gcm服务选项
$apiKey = 'AIzaSyC6h3ysrn2HDCBqONTo2vKIVVuktIFoxxx'; $headers = array(
"Content-Type:" . "application/json",
"Authorization:" . "key=" . $apiKey
); $messageData = array(
'type' => 1,
'msg' => 'news test',
'push_id' => 100
); // device token,Android客户端获取到的,注册的时候保存到数据库中
// 连接一次可以推送到多个客户端,这里建议最大1000条
$regid = array(
'APA91bEapIMawO4Kg5tLul__sKVtWItS6j7vdvpjEw1bv1dDCHSzYtucz0PCGdtdAASL1bQdVTgmVCIN4I8u9HZ8fnUqpM3jwwy4DwVXHpZmEr4NO18ORJlIox97BUun_fgZzYBWWoSxJY_H5PJHsi0WoWZcYDgSLQ',
'APA91bHY-F_U-ovEMRM_hRJegcD7QDxxffh4uNjiaBIIBTD1mVUc2BSqSdhvTPnhrMhN-E3msNganWaYN7s62UzqTrZYNGJl29lbTkHWWUzAywwK1V99LYK4ICn_TQfwciftuNwqlgJNOPrszYf5yLlKTzKpOUG3OQ',
'APA91bHHeGuCPz7WH6Kc9dPhiV67aSfQ1WOG7fK5N18msOW5EhATeqAFhyvHPxGC3ANKkgGFn0AbQi3r3KF6yKALGJqRPJXJ_HALhCCUPRiKXYjIkpiuMyP1pb6xZNaWETzHYDsWPRkgoeSnGcX19RVGWHs2JJOQWQ',
'APA91bE6HyQV19QOk6SgfQnmeIa2d47-i82dxtPRrGCe9MXjiFI-nYglgS_6hOaMb7TQRssQ9M0DHkHdUDYygDZe3tbt_zymRXDCFa6By1LcTZPNUDNCDvP3h-yqt3j1YZIMwvSOFTqNLJ9GgrjM54RNao5P2q6E2g',
'APA91bENGEtKY8rz9r3CcT82et62kvKEzzdMtww1PUKmf3VOK3bh_O4QaK9PSrUzTZwd15CHkEAbIMi_9mP3J0BnrJox1NqO25OoOZ5kkOlPpUKPvm7byfTGgQRsITkbS_TpP2Wg8A3bONEWR9CBjmOfyWZjImBFXA',
'APA91bFeBqgGqeMAbmab62xocPf1RejGJmQBEKjTFvEk7HurL5A7zVeQ-0-7v6ekQ6rYehgr8AZza5cEE1iZSJt47HvFgmAFqID7YeiAsO7wYW9en0xM4GLnJgGGSfy6VNbqogsP6ftIxVFuKeHzzcJb8u1IBCzZGw',
); $data = array(
'data' => $messageData,
'registration_ids' => $regid
); $url = "https://android.googleapis.com/gcm/send";
$ch = curl_init();
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_URL, $url);
curl_setopt($ch, CURLOPT_SSL_VERIFYHOST, 0);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, 0);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($data)); $response = curl_exec($ch);
curl_close($ch); var_dump($response);

创建GOOGLE项目的方法

1、创建Google项目https://cloud.google.com/console/project
2、开启GCM 菜单栏依次找到"APIs & auth –> APIs –> Google Cloud Messaging For Android" 打开这个选项 "ON"
3、创建server key 找到"Credentials"菜单 点击server key按钮创建
4、编辑允许访问的IP,可以不设定

这里就有了发送GOOGLE GCM的key了,更详细的可以参照

http://javapapers.com/android/google-cloud-messaging-gcm-for-android-and-push-notifications/

利用Google GCM发送push通知到Android客户端的更多相关文章

  1. android firmware 利用UDP socket发送Magic Packet--python版本

    android firmware 利用UDP socket发送Magic Packet--python版本 #!/usr/bin/python import sys, time from struct ...

  2. android firmware 利用UDP socket发送Magic Packet--c语言版本

    android firmware 利用UDP socket发送Magic Packet 1 Magic Packet格式: 6个0xFF + 16个Dst Mac Address 2 代码需要设置目的 ...

  3. GCM 发送接收消息 Message Client Server 服务器端,客户端

    GCM 传递参数 最近用了很多时间做GCM,由于碰到很多问题,因此详细做一下记录,以方便各位网友,不用再走我的重复的路.不过我试了一下GCM在国内很不好用.假如开发国外的程序的话,用GCM倒是很不错的 ...

  4. 【转】高通平台android 环境配置编译及开发经验总结

    原文网址:http://blog.csdn.net/dongwuming/article/details/12784535 1.高通平台android开发总结 1.1 搭建高通平台环境开发环境 在高通 ...

  5. 利用Google Speech API实现Speech To Text

    很久很久以前, 网上流传着一个免费的,识别率暴高的,稳定的 Speech To Text API, 那就是Google Speech API. 但是最近再使用的时候,总是返回500 Error. 后来 ...

  6. Android客户端向服务器端发送数据的流程(1)

    原理: android客户端通过使用org.apache.http.impl.client.DefaultHttpClient类来发送数据; 方法介绍: HttpClient是android中提供的一 ...

  7. 如何实现Jenkins 编译结果通知到QQ好友及QQ群组<很遗憾 2019年1月1日腾讯停止了webqq机器人的服务支持>

    Jenkins-NotifyQQ NotifyQQ 运行于Docker 本文介绍mac 环境下实现Jenkins编译结果QQ即时通知 Jenkins 安装使用及iOS自动化打包,邮件通知请参考本人博客 ...

  8. 全图文分析:如何利用Google的protobuf,来思考、设计、实现自己的RPC框架

    目录 一.前言 二.RPC 基础概念 1. RPC 是什么? 2. 需要解决什么问题? 3. 有哪些开源实现? 三.protobuf 基本使用 1. 基本知识 2. 使用步骤 四.libevent 1 ...

  9. 利用Socket远程发送文件

    思想: 1.注意使用两个通道,一个普通对象通信通道,另一个纯净的文件字节流通道 2.利用通信通道发送文件请求,新建字节流通道,开始发送文件

随机推荐

  1. extern的困惑

    摘自:http://blog.csdn.net/fxjtoday/article/details/6021845 如果想明白为什么需要extern, 需要从编译和链接讨论起, 现代编译器一般采用按文件 ...

  2. JDK 7u60 版本发布下载安装

    JDK 7u60 版本发布了,主要改进包括: JavaFX 更新到 2.2.60 Java Mission Control(JMC)更新到 5.3 如果你在一个早期版本的Java中禁用了过期检查功能, ...

  3. 通过分析 JDK 源代码研究 TreeMap 红黑树算法实现--转

    TreeMap 和 TreeSet 是 Java Collection Framework 的两个重要成员,其中 TreeMap 是 Map 接口的常用实现类,而 TreeSet 是 Set 接口的常 ...

  4. i = i++;

    在这里jvm里面有两个存储区,一个是暂存区(是一个堆栈,以下称为堆栈),另一个是变量区.语句istore_1是将堆栈中的值弹出存入相应的变量区(赋值):语句iload_1是将变量区中的值暂存如堆栈中. ...

  5. 实验-hadoop开发环境部署

    hadoop-0.20.2自带了eclipse插件,比如1.0.0和2.2.0就没有 1.windows下 1)把插件hadoop-0.20.2-eclipse-plugin.jar复制到eclips ...

  6. C++/CLR Sqlite初探

        error C2491: "acosh": 不允许 dllimport 函数 的定义     asinh": 不允许 dllimport 函数 的定义     a ...

  7. 错误与修复:ASP.NET无法检测IE10,导致_doPostBack未定义JavaScript错误,恒处于FF5卷动条位置

    浏览器版本号继续升级过程中.IE9诞生了,IE10 也即将问世,火狐5和6已经发布了,而7和8也快出现了,Opera已经到了11,Chrome还在继续,我也不知道,应该总在14和50之间吧.不管怎样, ...

  8. 笔记——js 数组

    JS阅读笔记--数组[Array] 最近在看zepto源码,里面用到了很多基础知识,借此机会又把基础知识复习和整理了一遍,算是温故而知新吧.先从引用类型Array写起吧 1. length属性 代码: ...

  9. 最简单的Linux-ACL操作

    添加ACL setfacl -m u:'username':rw 'dir or file'   "-R可以迭代式的给目录下所有文件都添加相同的ACL" 查看ACL规则 getfa ...

  10. MySQL中的保留字

    本文转载自:http://www.cnblogs.com/lawdong/archive/2010/08/08/2357903.html ADD ALL ALTER ANALYZE AND AS AS ...