C2DM - это не передача данных с устройства в облако (это будет D2CM), это означает, что ваш «сервер» может отправлять данные на серверы Google C2DM, которые затем перенаправляют эти данные на зарегистрированное устройство (или устройства). .
Хотя (технически) мобильное устройство может выступать в качестве исходного «сервера», который отправляет данные на серверы Google C2DM, предназначенные для другого мобильного устройства, это не то, для чего оно предназначено.
Ограничение размера сообщения по практическим соображениям (сокращение трафика) и 1024 байта должно быть достаточно для отправки уведомления. Если необходимо передать больше данных, возможно, сообщение может содержать URI, который мобильное приложение может использовать для дальнейших действий.
РЕДАКТИРОВАТЬ В ответ на ваш комментарий ...
У меня нет опыта ни в AWS, ни в Google Engine - вам нужно изучить их SDK и учебные пособия.
Смысл «облака» заключается в том, что ресурсы (серверы / службы и т. Д.) Доступны откуда угодно через URI / URL, которые можно посмотреть с помощью DNS (например).
Мобильные устройства - это другая концепция, и C2DM предназначен для облегчения информирования устройства о том, что доступно новое изображение (например). Само устройство отвечает за загрузку этого изображения. Что касается загрузки изображений, то снова устройство должно знать, как найти «облачный» сервер / службу и выполнить загрузку самостоятельно, используя HTTP / FTP или любой другой протокол передачи, поддерживаемый обоими сторонами.