🧙♀️ Импакт от Геншина: Часть 1
Тут у нас в внутреннем канале написали про то как офигенно коллаба c Геншином повлияла на продажи в Турции. Там с Додо Пиццей мало кто знаком, а вот с аниме-дрочильнями знакомы почти все! Но теперь, все со всеми знакомы и повышают продажи додстеров 🎁 (Вдарили аниме-дрочильнями по бездодстерью!)
А, поскольку ваш покорный слуга имел некоторое отношение к этому делу, то почему бы не рассказать, как оно было.
Что мы там вообще сделали
Короче, мы с ребятами из команды замутили поиск пасхалок в приложении
1️⃣На время коллабы, каждый день открывается скрытая где-то в интерфейсе приложухи картинка с вот этим чувачком из игры.
2️⃣Игра длится семь дней
3️⃣Первая стока открывших все семь пасхалок за неделю получает охуеннуюю мягкую игрушку
Я такие игры видел на куче сайтов и мне всегда было интересно, как такие штуки реализуют? Как справляются с нагрузкой? Как на бэке там все реализовано?
🐇Оказалось все не так сложно, но есть пара интересных нюансов, которые нужно учитывать при проектировании таких штук:
1️⃣У нас новая доступная для клика пасхалка открывалась каждый день.
2️⃣Игра стартовала каждую неделю в течение четырех недель подряд.
3️⃣Ну и наше любимое – в разных странах свое количество призов и разное количество игровых недель.
👍 Мы сделали три эндпоинта для работы с этой логикой через мобилку:
1️⃣Стартовать игру
2️⃣Получить список доступных пасхалок
3️⃣Открыть пасхалку по которой кликнули.
Был большой соблазн объединить 1 и 3 пункты, ну типа кликнул по пасхалке первый раз – вот и стартовал. Но в итоге оставили их раздельными и это довольно неплохо упростило тестирование. В старте игры были свои корнер кейсы, а в открытии пасхалок свои.
Тут бывалый взгляд наверняка отметит, что "Ну чуваки SRP – понятно, что так нужно было делать сразу!"
И да, это реально понятно, но в моменте, когда вы обсуждаете удобный контракт для мобилок, которые являются основными потребителями всего этого добра, все это становится не так просто. Потому что для мобилок – чем меньше эндпоинтов дергать и чем меньше разных контрактов поддерживать – тем лучше.
Это вообще было для меня некоторым открытием после веб-разработки. В вебе тебе добавлять-удалять новые эндпоинты – как два пальца обоссать. Но для мобилок – это боль. Ибо каждая версия приложения живет довольно долго и может еще год-два запрашивать уже давно неиспользуемую логику.
🅰️ Итого Хочется какой-то итог первой части подвести, но для меня он тут в том, что разработка бэка под мобилки может сильно отличаься от разработки бэка под веб. Ибо веб – гибкий, а мобилки супер-неповоротливые. Из-за этого привычные нам принципы разработки могут не подходить под ситуацию и приходится искать компромиссы.
Ой, но вы бы знали, как мы про всю эту хрень спорили, порой просто жесть 🙏
Post #264
1.02K
- ❤🔥 11
- 🔥 4
- 🦄 4
- 🙏 1