Реализация системы подарков между игроками

TRUETECH занимается разработкой, поддержкой и обслуживанием мобильных приложений iOS, Android, PWA. Имеем большой опыт и экспертизу для публикации мобильных приложений в популярные маркеты Google Play, App Store, Amazon, AppGallery и другие.

Разработка и поддержка любых видов мобильных приложений:

Информационные и развлекательные мобильные приложения
Новостные приложения, игры, справочники, онлайн-каталоги, погодные, фитнес и здоровье, туристические, образовательные, социальные сети и мессенджеры, квиз, блоги и подкасты, форумы, агрегаторы
Мобильные приложения электронной коммерции
Интернет-магазины, B2B-приложения, маркетплейсы, онлайн-обменники, кэшбэк-сервисы, биржи, дропшиппинг-платформы, программы лояльности, доставка еды и товаров, платежные системы
Мобильные приложения для управления бизнес-процессами
CRM-системы, ERP-системы, управление проектами, инструменты для команды продаж, учет финансов, управление производством, логистика и доставка, управление персоналом, системы мониторинга данных
Мобильные приложения электронных услуг
Доски объявлений, онлайн-школы, онлайн-кинотеатры, платформы предоставления электронных услуг, платформы кешбека, видеохостинги, тематические порталы, платформы онлайн-бронирования и записи, платформы онлайн-торговли

Это лишь некоторые из типы мобильных приложений, с которыми мы работаем, и каждый из них может иметь свои специфические особенности и функциональность, а также быть адаптированным под конкретные потребности и цели клиента.

Услуги, которые мы предлагаем
Показано 1 из 1Все 1735 услуг
Реализация системы подарков между игроками
Средний
~2-3 дня
Часто задаваемые вопросы

Наши компетенции:

Этапы разработки

Последние работы

  • image_mobile-applications_feedme_467_0.webp
    Разработка мобильного приложения для компании FEEDME
    792
  • image_mobile-applications_xoomer_471_0.webp
    Разработка мобильного приложения для компании XOOMER
    671
  • image_mobile-applications_rhl_428_0.webp
    Разработка мобильного приложения для компании RHL
    1097
  • image_mobile-applications_zippy_411_0.webp
    Разработка мобильного приложения для компании ZIPPY
    969
  • image_mobile-applications_affhome_429_0.webp
    Разработка мобильного приложения для компании Affhome
    914
  • image_mobile-applications_flavors_409_0.webp
    Разработка мобильного приложения для компании FLAVORS
    495

Реализация системы подарков между игроками

Gifting между игроками — социальная механика, которая увеличивает вовлечённость и косвенно стимулирует монетизацию через взаимность: получил подарок — хочешь отдарить. Технически это одна из самых нетривиальных фич: здесь пересекаются IAP, серверная логика, push-уведомления, anti-abuse и юридические ограничения платформ.

Ограничения платформ

Apple разрешает дарить только non-consumable IAP через встроенный механизм Gift Purchase (появился в iOS 17 для App Store). Gifting consumable (валюта, ресурсы) через App Store не поддерживается — Apple явно запрещает это в App Store Review Guidelines 3.1.1.

Обходной путь — игровые подарки через собственную систему, где отправитель тратит собственные виртуальные ресурсы (не реальные деньги). Это юридически чисто, не требует согласования с Apple и работает везде.

Google Play не имеет встроенного gifting, поэтому единственный вариант — собственная система на виртуальной валюте.

Архитектура системы подарков

Модель данных:

{
  "giftId": "gift_uuid",
  "senderId": "player_123",
  "recipientId": "player_456",
  "giftType": "gems",
  "amount": 100,
  "message": "Поздравляю с уровнем 50!",
  "status": "pending",
  "createdAt": "2025-03-26T10:00:00Z",
  "expiresAt": "2025-04-02T10:00:00Z"
}

Поток:

  1. Отправитель выбирает получателя из списка друзей/гильдии
  2. Выбирает тип подарка и количество
  3. Подтверждает: ресурсы списываются с его баланса немедленно
  4. Сервер создаёт запись gift со статусом pending
  5. Получатель получает push-уведомление
  6. Получатель принимает → ресурсы зачисляются на его баланс, статус → accepted
  7. При истечении expiresAt без принятия — ресурсы возвращаются отправителю, статус → expired

Возврат при истечении критичен для UX: игрок не должен «потерять» ресурсы только потому что получатель не зашёл в игру.

Лимиты и anti-abuse

Без ограничений gifting превращается в инструмент переноса ресурсов между alt-аккаунтами. Типичные лимиты:

  • Максимум 5 подарков в день на один аккаунт
  • Максимальная сумма одного подарка: 500 gems
  • Минимальный возраст аккаунта для возможности дарить: 7 дней (анти-мульти)
  • Нельзя дарить аккаунтам, добавленным в друзья менее 3 дней назад

Серверная проверка лимитов при каждом запросе — клиентские ограничения не считаются.

Логирование всех транзакций подарков с IP-адресом и device ID: это позволяет детектировать паттерны злоупотреблений (один IP → много аккаунтов, все дарят одному).

Push-уведомления

При получении подарка — немедленный push: «Игрок PlayerName прислал тебе 100 кристаллов! Забери подарок». Глубокая ссылка открывает экран входящих подарков напрямую.

За день до истечения срока — reminder: «Подарок от PlayerName истекает завтра».

На iOS используем APNs через Firebase Cloud Messaging или напрямую. На Android — FCM. Payload push-уведомления включает giftId для навигации.

UI подарков

Экран «Входящие подарки» — список с возможностью принять каждый подарком одним тапом и кнопкой «Принять все». Отображаем имя отправителя, тип и количество, сообщение, таймер истечения.

Анимация принятия — партиклы или короткая анимация зачисления. Без этого принятие подарка кажется техническим действием, а не радостным событием.

Для социального усиления: опциональный фид «Активность гильдии» где видно «Игрок А подарил Игроку Б 100 gems». Это стимулирует других игроков к участию.

Сроки: базовая система (без gifting через App Store, на виртуальных ресурсах) с лимитами, push и историей — 2–3 дня. Стоимость рассчитывается после обсуждения объёма лимитов и социальных фич.