push-уведомление с пользовательским объектом
Мне нужна информация о том, что мне нужно будет реализовать и как, если я хотел бы сделать следующее:
Допустим, у меня и у моего друга / моих друзей на iphone установлено мое приложение, в приложении я бы хотел иметь панель "контактов" и убедиться, что он также использует это приложение, затем выбрать моего друга или еще несколько человек и отправить ему / им push-уведомление с моим собственным пользовательским объектом, которое заставит приложение выполнить кучу действий с их стороны.
вот что я подумал: я предполагаю, что мне нужен собственный сервер, зарегистрировать маркер устройства каждого пользователя в базе данных сервера, но может ли push-уведомление содержать значение json, которое я затем смогу проанализировать на устройстве конечного пользователя? или, может быть, есть более простой способ передачи объектов и информации между одним или несколькими устройствами?
какие-нибудь учебники / идеи / советы?
1 ответ
Что бы я сделал, это следующее:
Создайте сервер push-уведомлений, который будет получать токены устройств и сохранять их в базе данных. Я также связал бы эти токены с именем пользователя и паролем (необязательно).
Чтобы увидеть, какие пользователи вошли в систему, вам потребуется серверный вызов, который будет вызывать ваше приложение каждый раз, когда пользователь открывает приложение (или входит в систему, в зависимости от того, что вы хотите). Когда пользователь входит в систему и выполняет вызов на ваш сервер, я отправляю push-уведомление со входом "событие" всем своим друзьям. (чтобы они знали, что он вошел в систему)
Затем для отправки пользовательских объектов / событий другу вам понадобится другой серверный вызов, который получит JSON или просто параметр (этот вызов может быть POST/GET) в зависимости от того, что вы хотите. Когда сервер получает этот вызов, уведомление отправляется только выбранным друзьям с пользовательским объектом в качестве JSON в вашей полезной нагрузке уведомления.
Примечания стороны:
Размер push-уведомлений ограничен по размеру, но размер плохо документирован, в некоторых бланках и блогах он может быть размером 256 байт, а в других 107 - для этого вам придется столкнуться.
Порядок push-уведомлений ненадежен, вы не можете быть уверены, что уведомление № 2 придет после уведомления № 1.