-2

Если отправитель отправляет уведомления пользователям об ошибках, и вдруг пользователь устанавливает устройство в режим воздушной плоскости или не беспокоит режим, то как отправитель знает, имеет ли устройство получил уведомление или нет.Как найти сбойные уведомления в IOS-вызовах APNS, когда устройство находится в самолете

Будет ли Apns уведомлять об успехе или неудаче отправителя.

---- Обновите приведенный выше вопрос ниже, есть способ для приложения IOS рассказать отправителю java-клиент о полученных уведомлениях без действия пользователя запуска приложения или нажатия на уведомление.

См., Например, пользователь может быть занят, и устройство может находиться в режиме ожидания. В этом случае, если приходит уведомление, есть ли способ или API/Метод в IOS для отправки подтверждения отправителю, это уведомление с «someID» проверяется в лотке уведомлений.

Причина, если someOne хочет взимать плату за уведомления, отправленные на устройство. если пользователь не получает его, это может вызвать проблемы.

ответ

0

Вам необходимо правильно понять концепцию APNS. Взгляните на документы, чтобы понять это лучше :) Хотя, Лемм добавить ключевую информацию здесь, чтобы помочь вам :)

Есть несколько неправильных предположений у вас есть о APNS :)

Ошибка 1 " Если отправитель посылает уведомления APNs пользователю успешно»

Я считаю, что этим утверждением, вы имеете в виду пользователь, использующий приложение отправляет APNs другому пользователю с помощью APNs :)

к сожалению :) клиентские приложения IOS DonT напрямую говорить с APNS для отправки push-уведомлений :) Запрос на отправку push-уведомления может генерироваться в клиентском приложении iOS (например, пользовательский тип текста и клики по отправке). Приложение не будет напрямую обращаться к APNS и передавать полезную нагрузку на него :) Существует еще одна важная сущность, играющая очень важную роль в фон, который является вашим сервером приложений

Что происходит, когда я отправляю текст другому пользователю с использованием APNS? Ваше приложение должно собирать текст пользователя и отправлять его на ваш сервер приложений :) Затем ваш сервер приложений устанавливает двухстороннюю дрожание рук с помощью APNS :) После успешного создания полезной нагрузки в перкулярном формате :) получает идентификаторы устройств, к которым он должен передавать данные и отправляет его в APNS наконец APNS доставляет его к клиентским приложениям :)

Ошибка 2 Будет APNs сообщить об успехе или неудаче отправителю.

В документах Apple четко сказано, что APNS - это лучший сервис для усилий :). Это означает, что APNS не будет гарантией доставки каждого отправленного ему запроса :) и не дает никакой обратной связи относительно успешной доставки пакетов на стороне клиента:)

Все запросы, которые ваш сервер приложений отправляет в APNS, попадают в очередь и доставляются, когда APNS может их обрабатывать :) Если запрос-1 еще не обработан, а запрос-2 поступает с вашего сервера приложений на запрос APNS -1 будет отброшена, а запрос-2 будет обработан :)

Как с этим справиться? После получения сообщения приложение вашего приемника iOS должно поговорить с вашим сервером приложений и сообщить, что оно получило сообщение/пакет :)

Предположим, пользователь 1 отправляет 2 сообщения :) позволяет сказать message1 и сообщение 2 :) теперь ваш сервер приложений отправляет message1 в APNS, надеясь, что он доставит сообщение :) Если APNS отправит его пользователю 2, приложение пользователя 2 должно поговорить с вашим сервером приложений и сказать, что я получил сообщение 1 :) Теперь, когда пользователь 1 отправляет сообщение 2 вашей заявке сервер не знает, что сообщения не отправляются пользователю 2 :)

Если пользователь 1 отправляет сообщение 3, а пользователь 2 ничего не получает от APNS, когда пользователь 1 снова отправляет сообщение 4, а пользователь 2 сообщает, что он получил сообщение 4 ваше приложение сервер должен быть в состоянии определить, что он не получил подачу назад для messge 3 поэтому он должен повторно отправить его снова :)

Есть 100 других способов, чтобы сохранить ваш клиент и сервер в синхронизации :)

TIP Если вы разрабатываете приложение чата в зависимости от APNS не представляется возможным решением :) Надеюсь, что я наставил вас по крайней мере с концепцией :) Happy кодировали все лучшие

+0

Спасибо, я уже реализовали APNs, и ее между Java клиент и приложение IOS, а не между двумя приложениями IOS. извините, чтобы смутить вас. В соответствии с ur Soln, что, если cleint отправляет уведомление, а пользователь не открывает приложение или его устройство, есть ли способ, чтобы лоток уведомлений IOS связывался с App или отправителем о его прибытии. флаг доступности контента уведомляет приложение о приходе нового уведомления, так что есть что-то подобное. Я знаю его странный, но отправитель хочет узнать, достигло ли уведомление приложения без действий пользователей в приложении или уведомлении. Монетные цели связаны с u. .. – ViS

+0

Nope :) Я не думаю, что это возможно :) Когда push-уведомление получено, если ваше приложение не работает (находясь в фоновом режиме в течение длительного времени или будучи убитым) до тех пор, пока пользователь не нажмет на приложение уведомления не будет возобновлено :) без запуска приложения вы никогда не сообщаете другой стороне о приеме сообщения :) Ваш вопрос мог быть немного более конкретным, ваши комментарии четко показывают ваш опыт работы с APNS, но ваш вопрос звучал так, как будто вы новичок :) Вы могли бы сохранить несколько очков: | В следующий раз будьте немного более конкретными относительно вопроса и сообщения, что у вас сделано :) –

+0

В любом случае :) доставка сообщений, статус чтения все должны быть реализованы как часть вашего приложения и сервера приложений, которые вы не можете зависеть от APNS :) Были ли вы когда-либо использовал чат-фреймворк, как «quickblox» ??? –