He implementado con éxito la notificación de inserción de Android usando google c2dm. Siempre envío una solicitud de publicación de un dispositivo y un dispositivo demora de 1 a 2 segundos. Por lo tanto, si tengo 1000 dispositivos, mi script necesitará más de 1000 segundos para finalizar el envío a todos los dispositivos.notificación de inserción de Android a muchos dispositivos a la vez utilizando google c2dm
Lo que quiero saber es, ¿podemos enviar la solicitud de publicación de todos los dispositivos a google c2dm? Si podemos, ¿cómo hacer?
Estoy usando PHP script.
Aquí está mi código para empujar un mensaje a un dispositivo:
function sendMessageToPhone($authCode, $deviceRegistrationId, $msgType, $messageText, $infoType, $messageInfo) {
$headers = array('Authorization: GoogleLogin auth=' . $authCode);
$data = array(
'registration_id' => $deviceRegistrationId,
'collapse_key' => $msgType,
'data.message' => $messageText,
'data.type' => $infoType,
'data.data' => $messageInfo
);
$ch = curl_init();
curl_setopt($ch, CURLOPT_URL, "https://android.apis.google.com/c2dm/send");
if ($headers)
curl_setopt($ch, CURLOPT_HTTPHEADER, $headers);
curl_setopt($ch, CURLOPT_SSL_VERIFYPEER, false);
curl_setopt($ch, CURLOPT_POST, true);
curl_setopt($ch, CURLOPT_RETURNTRANSFER, true);
curl_setopt($ch, CURLOPT_POSTFIELDS, $data);
$response = curl_exec($ch);
curl_close($ch);
return $response;
}
Si tengo más dispositivos de E bucle de esta manera:
while($row = mysql_fetch_assoc($result)) {
sendMessageToPhone($authCode, $row['deviceRegistrationId'], GOOGLE_MSG_TYPE, $messageText, $infoType, $messageInfo);
}
Gracias por ayudar.
Usted debe agregar el fragmento de código que muestra cómo que usted envía sus eventos de manera que se pueden hacer sugerencias. – hakre