Tôi đã triển khai thành công thông báo đẩy android bằng cách sử dụng google c2dm. Tôi luôn gửi yêu cầu đăng bài cho thiết bị và một thiết bị bị trễ 1-2 giây. Vì vậy, nếu tôi có 1000 thiết bị, tập lệnh của tôi sẽ cần hơn 1000 giây để hoàn tất thao tác đẩy tới tất cả các thiết bị.thông báo đẩy android cho nhiều thiết bị cùng một lúc bằng cách sử dụng google c2dm
Điều tôi muốn biết là, chúng tôi có thể gửi yêu cầu đăng bài cho tất cả các thiết bị tới google c2dm không? Nếu chúng ta có thể, làm thế nào để làm gì?
Tôi đang sử dụng tập lệnh PHP.
Đây là mã của tôi để đẩy một thông điệp tới một thiết bị:
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;
}
Nếu tôi có nhiều thiết bị hơn tôi vòng lặp nó như thế này:
while($row = mysql_fetch_assoc($result)) {
sendMessageToPhone($authCode, $row['deviceRegistrationId'], GOOGLE_MSG_TYPE, $messageText, $infoType, $messageInfo);
}
Thank vì đã giúp.
Bạn nên thêm đoạn của bạn mã cho thấy làm thế nào bạn gửi các sự kiện của bạn để gợi ý có thể được thực hiện. – hakre