Вступить в клуб →
сложнаявопросPush-уведомления, Firebase и покупки в приложении

Игрок заплатил за 500 кристаллов, но приложение упало, и кристаллы не начислились

Поток покупки кристаллов: оплата прошла → приложение сразу завершает транзакцию (finish в StoreKit, consumeAsync в Google Play) → отправляет запрос на сервер начислить кристаллы. Изредка приложение падает или теряет сеть между завершением транзакции и начислением. Пишут в поддержку: «деньги списали, кристаллов нет».

Как правильно выстроить порядок?

  • Сначала начислить на сервере, потом завершить
  • Начислять кристаллы локально, сервер позже
  • Повторять запрос на сервер пять раз подряд
  • Завершать транзакцию до показа окна оплаты

🔒 Проверка ответа — для участников клуба

  • Проверка ответа
  • Подсказка, если застряли
  • Разбор с объяснением, почему так
  • Прогресс по всем задачам и виртуальные собеседования
Зарегистрироваться →

Регистрация занимает минуту

Другие задачи раздела