Android 云端推送C2DM php实现向终端推送消息

Android云端推送C2DM PHP端实现向终端发送消息

$registration = '===Registration ID generated for the app===';
$auth = '===Google auth===';

//curl_setopt参数
$options = array(
        CURLOPT_TIMEOUT        =>    60,
        CURLOPT_CONNECTTIMEOUT    =>     10,
        CURLOPT_URL        =>    "https://android.apis.google.com/c2dm/send",
        CURLOPT_POST        =>    TRUE,
        CURLOPT_RETURNTRANSFER    =>    TRUE
);
//post参数
$params = array(
                "registration_id"    =>    $registration,
                "collapse_key"        =>    "===a string===",
                "data.message"        =>    "xxxx" 这个可以有多对
);
$postdata = http_build_query($params,null,"&");    
$options[CURLOPT_POSTFIELDS] = $postdata;

//http header
$headers = array();
$headers[] = "Content-Length: " . strlen($postdata); #这个地方可费了劲了content-length一定要放在第一个,不然会报那个411.That an error的错误
$headers[] = "Authorization: GoogleLogin auth=" . $auth;

$options[CURLOPT_HTTPHEADER] = $headers;

//debug
$options[CURLOPT_HEADER] = TRUE;
$options[CURLOPT_VERBOSE] = TRUE;
$ch = curl_init();
if(!function_exists('curl_setopt_array')){
    foreach((array)$options as $key=>$value){
        curl_setopt($ch, $key, $value);
    }
} else {
    curl_setopt_array( $ch,$options);    
}
$result = curl_exec($ch);
curl_close( $ch);

成功的话会返回id=0:1329988332025998%36eaed9800000031 类似的串
如果失败则会返回Error=错误消息
具体参考地址请看:http://code.google.com/intl/zh-CN/android/c2dm/#example

转载于:https://www.cnblogs.com/sblack/archive/2012/02/23/2365238.html

评论
添加红包

请填写红包祝福语或标题

红包个数最小为10个

红包金额最低5元

当前余额3.43前往充值 >
需支付:10.00
成就一亿技术人!
领取后你会自动成为博主和红包主的粉丝 规则
hope_wisdom
发出的红包
实付
使用余额支付
点击重新获取
扫码支付
钱包余额 0

抵扣说明:

1.余额是钱包充值的虚拟货币,按照1:1的比例进行支付金额的抵扣。
2.余额无法直接购买下载,可以购买VIP、付费专栏及课程。

余额充值