使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知)

什么是GCM?

Google Cloud  Messaging (GCM) 是Google提供的一个服务,用来从服务端向安卓设备发送推送通知。

GCM分为客户端和服务端开发。

这里我们只介绍服务端开发。其实过程非常简单,只需利用PHP发送POST数据。

api key的取得?

待补充?

class GCM {

    public $api_key = "AIzaSyAU3wZs9raik-mHQ";

    function __construct() {

    }

    /**
     * Sending Push Notification
     */
    public function send_notification($registatoin_ids, $message) {

        // Set POST variables
        $url = ‘https://android.googleapis.com/gcm/send‘;

        $fields = array(
            ‘registration_ids‘ => $registatoin_ids,
            ‘data‘ => $message,
        );

        $headers = array(
            ‘Authorization: key=‘ . $this->api_key,
            ‘Content-Type: application/json‘
        );
        // Open connection
        $ch = curl_init();

        // Set the url, number of POST vars, POST data
        curl_setopt($ch, CURLOPT_URL, $url);

        curl_setopt($ch, CURLOPT_POST, true);
        curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
        curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);

        // Disabling SSL Certificate support temporarly
        curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);

        curl_setopt($ch, CURLOPT_POSTFIELDS, json_encode($fields));

        // Execute post
        $result = curl_exec($ch);
        if ($result === FALSE) {
            die(‘Curl failed: ‘ . curl_error($ch));
        }

        // Close connection
        curl_close($ch);
        return $result;
    }

}

运行程序

$device_id = "APA91bFFBkpObz-rK";
$registatoin_ids = array($device_id);

$message = array("data" => "test content from finley");

$gcm = new GCM();
$result = $gcm->send_notification($registatoin_ids, $message);
echo $result;

参考:

http://developer.android.com/google/gcm/server.html#params

http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/

使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知),布布扣,bubuko.com

时间: 2025-01-01 11:50:18

使用Google Cloud Messaging (GCM),PHP 开发Android Push Notifications (安卓推送通知)的相关文章

Android Push Notifications using Google Cloud Messaging (GCM), PHP and MySQL

http://www.androidhive.info/2012/10/android-push-notifications-using-google-cloud-messaging-gcm-php-and-mysql/ 按照文章的链接的步骤,实现GCM-HTTP在client 和app server之间的部署.链接一下供须要的同学參考. 在从本地Server移植到web server遇到的问题: 1.Google Api Key是绑定serverIP的,所以在本地换到Web的时候,Google

通过PhoneGap在Android上去推送通知

需求 必备知识 这篇文章至少需要有过一个中等层次的PhoneGap的开发经验 必须产品 PhoneGap Build 用户级 全部适用 我上一篇文章是通过PhoneGap能够在苹果设备上推送通知.在这篇文章中,我将会讲解如何在Android平台上使用PhoneGap去推送通知.通过对比,我发下我的通知在Android设备上的推送速度更快. Google Cloud Messaging Android的通知推送可以通过 GoogleCloud Messaging(GCM)的服务,这个和苹果的通知推

Android开发记录18-集成极光推送的一点说明

Android开发记录18-集成推送服务的一点说明 关于推送服务,国内有很多选择,笔者也对它们进行了一个详细的对比,一般我们产品选择推送服务主要考量以下几个要素: 1.是否收费,如何收费? 2.推送内容是是什么(是否包含通知.消息.富媒体等等) 3.稳定性.及时性如何? 4.集成难度是否简单 5.支持平台有哪些(主流Android.IOS) 6.服务端支持语言(Java.C#.PHP.Python等) 下面笔者例举国内主要的一些推送服务: 来自Devstore的统计,共收录了国内21家推送服务,

Android C2DM学习 - 云端推送

一.基础知识 当我们开发需要和服务器交互的应用程序时,基本上都需要获取服务器端的数据,比如<地震及时通>就需要及时获取服务器上最新的地震信息.要获取服务器上不定时更新的信息一般来说有两种方法,第一种是客户端使用Pull(拉)的方式,隔一段时间就去服务器上获取信息,看是否有更新的信息出现.第二种就是服务器使用Push(云端推送)的方式,当服务器端有新信息了,则把最新的信息Push到客户端上. 虽然Pull和Push两种方式都能实现获取服务器端更新信息的功能,但是明显来说Push is bette

Android 几种消息推送方案总结

首先看一张国内Top500 Android应用中它们用到的第三方推送以及所占数量: 现在总结下Android平台下几种推送方案的基本情况以及优缺点: 一.使用GCM(Google Cloude Messaging) Android自带的推送GCM可以帮助开发人员给他们的Android应用程序发送数据.它是一个轻量级的消息,告诉Android应用程序有新的数据要从服务器获取,或者它可能是一个消息,其中包含了4KB的payload data(像即时通讯这类应用程序可以直接使用该payload消息).

在Android应用程序中实现推送通知

几乎每一个应用程序的一个重要特性是支持推送通知的能力.使用推送通知,您可以更新用户,而不需要应用程序在任何时候运行或轮询服务器, 避免潜在的电池电量不足. 随着火力点云信息的介绍(FCM),谷歌使得在Android应用程序中实现推送通知变得容易了一点.FCM是谷歌云消息(GCM)的新版本和改进版本,您可以使用它将远程通知发送到客户机应用程序.对于将瞄准多个平台或需要利用先进的推操作(如分段推送)的应用程序,我们可以使用带有Azure通知集线器的FCM. 与GCM不同,FCM负责为您提供基本的消息

iOS开发资源:推送通知相关开源项目--PushSharp、APNS-PHP以及Pyapns等

PushSharp  (github) PushSharp是一个实现了由服务器端向移动客户端推送消息的开源C#库,支持 iOS (iPhone/iPad APNS). Android (C2DM/GCM - Google Cloud Message).Windows Phone.Windows 8.Blackberry (BIS and BES via PAP)以及Amazon (ADM)设备,未来还将支持Firefox OS. PushSharp的API可以流畅地位不同平台创建消息,自适应消

关于Android端配置极光推送

因为业务需要,android客户端需要加推送,原来采用的百度推送,但是小米手机有时候收不到,后来换成了极光推送,极光的话所有设备都能收到推送,但是在高峰的时候会推迟,博主说的免费版的,收费的没用过,也不错评论 博主用的android studio开发的,.so文件放置的位置啥的可能和eclipse有点不同,感觉用android studio开发jni一类的真的好费劲,博主现在老腻歪了,唉,废话不多说,进入正题: 首先,去极光推送官网注册一系列流程,不过貌似不用认证,老长时间注册的了,忘得差不多了

.net平台借助第三方推送服务在推送Android消息(极光推送)

.net平台借助第三方推送服务在推送Android消息(极光推送) 最近做的.net项目(Windows Service)需要向Android手机发送推送消息,真是有点困难,没有搞过就不停的搜文档,最后看到了一个开源项目PushSharp,可以在.net平台推送IOS,Android,Windows Phone等设备消息,大喜,然后先做了IOS的,成功了,但是做Android的时候遇到了问题,一直推送不成功,程序执行了,但是推送一直出不来,后来费劲的在网上搜,没有找到,最后放弃使用这种推送And