使用 c2dm 一次发送多个推送

Posted

技术标签:

【中文标题】使用 c2dm 一次发送多个推送【英文标题】:sending multiple push at one time with c2dm 【发布时间】:2011-03-16 09:55:22 【问题描述】:

有没有办法一次发送多个推送消息?

昨天发送100条消息需要38秒,太长了。

我只获得一次身份验证令牌,我使用的是:

    $ch = curl_init();
    curl_setopt($ch, CURLOPT_URL, 'https://android.apis.google.com/c2dm/send');
    curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
    curl_setopt($ch, CURLOPT_HEADER, true);
    curl_setopt($ch, CURLOPT_HTTPHEADER, array("Authorization: GoogleLogin auth=$authCode"));
    $post_fields = "registration_id=" . urlencode($deviceToken)
    . "&".$payload
    . "&collapse_key=$key";
    curl_setopt($ch, CURLOPT_POSTFIELDS, $post_fields);

    $response = curl_exec($ch);
    curl_close($ch);

    if (strpos($response, '200 OK') !== false) 
        return true;
       
    else echo $response." ";
    return false;

对于我获得的每个推送令牌。

有没有更快的方法?

谢谢

【问题讨论】:

【参考方案1】:

curl_multi_exec 就是答案。

【讨论】:

以上是关于使用 c2dm 一次发送多个推送的主要内容,如果未能解决你的问题,请参考以下文章

Android (c2dm) 推送通知错误

android c2dm中的推送通知

单个设备突然停止从我的服务器接收 C2DM 推送

收到 C2DM 推送通知时更改活动行为

java服务器推送消息给android

如何使用适用于 Android 的 Push sharp 库一次发送多个推送通知?