У меня есть приложение для обмена сообщениями в IOS (Swift) с backend php laravel.
Это может быть сохранение сообщения и отправка другим, но у меня есть проблема: когда я отправляю сообщение своим друзьям, мои друзья не могут сразу получить это сообщение, потому что я использовал метод отправки сообщений, тогда, если мои друзья хотят получить сообщение, они должны обновить приложение (или просто вызвать функцию get message), но как они теперь отправляют вам сообщение (приложение не может обновить непрерывность) ???
Как я могу это исправить?
У меня был механизм поиска, чтобы сохранить мое сообщение с идентификатором (чтобы определить сообщение от …, до …), когда я отправляю сообщение своему другу, структура сообщает другим, кто использует это приложение, знает, что сообщение будет отправлено, и с помощью id мой друг может знать, как «это сообщение отправлено вам», а затем вызвать функцию get message, чтобы получить новое сообщение.
Я нашел, что какое-то приложение может это сделать, но оно использует другой бэкэнд: parse, firebase, syncano (поэтому я не могу использовать это). Я думаю о службе push-уведомлений в laravel, но у меня было 2 проблемы:
— Я использовал симулятор для тестирования приложения, поэтому я не могу получить токен для использования службы push-уведомлений (я не уверен, что она работает для меня в реальном приложении).
— Если вы используете сервис push-уведомлений, то при первой настройке будет отправлено уведомление пользователю, и я думаю, что это не очень хорошо.
Может ли кто-нибудь помочь мне? или просто я что-то упустил.
Спасибо, что прочитали!
Вам необходимо реализовать push-уведомления. Все чат-приложения делают это. Логика может заключаться в том, что, когда отправитель отправляет сообщение, он должен запускать службу (веб-службу), а сервер должен распространять это push-уведомление всем зарегистрированным устройствам. Затем на стороне получателя необходимо проверить, предназначено ли это сообщение для этого получателя. Для ознакомления проверить парсить. У них отличная документация.
Parse закрывается, поэтому его нельзя использовать сейчас.
Других решений пока нет …