首页 > php教程 > php手册 > 正文

php实现 GCM(Google Cloud Messaging) 云推送消息

php中文网
发布: 2016-06-06 19:46:20
原创
1528人浏览过

首先我们要获取api key ,使用google 帐号登录https://code.google.com/apis/console 点击api access 如下 在该页面可以看到申请到的app key 如果没有可以点击 create new server key... 按钮 如下图 获得了app key 下面就简单了 上php代码: ?phpclass push

 首先我们要获取api key ,使用google 帐号登录https://code.google.com/apis/console 点击api access 如下

在该页面可以看到申请到的app key  如果没有可以点击 create new server key... 按钮 如下图

php实现 GCM(Google Cloud Messaging) 云推送消息

获得了app key  下面就简单了 上php代码:

<?php
class push extends CI_Controller {
	
	function __construct() {
		parent::__construct ();
		$this->load->Model ( 'common' );
		// $this->common->requireLogin ();
	}
	
	function index() {
		
	<span>$reg_id = "APA91bGLGb2AiMM-gLMRKNKqlrsKRJHFjQ1_1XFkmlITjd8X7ucV9WFFAOmkICkMn7hyMqIevkET-XrprY32LtiAuZtzreYYow4aiZCpH_Q04dfOiC85e-bH7NRIMsF0W3BvJ_ki8PE5"</span>;
	$msg = "00000";
 
	$this->send_gcm_notify($reg_id, $msg);
	}
	
	function send_gcm_notify($reg_id, $message) {
 
    $fields = array(
        'registration_ids'  => array( $reg_id),
        'data'              => array( "message" => $message ),
    );
 
    $headers = array(
        'Authorization: key=' . 'AIzaSyBV4VW7n9AJdJwox9MUwC******',<span>//获取到的app key</span>
        'Content-Type: application/json'
    );
 
    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://android.googleapis.com/gcm/send');
    curl_setopt($ch, CURLOPT_POST, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
    curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));
 
    $result = curl_exec($ch);
    if ($result === FALSE) {
        die('Problem occurred: ' . curl_error($ch));
    }
 
    curl_close($ch);
    echo $result;
 }
}

?>
登录后复制

关于代码中的$reg_id:是app中调用gcm.jar中的方法获取到的,如下。在该测试代码中我们在服务端写死该ID.
import com.google.android.gcm.GCMRegistrar;

 final String regId = GCMRegistrar.getRegistrationId(this);
登录后复制

整个推送系统的交互应该是:

  1.客户端app运行,成功获取 regId ,将该ID发送到服务端,存入数据库。

立即学习PHP免费学习笔记(深入)”;

PushSharp移动消息推送库
PushSharp移动消息推送库

PushSharp实现了服务器端向移动客户端推送消息的库,支持iOS (iPhone/iPad APNS),Android (C2DM and GCM - Google Cloud Message),Windows Phone,和Windows 8 devices!

PushSharp移动消息推送库 2
查看详情 PushSharp移动消息推送库

  2.服务端根据某些特定的条件选择出regId,而后调用google 推送服务。


推送成功返回如下:

{
   multicast_id: 5381354139383071000,
   success: 1,
   failure: 0,
   canonical_ids: 0,
   results: [
    {
      message_id: "0:1377835083519762%2adac3a0f9fd7ecd"
    }
   ]
}
登录后复制

相关标签:
PHP速学教程(入门到精通)
PHP速学教程(入门到精通)

PHP怎么学习?PHP怎么入门?PHP在哪学?PHP怎么学才快?不用担心,这里为大家提供了PHP速学教程(入门到精通),有需要的小伙伴保存下载就能学习啦!

下载
来源:php中文网
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系admin@php.cn
最新问题
开源免费商场系统广告
热门教程
更多>
最新下载
更多>
网站特效
网站源码
网站素材
前端模板
关于我们 免责申明 举报中心 意见反馈 讲师合作 广告合作 最新更新
php中文网:公益在线php培训,帮助PHP学习者快速成长!
关注服务号 技术交流群
PHP中文网订阅号
每天精选资源文章推送

Copyright 2014-2025 https://www.php.cn/ All Rights Reserved | php.cn | 湘ICP备2023035733号