PHP ждет ответа API

1

Я столкнулся с проблемой API. У меня есть API, приложение iOs и внешний API.

iOs делает запрос на моем API, мой API делает запрос на внешний API. Но теперь я должен ждать, пока зарубежный API отправит данные на мой обратный вызов, который занимает некоторое время, например 30 секунд. Как мне поддерживать соединение с приложением iOs?

У меня есть 3 возможных решения.

  1. Спросите мой API, например, каждые 10 секунд. если данные уже прибыли.
  2. Отправлять уведомления в мое приложение, когда поступают данные.
  3. Создайте сокет, который будет прослушивать ответ, если я правильно понимаю сокеты.

Есть ли другое решение? Или что такое лучшая практика?

  • 0
    Какие протоколы вы используете? HTTP? Поддерживаете ли вы связь (например, TCP) между вашим приложением и API?
  • 0
    Я использую HTTPS. Я не поддерживаю связь. Есть ли какая-нибудь статья о том, как реализовать связь между API, написанным на PHP и iOS-приложении?
Показать ещё 1 комментарий
Теги:
sockets

1 ответ

1
Лучший ответ

Другой подход, который вы можете попробовать, - это использовать APN для уведомления приложения о новых поступлениях данных.

  1. Клиент iOS делает запрос к вашему API

  2. Ваш API обращается к ext. API, возвращает ответ клиенту iOS

  3. Как только данные из ext. API прибывает, ваш API отправляет push-уведомление клиенту iOS, уведомляя последнего о том, что данные готовы к сбору
  4. Клиент iOS получает push-уведомление (PN), не показывает PN пользователю (человеку)
  5. Клиент iOS выполняет другой запрос на получение данных.
  • 0
    В зависимости от данных вы можете отправить их в полезную нагрузку push-уведомления. Размер полезной нагрузки теперь составляет до 4096 байт согласно официальной документации. developer.apple.com/library/ios/documentation/...
  • 0
    Если способ, предложенный @chasenyc, работает для вас, он сэкономит вам дополнительное время запроса из пункта 5, так как вам больше не нужно его делать.
Показать ещё 1 комментарий

Ещё вопросы

Сообщество Overcoder
Наверх
Меню