Использование GCM на Android и iOS без полезной информации уведомления
Я хочу реализовать push-уведомления на Android и iOS с помощью облачных сообщений Google.
Я не хочу использовать ключ notification
в моей полезной нагрузке, потому что поведение Android не является идеальным. На Android я бы предпочел, чтобы мой приемник всегда запускался с помощью полезной нагрузки data
, и я могу сам построить notification
, используя NotificationCompat
. Если вы используете полезную нагрузку notification
на Android, вы не можете управлять стилем уведомления, например.
Однако, если я отправляю только полезную нагрузку data
, я думаю, что мое приложение iOS не получит push, если оно зашифровано - убито, никогда не запускается с момента перезагрузки устройства и т.д. Я думаю, что флаг content_available
для GCM который может вызвать нажатие в любом случае?
Я, на iOS, способен дублировать поведение Android, всегда выполняющего мой код в приложении, после уведомления? Я был бы прав, строя свое собственное уведомление iOS на основе полезной нагрузки GCM data
и, возможно, используя что-то вроде UILocalNotification
, но из того, что я читаю, iOS требует, чтобы полезная нагрузка notification
существовала, чтобы убедиться нажатие всегда принимается пользователем.
Могу ли я получить такой контроль на iOS?
Ответы
Ответ 1
Из моих исследований кажется, что вы не можете избежать использования полезной нагрузки notification
. Тем не менее, вы можете избавиться от поведения Android по умолчанию для автоматического создания уведомления, если вместо создания MyGcmListenerService
, который расширяет GcmListenerService
, вы создаете свой собственный GcmListenerService
и расширяете простой старый Service
.
Ответ 2
Вы должны отключить флаг content_available
до false
, чтобы он работал на Ios, как ожидалось, и обеспечивал полный контроль над android,
Источник: - Я работал над Push Notification на Android и IOS недавно