Я не думаю, что в ADVANCE есть какой-либо способ определить, сработает ли попытка толчка, но я могу придумать довольно простой способ проверки получения (но не очереди для будущей доставки через C2DM) - просто завершить цикл сообщений.
Помните, что главное преимущество C2DM заключается в том, что он позволяет получать уведомления, когда телефон находится в спящем режиме и номинально отключен. Как только ваше приложение получит уведомление, вам мало что помешает вам в этот момент разбудить телефон, подключить сеть и отправить подтверждение. Я не думаю, что вам даже придется запрашивать разрешения «держать телефон в активном состоянии», потому что я считаю, что простого акта регистрации для получения уведомлений C2DM и их получения достаточно, чтобы разбудить телефон и позволить приложению продолжить нормальную работу ( по крайней мере, достаточно долго, чтобы открыть сеть и отправить подтверждение).
Пока вы занимаетесь этим, вы должны отслеживать подтверждения, которые происходят ДОЛГО после того, как вы ожидали, что они будут проиграны. Если вы видите более нескольких, вам, возможно, придется изменить стратегию повторной отправки.
Единственный реальный крайний случай, когда это может не получиться, - это если бы у вас были пользователи, которые наклонялись назад, чтобы отключить данные, оставляя голосовой / SMS включенным (я почти уверен, что C2DM использует 4 байта дейтаграммы ответа, отправленной, когда телефон опросы входящих звонков и текстовых сообщений, которые изначально были отведены для RIM, а затем переназначены для Apple и Google).