向GCM发送Massive推送通知

时间:2014-12-04 04:31:52

标签: php android push-notification google-cloud-messaging

我必须为大量设备发送带有不同消息的推送通知(每天超过10k设备)。但有时它不接收所有设备。我设置了一个函数pushNotificationToUsers($heading,$message,$registraionids)来发送推送通知,我不确定我的方法是否正确,如果我错了请纠正我。

function  pushNotificationToUsers($heading,$message,$registraionids){
        //array of registration ids in $registraionids         
        $key="xxxxxxxxxxx";
        // Set POST variables
        $url = 'https://android.googleapis.com/gcm/send';
        $fields = array(
                        'registration_ids'  =>,$registraionids,
                        'data'              => array( "message" => $message,"title"=>$heading,"soundname"=>"beep.wav" ),
                        );
        $headers = array(
                            'Authorization: key=' . $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 );
        curl_setopt( $ch, CURLOPT_POSTFIELDS, json_encode( $fields ) );
        // Execute post
        $result = curl_exec($ch);
        // Close connection
        curl_close($ch);

        }

我在服务器端使用php

1 个答案:

答案 0 :(得分:1)

对于Android,

GCM中的邮件大小限制为4千字节。

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

C2DM中的消息大小限制为1024字节。 (已弃用)

https://developers.google.com/android/c2dm/#limitations

对于iOS,

iOS中的

大小限制为256字节,但自iOS 8的引入已经改为2kb!

https://forums.aws.amazon.com/ann.jspa?annID=2626

另外,请参阅以下内容

谷歌用GCM取代C2DM后,他们取消了所有限制。

http://developer.android.com/google/gcm/c2dm.html#history

您在GCM文档中遇到的唯一限制是:

http://developer.android.com/google/gcm/adv.html#lifetime

我认为这个答案足以清楚你的问题。