2015-12-13 5 views
0

Хорошо, поэтому я знаю, на первый взгляд, похоже, что я глуп, потому что я могу просто установить параметр «click_action» в уведомлении JSON с сервера и открыть его с помощью фильтр соответствия соответствия. Тем не менее, я не хочу этого делать, потому что в документации далее говорится: «Если установлено, [click_action] соответствует категории в полезной нагрузке APNS», и установка этого параметра делает уведомления не доставляемыми в моем приложении iOS (потому что там я не считаю, что это соответствующая категория в приложении iOS, и я не хочу ее делать, поскольку это требует, я считаю, добавления действий уведомления, к которым я еще не хочу участвовать).Сделать открытое приложение GCM без установки click_action

На iOS, касающемся уведомления, просто открывается эквивалент действия Android android.intent.category.LAUNCHER. В самом деле, есть ли способ воспроизвести это в Android (или решить, что iOS не будет отображать уведомления, если установлен параметр click_action)?

ответ

0

В классе намерений GCM в методе приема сообщений просто проанализируйте весь контент, а затем просто запустите операцию, поместив внутри намерения, какую активность вы хотите открыть на полученном msg.

+0

Если приложение запускает фоновый рисунок и получает уведомление, оно не отправляется методу onMessageRecieve до тех пор, пока приложение не будет открыто, что также не поможет. :/ –

+0

Неправильно, как только вы зарегистрировали свое устройство и установлено это приложение, он всегда запускает поток для принятия push, находится ли он в Background или inegroung, и когда он получил push, onMessageRecieved() всегда запускается. В приложении у меня есть требование открыть приложение, как только вы получили push, поэтому в onMessageReceived() я просто разбираю json-ответ и открываю намерение открыть приложение с этой конкретной деятельностью. –

0

Я бы предложил использовать различные полезные данные для клиентов Android и iOS. Это потребует от ваших клиентов идентифицировать свою платформу, когда они подают свои токены InstanceID, но как только вы знаете, на какой платформе клиент, вы можете сформулировать сообщение, более конкретное для целевой платформы.

+0

Не побеждает ли цель цели использования GCM для обоих? В этот момент я могу использовать GCM/APN для каждого из них. –

Смежные вопросы