Есть ли способ узнать, поддерживает ли данное приложение GCM (например, APNS)?

Есть ли способ узнать, поддерживает ли данное приложение GCM (Google Cloud Messaging) ?

( GCM — это версия APNS от Google. )

Я мог бы представить, что для этого требуется какое-то разрешение (например, RECEIVE_WAP_PUSH) или, по крайней мере, необходимо объявить соответствующий приемник намерения/трансляции в своем файле Manifest. Но поскольку я не уверен, я оставляю эти указатели только в комментарии, пока кто-то не одобрит тот или иной :)
@ Иззи, почему это должно быть WAPв его названии?
Наверное, нет. Я только что привел пример одного известного мне разрешения, которое также связано с push. Я скорее думаю, что это широковещательный приемник. Но я не разработчик, поэтому не знаю, как именно это работает.
Я думаю, что Acrobits Groundwire должен иметь GCM, может быть, кто-то может узнать ...

Ответы (1)

Как описано в документации для разработчиков , приложению требуется разрешение com.google.android.c2dm.permission.RECEIVEна получение сообщений GCM. Это отображается в списке разрешений как «Получать данные из Интернета» (я знаю, что это немного расплывчато).

Конечно, наличие разрешения не обязательно означает, что приложение действительно будет использовать GCM. Даже если он использует GCM, он может не использовать его для всех целей, для которых, по вашему мнению, он может его использовать: возможно, только некоторые виды операций «обновления» или опроса могут быть заменены использованием GCM. И даже если оно полностью использует GCM всеми ожидаемыми способами, приложение все равно может использовать больше энергии, чем ему нужно. Использование GCM не гарантирует, что приложение хорошо написано или эффективно.

«Использование GCM не гарантирует, что приложение хорошо написано или эффективно». Хотя то, что вы сказали выше, верно, я все же оставляю за собой мнение, что неиспользование GCM гарантирует , что приложение неэффективно.
@cnst Ерунда. Неиспользование GCM не означает, что приложение работает постоянно, а в некоторых случаях может быть более эффективным. Например, если вы получаете несколько электронных писем в час, почтовый клиент, который запускается каждый час для проверки почты, будет потреблять меньше энергии, чем тот, который получает push-уведомление GCM каждый раз, когда почта поступает на сервер.
Думаю, я просто имею в виду IM и VoIP/SIP, и я все еще считаю, что мое утверждение остается в силе.
@cnst Это очень узкий набор применений. Я бы не хотел, чтобы другие посетители думали, что то, что верно для клиента обмена мгновенными сообщениями, верно для любого приложения, которое может использовать GCM.
В любом случае, это упускает из виду мою первоначальную точку зрения, а именно то, что даже если GCM является правильным ответом для конкретного приложения, это приложение все равно может в конечном итоге потреблять батарею или пропускную способность по другим причинам.