Что может пойти не так и почему от выбора способа регистрации зависит успех среди аудитории
При внедрении платных подписок произойти может что угодно: пользователь купит подписку, но она не сработает, или у него не получится её отменить. Вариантов много — и все они неблагоприятные для бизнеса.
Рассказываем, к чему важным быть готовым, если вы решили внедрить платную подписку на основе собственного опыта.
Как устроено тестирование в AppStore и Google Play
Всё тестирование подписок проходит в аккаунтах Apple Store и Google Play. Во время него вы будете покупать, отменять и продлять подписку несколько раз, а также переходить с одной на другую, чтобы убедиться, что всё стабильно работает. Но закладывать бюджет под это не нужно — Apple Store и Google Play не берут деньги за тестирование.
Что полезно знать:
- Для начала работы нужно создать sandbox-пользователей — так называют пользователей, которые тестируют приложение. В Apple Store зарегистрировать каждого из них нужно на почту, к которой не привязан Apple ID.
- В Google Play необходимо создать «Закрытое тестирование». Для этого ваш аккаунт должен поддерживать режим разработчика. Из ограничений: если с этого аккаунта вы уже покупали подписку, sandbox не сработает, понадобится создать новый.
- Когда sandbox-пользователь отменяет месячную подписку на любой из площадок, она завершается приблизительно через 5 минут. А годовая: на Apple Store — через час, на Google Play — через полчаса.
С какими сложностями можно столкнуться
Если коротко: тестирование подписок — общая боль для всех разработчиков. Рассмотрим несколько сложностей, о которых лучше знать ещё на берегу.
- История покупок для sandbox-пользователя на Apple очищается не сразу: иногда приходится ждать 5 минут, иногда час, иногда — день. И всё это время, на такой полуживой-полумёртвой подписке, тестировать приложение нормально не представляется возможным: при обнаружении ошибки точно не проанализировать, на какой стороне она произошла — на вашей, или на Apple. И это только тестирование в режиме дебага: когда разработчик пишет код в среде разработки, и потом из неё же запускает приложение. У внешних тестировщиков — свои сложности.
В итоге сроки тестирования могут сильно растягиваться, так что при планировании дедлайнов важно иметь это в виду.
- Если при разработке вы используете несколько серверов, важно иметь в виду, что в настройках Apple можно указать только два — dev и prod. Причём в sandbox-режиме Apple отправляет данные об изменениях в подписке пользователя — продлении, перехода на другой тариф и так далее — исключительно на dev.
Например, при разработке международного приложения для школы футбола Ball In Goal мы использовали три сервера — dev, prod и stage. То есть тестировать подписки на stage мы в принципе не могли. Также мы делали сборку на prod и все наши запросы уходили на prod, поэтому когда Apple отправлял данные с prod на dev, и выходила нестыковка. В итоге на то, чтобы решить эту задачу, ушло немало времени.
- Google не умеет автоматически рассчитывать скидки. Допустим, если Ball In Goal захотят выставить временную скидку 10%, нужно будет вручную поправить коды во всех странах: разобрать строку в коде на составляющие, заменить число на нужное — и так для каждой страны. Также при таком ручном исправлении цены нужно учитывать расположение символа валюты — стоит он до или после цены.
- Если вы загружаете приложение в Rustore: инструменты, которые AppStore и Google Play предлагают по умолчанию в своей админке — автоматический пересчёт налогов, логика подписок и т. д. — нужно будет реализовать с нуля.
Почему нужно взвесить все за и против, когда вы выбираете способ входа в приложение
Если вы хотите облегчить жизнь пользователю, чтобы он мог один раз купить подписку App Store или Google Play, а потом пользоваться ей с любого смартфона, как на iOS, так и Android, важно внимательно отнестись к выбору способа авторизации.

Рассмотрим этот момент на примере входа в приложение с помощью номера телефона и через аккаунт в Apple или Google:
- Авторизация по номеру телефона. Главный конфликт в такой ситуации: Apple и Google хотят привязать пользователей к своим площадкам, а вы, как бизнес, — к профилю пользователя в вашем мобильном приложении.
Например, для Apple источником оплаты выступает устройство и ему всё равно, с какого номера телефона пользователь входит в аккаунт. Поэтому, если, например, пользователь заведёт в своём смартфоне отдельный профиль для своего сына и укажет при регистрации номер телефона ребёнка, а потом решит купить подписку — у него не получится. Apple распознает устройство и посчитает, что она у него уже есть.
При этом пользователь сможет легко входить в приложение с любого устройства на iOS и Android: достаточно будет приобрести подписку один раз — в App Store или Google Play.
- Авторизация через аккаунт в Apple или Google. А здесь аккаунты в Apple или Google выступают и платёжной системой, и способом авторизации. Подписка привязывается не к аккаунту пользователя в приложении, а к аккаунту почты, на которую он зарегистрировал Apple ID или через который он входит в Google Play.
О чём важно знать: допустим, человек покупает месячную подписку на iPhone и через неделю приостанавливает её в настройках смартфона. Проходит полгода и он снова покупает годовую подписку, но уже на Samsung Galaxy. И вот здесь нюанс: представим, что проходит ещё пара месяцев, человек уже не пользуется Samsung Galaxy, но решает возобновить онлайн-тренировки в iPhone. Тогда, если решит возобновить старую подписку в настройках смартфона, Apple спишут с него деньги в день оплаты, то есть по факту человек заплатит за подписку два раза, и денег он не вернёт.
В мировой практике нет единых решений, как выходить из этих ситуаций, поэтому каждой команде разработчиков нужно искать ответы самостоятельно.
Почему может понадобиться изменить способ авторизации
В теории произойти может что угодно. Ниже — пример, с чем столкнулись мы при внедрении подписок в Ball In Goal.
Сначала мы добавили авторизацию по номеру телефона, но спустя некоторое время после релиза, заменили её на вход через аккаунт в Apple или Google. Причина: маркетологи клиента проанализировали аудиторию и выяснили, что пользователи США подозрительно относятся к авторизации по номеру телефона, потому что спам-звонки в их стране — большая проблема. Поэтому, чтобы не терять потенциальных клиентов, Ball In Goal попросили изменить способ авторизации. В итоге, как нам рассказал клиент, количество пользователей выросло на 10 000. В то время как за первые два месяца до смены способа авторизации в приложении зарегистрировались 1000 человек.
Какую комиссию берут AppStore, Google Play и Rustore
AppStore и Google Play сотрудничают со своими банками, комиссия за использование — 30%. При этом на обеих площадках есть программа лояльности: если приложение соответствует условиям, они снижают комиссию до 15%.

В нашем случае в AppStore нам её снизили, а в Google Play — нет, потому что приложение не подходило под требования программы лояльности. Заявку может подать любой, дать ссылки и описать условия подачи.
С Rustore другая история: это новая площадка и пока она разрешает проводить оплату через выбранный банк. Платить комиссию в этом случае нужно банку, и, как правило, она меньше. Правда, с Rustore необходимо пройти строгую проверку банка — доказать, что вы не мошенники. Мы столкнулись с этим, когда внедряли рекуррентные платежи, которые обновляются автоматически, — раз в неделю, месяц, год или любой другой выбранный промежуток времени. Загвоздка в том, что такой возможностью «заработка» могут воспользоваться мошенники, поэтому банк основательно проверяет всех, кто планирует запустить платную подписку.

