Как сделать покупку в приложении
Мобильные приложения — цифровые активы, которые можно монетизировать. Разработка приложения с нуля требует довольно много ресурсов: как людей, так и времени. Зато можно купить уже готовое приложение и развивать его. Правда, в этом варианте много нюансов и есть свои риски.
В этой статье мы расскажем про покупку мобильного приложения: какие могут быть причины продажи и покупки, что проверить перед покупкой, где покупать.
Приложение — это бизнес: вы вкладываете деньги в его развитие, чтобы заработать ещё больше. Вот самые частые причины покупки приложений:
- Вы разбираетесь в рынке мобильного трафика и можете привлекать подписчиков дешевле, чем текущий владелец.
Монетизация приложения требует постоянного привлечения новых подписчиков. Это значит, что надо методично заниматься настройкой рекламы и её оптимизацией, работой с конверсией на пейволле. Опытная команда может превратить убыточное или мало прибыльное приложение в прибыльный бизнес.
- У вас есть доступ к соответствующим каналам маркетинга или источнику трафика.
Например, тематические ресурсы с обзорами приложений, или даже другие приложения, внутри которых можно разместить рекламу. Примечательно, что торговлей приложениями часто промышляют компании-владельцы трафиковых сетей, а также CPA и медиабаинговые агентства.
- Вы можете сделать приложение лучше как продукт.
Иногда приложение нужно немного доработать, чтобы оно превратилось в хороший продукт, который нравится пользователям и приносит доход. Если у вас есть опытная команда, то почему бы не попробовать найти недооцененное приложение и не развить его.
- Хотите усилить собственный продукт или поглотить конкурента.
У вас уже есть стабильно работающий актив, и вы хотите увеличить аудиторию посредством поглощения маленьких приложений в той же категории. Проще всего объяснить на примере мобильных игр: покупка похожей игры и последующее переливание аудитории в свой проект сделает позиции вашей игры более прочными, а также защитит от вероятной конкуренции.
В зависимости от того, почему владелец продаёт приложение, условия сделки могут меняться.
- Неоправданные ожидания. Новички иногда приходят в бизнес мобильных приложений с ожиданиями «вот сделаю приложение, прикручу монетизацию и буду лежать на диване, пока деньги капают». А потом сталкиваются с тем, что подписки аннулируются, приложение нужно постоянно обновлять, с отзывами приходится работать, а трафик — постоянно пригонять и монетизировать. Разработчик внезапно вспоминает о беззаботных деньках работы в найме и решает избавиться от приложения.
- Отсутствие ресурсов на развитие проекта. В какой-то момент разработчик понимает, что для роста сервиса нужны средства на трафик, дополнительные руки на контент и поддержку. А ещё можно было бы изменить дизайн, улучшить интерфейсы и т.п. Рост требует инвестиций, но никто не хочет иметь дело с ноунейм разработчиком. Часто легче продать приложение, чем искать команду и средства для его развития.
- Усталость и выгорание. Разработчику банально надоедает заниматься приложением. Хочется сменить сферу деятельности, уйти в найм или воплощать идею нового продукта. Необходимо двигаться дальше, но и просто бросить продукт нельзя, поэтому его продают.
- Непрофильный актив. Такое бывает, если приложение разрабатывается как дополнение к другому бизнесу, а потом резко становится бесполезным. Например, сеть фитнес-клубов разрабатывает полноценное фитнес-приложение с советами инструкторов, программами занятий, планами питания, шагомерами и т.п. как дополнение к основным услугам. Но потом вдруг пандемия, COVID и локдаун. Качалки несут убытки, клубы закрываются. Чтобы хоть как-то сгладить потери, собственник вынужден выставить приложение на продажу.
- Разлад внутри команды. Банальная, но распространённая причина. Основатели разругались между собой и решили пойти каждый своей дорогой. Приходится продать приложение третьему лицу и делить деньги.
- Приложение не приносит прибыли или работает в убыток. Если приложение не монетизируется, а ресурсы на его развитие заканчиваются, иногда проще его продать, чем искать финансирование.
- Спекуляция на бизнесах. Некоторые специалисты зарабатывают на том, что покупают приложения, выводят их на прибыль и продают. С такими надо быть начеку — данные, которые они предоставляют при продаже, могут вводить в заблуждение.
- Резкая бытовая потребность в деньгах и личные причины. Иногда причины бывают сугубо личные: нужны деньги на новое жилье, лечение или чтобы рассчитаться с долгами.
Очевидный, но из-за этого и часто упускаемый шаг. Мобильные приложения хоть и являются массовым продуктом, очень строго ограничены нишей рынка и тематикой. Если за разработчиком или командой водились неоднозначные действия даже с другими приложениями, то это косвенно будет сказываться и на приложении даже после трансфера приложения в другие аккаунты разработчика. Обязательно поспрашивайте в комьюнити, погуглите названия, поищите отзывы.
У сторов есть ранжирование разработчиков по уровню доверия к ним. Если разработчик выпускал однотипные webview приложения с рекламой сомнительных продуктов, то репутация у него наверняка плохая. После переноса приложения с его аккаунта на ваш вы можете столкнуться с проблемами в модерации обновлений и даже блокировками. Поэтому обязательно проверьте историю аккаунта разработчика перед покупкой.После переноса приложения с его аккаунта на ваш вы можете столкнуться с проблемами в модерации обновлений и даже блокировками.
Бывает, что в результате изменений в правилах и политиках приложение перестаёт проходить проверки. Его не удаляют из магазина, но выкатить обновление уже никак не получается. Вообще, если приложение на продажу долгое время не обновлялось, то это красный флаг. Уточните у продавца, что всё хорошо, в противном случае вам достанется совсем неликвидный продукт.
Успех прохождения ревизий и модераций всегда зависит от личности модератора. Один ревьюер пропустит контент к релизу без проблем, в то время как другой отклонит его. Может случиться так, что вы приобретаете приложение, которое не соответствует текущим положениям магазина.
Убедитесь, что продаваемый актив действительно принадлежит человеку, который продаёт. Вне зависимости, покупаете через биржу, через посредника/гаранта или напрямую, всегда есть шанс, что приложением завладел посторонний человек. Споры, возвраты и даже суды — всё это неудобно само по себе. Для проверки лучше всего проконсультироваться с юристами. Нелишним будет погуглить издателя по имени или названию компании, проверить, кому принадлежит доменное имя сайта приложения, посмотреть аккаунты разработчиков в соцсетях.
Частый и очевидный риск — это сокрытие реального положения дел в приложении. Когда покупаешь уже готовое приложение, которое как-то монетизируется, продавец всегда или почти всегда, попытается приукрасить цифры и подать статистику под выгодным углом.
Главный риск при покупке мобильных приложений — это риск покупки убыточного бизнеса. Подвох в экономике приложения есть, и если вы его не видите, то просто плохо смотрите.
Наиболее устойчивой моделью монетизации считается оплата за подписку, хотя продают куда чаще приложения, где прикручена монетизация от AdMob. Однако, in-app трафик позволяет контентным приложениям зарабатывать сильно меньше, чем модель с оплатой по подписке. Неплохой идеей может быть покупка контентного приложения с рекламой и преобразование его в подписочное.
Чаще всего мобильные приложения продают как шаблоны/заготовки для разработки конкретного продукта. Но мы рассматриваем покупку приложения как работающего бизнеса с собственной экономикой. В противном случае, если приложение не монетизируется или не имеет потенциала для монетизации, то зачем его покупать?
Оценить приложение можно простой формулой:
месячная выручка*коэффициент, где коэффициент — это период от года(12) до трёх(36) лет.
Пример: если у вас в приложении 1 000 подписчиков, которые платят по 10 долларов в месяц и вы в программе Apple Small Business Program, то в месяц вы получаете 0.85 * 1000 * 10 = $8500. Пусть 30% вы тратите на трафик и еще 20% на все остальное, тогда чистая прибыль будет 0.5 * 8500 = $4250. Таким образом, приложение можно продать за $51 000–$153 000. Звучит уже неплохо.
Для цифровых активов (веб-сайтов, веб-сервисов, приложений и т.п.) период зависит от того, насколько жизнеспособным является сам актив. Таким образом, подписки с «длинным хвостом» потенциально увеличивают стоимость приложения, в то время как большое количество отписок потенциально его уменьшают. Но и здесь не всё так просто, поэтому остановимся подробнее.
Здесь-и-сейчас приложение может ничего не зарабатывать, или же зарабатывать мало, но иметь большую базу пользователей и потенциал к монетизации. В то же время приложение может показывать хорошую динамику, но только потому что перед продажей разработчик хорошо вложился в трафик, однако через несколько месяцев весь профит сойдёт на нет.
В сухом остатке есть только два вида приложений. Первый: приложение монетизируется и приносит доход; Второй: приложение никак не монетизируется, или монетизируется слишком недолго, чтобы делать какие-то выводы о его потенциале. Работать со второй группой надо исключительно осторожно.
Все частности относительно трудности разработки приложения, потраченных ресурсов, времени и энергии вас не касаются. Сейчас вы находитесь в точке, где приложение генерирует или не генерирует прибыль. Возраст приложения и количество контента в нём стоит учитывать только в разрезе органического трафика и метрики «activity retention». Пользователи не врут. В хорошем приложении с большим объемом полезного материала период пользования будет долгим. Это же будет отражено и в статистике подписок.
Ещё важный момент — срок монетизации. Вам важно спрогнозировать динамику прибыльности приложения как минимум на год. Приложение возрастом год и более может иметь отличную статистику по использованию и поведению юзеров, но вот монетизироваться всего месяц. Надо ли говорить, что добавление монетизации в бесплатный продукт всегда меняет лояльность потребителя в худшую сторону? Чем дольше монетизация, тем лучше. Соответственно, приложения, которые монетизируются меньше трех месяцев лучше, лучше не рассматривать для покупки или рассматривать с осторожностью.
Вам необходимо сделать прогноз по выручке и расходам. Расходы бывают двух видов: маркетинговые и операционные. С операционными проще всего: поддержка функционала приложения требует трат. Постоянные затраты практически не меняются, и даже если здесь вы ошибетесь, едва ли издержки будут большими.
Помимо операционных издержек, есть издержки переменные, которые сильно зависят от тематики приложения и типа контента в нём. Например:
Как думаете, какое приложение несёт больше затрат на производство контента?
Здесь бессмысленно погружаться в детали, потому что кейсов может быть ровно столько же, сколько можно придумать бытовых ситуаций. Кто-то упаковывает в приложение готовый контент, который есть в свободном доступе в интернете, а кто-то создает собственный. После покупки приложения вам придется создавать контент уже самостоятельно и вкладывать бюджет в его создание. Лучше оценить затраты заранее.
В идеале можно договориться на период поддержки и сопровождения со стороны разработчика после сделки (и прописать это в соглашении). Но если вам нужна помощь в управлении приложением после его покупки, лучше задумайтесь, стоит ли его покупать вообще.
Монетизация приложения требует постоянного привлечения новых подписчиков, и, соответственно, затрат на маркетинговые каналы. Перед покупкой лучше узнать у продавца стоимость привлечения подписчика. Если продавец уверяет, что главный канал привлечения для него — реклама в фейсбуке, попросите статистику из рекламного кабинета или гостевой доступ в рекламный кабинет, так как скриншоты легко подделать. Так вы сможете увидеть реальные цифры стоимости привлечения и оценить, какие вложения потребуются в будущем.
Важно: если вы не уверены в своей способности правильно прикинуть расходы на маркетинг по предоставленной продавцом статистике, то лучше обратитесь за помощью к тем, кто профессионально покупает/продаёт приложения. Например, компания AppCapital занимается оцениванием приложений, и может помочь с оценкой рисков.
Учитывайте, что разработчик/продавец может иметь доступ к тем каналам трафика, которого нет у вас. Например, если разработчик продвигает приложение в своих других проектах. Извлечение приложения из этой среды скажется на трафике.
Лучше всего, если продавец обслуживается у нас в Adapty. Тогда сформировать прогноз по будущим доходам и определить точки роста для монетизации не составит труда. Денежная динамика важна больше, чем количество нулей. Объясним почему:
Разработчик может пойти на разные ухищрения, но статистика монетизации не врёт. Поэтому, покупая приложения, стоит отдавать предпочтение тем проектам, где есть полная картина монетизации.
Когда есть статистика, вы можете смоделировать, как долго будут работать текущие подписки, посчитать LTV и CAC метрики и сопоставить со статистикой по трафику, которую предоставил продавец.
СОВЕТ: будьте бдительны с приложениями, которые занимают первое место в выдаче по высокочастотным и среднечастотным запросам. Даже второе и третье место в выдаче с точки зрения риска более стабильны. Потенциально приложение, которое удерживает второе или третье место в течение года лучше, чем приложение, которое выскочило на первое место неделю назад.
Платный трафик. По опыту, очень редкий разработчик сможет качественно отчитаться по платному трафику в приложении. Во-первых, потому что технологии аналитики всё ещё несовершенны. Во-вторых, мало кто сразу думает, что будет продавать приложение в будущем. Аккаунты теряются или блокируются. Запрашивайте всё, что разработчик может предоставить и пытайтесь сверять.
Покупка/продажа приложения обязательно должна сопровождаться договором о сделке. Правильным решением будет привлечь юриста, который поможет составить договор в две стороны и проследит за тем, чтобы вместе с приложением к покупателю отошли все патенты, права и прочее.
Если приложение приобретается через биржу или посредника, то всю бумажную работу берёт на себя посредник. Биржи обычно работают за success fee и берут 10% суммы от сделки в качестве комиссии (но, бывает, что больше). Можно пробовать договариваться с разработчиком и в обход биржи, но это риск.
После достижения соглашения в переговорах обе стороны подписывают соглашение. Передача приложения происходит либо посредством трансфера из одного аккаунта разработчика в другой, либо передачей всего аккаунта целиком.
В случае трансфера приложения оно должно полностью соответствовать требованиям для переноса. В AppStore и Google.Play порядок и критерии переноса расписаны очень подробно. Важно, чтобы и приложение продавца, и аккаунт покупателя соответствовали требованиям. Платные подписки, оценки и отзывы переезжают вместе с приложением в любом случае. Очень правильно вместе с приложением забрать домен, сайт приложения и почту администратора со всеми имеющими отношение к приложению аккаунтами. За доход можно не переживать: все транзакции до переноса имеют отношение к продавцу, все транзакции после переноса — к покупателю.
ВАЖНО: Не забывайте, что если вы участник Apple Small Business Program, то при передаче приложения в любую сторону, оба аккаунта (и покупателя, и продавца) навсегда перестают быть 15% (и никогда больше не смогут).
Если же передается весь аккаунт разработчика целиком, то продавец сам должен позаботиться о том, чтобы на аккаунте остались только те активы, которые имеют отношение к сделке. Главное, не забыть поменять информацию по биллингам внутри профиля.
Вместе с передачей приложения разработчик передает вам репозиторий с исходным кодом. Убедитесь, что вам передали именно тот код, на котором работает приложение. Если не уверены сами, то попросите разработчика, которому доверяете. После того, как вы перевели разработчику деньги, и он передал вам приложение и аккаунты, сделка считается закрытой. Больше вы друг другу ничего не должны.
Покупать приложения можно на биржах, через брокеров или напрямую написав разработчику. Есть целые команды, которые занимаются покупкой недооцененных приложений (с последующей монетизацией и перепродажей), и фонды, которые занимаются тем же, но в больших объемах.
Из бирж самыми популярными являются Flippa и AppBusinessBrokers (эта биржа в том числе перепродает то, что есть на Flippa, но с большим ценником). Здесь можно искать приложения с доходом. Шаблоны и недоделанные приложения можно искать на SellMyApp, CodeCanyon и Codester.
Мобильные приложения продают как бизнес, поэтому на любых маркетплейсах, где можно гуглить категорию «online business/готовый бизнес» (да хоть даже на Авито) можно найти продавцов.
В свою очередь мы в Adapty всегда научим правильно смотреть в цифры, подскажем какие метрики на что влияют и поможем составить прогноз по экономике. Мы также сможем подсказать основные ошибки в монетизации проекта, поможем организовать A/B-тесты и оптимизировать воронку.
Покупка из приложения — это фрагмент содержимого или функция, которую вы приобретаете в приложении, которое загружаете на мобильное устройство или компьютер. Используете ли вы Mac App Store, iOS App Store, Google Play или другого поставщика приложений для приобретения приложения, в конце концов, у вас есть возможность купить что-то во многих приложениях. У вас может возникнуть желание разблокировать дополнительные функции в игровом приложении, заплатить за возможность использовать приложение без рекламы или купить электронную книгу в другом.
Различные типы покупок в приложении
За последние несколько лет количество покупок в приложениях возросло. Игровая индустрия претерпела значительные изменения, поскольку покупки в приложениях распространены почти во всех сферах индустрии.
Хотя внутриигровые покупки всегда шли рука об руку с бесплатными приложениями и играми, сейчас они распространены во всех типах приложений, включая те, которые вы платите за скачивание. Существует несколько различных типов покупок в приложении, в том числе:
- Разблокируется . Покупки в приложении, которые разблокируют контент или функции, являются постоянными. Как только вы покупаете их, вам не нужно покупать их снова. Unlockables может включать в себя контент, такой как электронные книги, дополнение к игре, или такие функции, как возможность печати в текстовом процессоре.
- Неудержимые . Этот тип покупки в приложении в основном относится к бесплатным играм, которые (несмотря на название) не всегда бесплатны. Модель free-to-play устанавливает внутриигровую валюту, такую как золотые монеты или магические зелья, которую можно использовать для разблокировки функций или увеличения игрового времени. В большинстве этих игр вы можете накапливать эту валюту, играя в игру, но скорость ее приобретения может быть низкой. Это заставляет некоторых игроков покупать валюту в приложении, чтобы им не пришлось ждать. Это только один тип расходных материалов, но он, безусловно, самый популярный.
- Подписки . Подписки выходят за рамки журналов и кабельных станций премиум-класса. Apple и Google открыли подписки внутри приложений для разработчиков в целом, поэтому все больше приложений предлагают услуги подписки для использования приложения или использования расширенных функций в приложении.
Где найти покупки в приложении и как их купить
Покупки в приложении полностью контролируются приложением, поэтому вы не найдете ни единого места, где их можно найти. Некоторые приложения и игры имеют встроенный магазин приложений, в котором перечислены различные доступные покупки. Другие приложения запрашивают вас, когда вы пытаетесь использовать ограниченную функцию. Например, приложение, использующее камеру вашего смартфона, может приобрести приложение для печати в приложении, которое предлагается при попытке распечатать документ.
В то время как покупка предлагается приложением, именно магазин приложений управляет выставлением счетов за покупку. Покупки в приложении, которые разблокируют контент, являются постоянными. Если вам необходимо переустановить приложение или сменить телефон, покупка внутри приложения все еще остается, как и все приложения, которые вы купили, готовые к переходу на новое устройство.
Как определить приложения с покупками в приложении на iPhone и iPad
Все приложения, которые содержат внутриигровые покупки в App Store на iPhone и других устройствах iOS, имеют отказ от ответственности рядом с кнопкой покупки. Вы покупаете бесплатные приложения, нажав на ценник. Бесплатные приложения загружаются при нажатии кнопки « Получить» . Отказ от покупки в приложении находится справа от этих кнопок.
На странице сведений о приложении перечислены покупки в приложении. Это отличное место, чтобы убедиться, что приложение делает все, что вам нужно, без каких-либо дополнительных покупок в приложении.
На странице сведений о приложении в App Store перейдите к разделу « Информация ». Нажмите « Покупки в приложении», чтобы просмотреть список отдельных покупок в приложении.
Вы можете отключить покупки в приложении на iPhone или iPad, которые ваши дети используют, чтобы запретить совершать беспорядочные покупки в приложении «Настройки», выбрав « Общие» -> « Ограничения» или « Время экрана» , в зависимости от версии iOS.
Как обнаружить приложения с покупками в приложении в магазине Google Play
Каждое приложение в магазине Google Play, которое предлагает покупки в приложении, помечено отказом от покупок в приложении в верхней части списка под названием приложения, его разработчиком и возрастным рейтингом приложения.
Магазин Google Play не предоставляет подробный список всех покупок в приложении, но ценовой диапазон продуктов в приложении находится в разделе « Дополнительная информация» на странице сведений .
Если вы хотите защитить устройство Android от детей , вы можете просмотреть свои варианты, выбрав « Руководство для родителей» на левой панели веб-страницы Google Play.
Совместное использование не разрешено
Вы не можете делиться покупками в приложениях между семейными библиотеками, включая как программу Apple Family Sharing, так и семейную библиотеку Google Play. Это имеет значение, когда вы пытаетесь выбрать между бесплатным приложением с покупкой в приложении, чтобы разблокировать премиальные функции, и профессиональным приложением с уже разблокированными функциями. Если вы участвуете в семейном обмене, часто лучше купить профессиональное приложение, чем делать покупки в приложении в бесплатном приложении. Помните, что вы все еще можете скачать бесплатное приложение, чтобы увидеть, соответствует ли оно вашим потребностям!
Как известно, из-за санкций смартфоны Honor и Huawei не работают с Google Pay. Но вместо него оплачивать покупки можно через систему «Кошелек Pay». Как это работает и с какими трудностями могут столкнуться пользователи антиамериканских смартфонов, разбираемся в статье.
Приложение «Кошелек»: что это за зверь
Кстати о безопасности: с ней здесь все очень серьезно (по крайней мере, на первый взгляд) — приложение даже не дает делать скриншоты окон, в которых есть хоть какие-то личные данные пользователя.
«Кошелек» поддерживает только карточки от 40 банков
Добавить в приложение любую карту не получится — программа работает только с определенным списком банков/ До недавнего времени она и вовсе поддерживала только карты платежной системы Mastercard, но теперь есть возможность подключать карточки Visa. Владельцы «Мир» все еще остаются с носом, а это очень большое количество людей.
Что касается банков, то их список пока ограничен 40 компаниями, но будет постепенно пополняться. Среди самых известных, которые уже поддерживает «Кошелек Pay», есть Тинькофф, Райффайзен, Альфа, ВТБ и Открытие. Ожидается присоединение Газпромбанка и Мегафона. Однако все еще нет возможности привязывать карты Сбербанка, что мы считаем большим упущением, хотя и объяснимым — недавно российский банк запустил собственную платежную систему SberPay.
Список всех доступных банков можно открыть прямо из приложения или на сайте «Кошелька». Там же указано, какие компании присоединятся к системе в скором времени. Обязательно проверьте актуальные данные перед тем, как решите купить смартфон Huawei или Honor с NFC.
Бонусы для пользователей
Если вам повезло и звезды сошлись — то есть, если у вас карточка Mastercard от одного из доступных банков, — вы сможете поучаствовать в розыгрыше призов от Huawei. Для этого надо добавить в приложение свою карту и совершить покупку через «Кошелек Pay».
Понятно, что подобные акции нужны, чтобы привлечь новых пользователей — но все равно приятно иметь возможность что-то выиграть «просто так».
Как все настроить и начать платить
В этом плане все просто и довольно очевидно — справится даже тот, кто раньше не пользовался Google Pay и смартфонами с NFC. Однако просто добавить карту в приложение недостаточно, надо связать ее с функцией оплаты.
Для этого откройте настройки NFC (на Android в них можно перейти через долгий тап по иконке в шторке) и выберите в качестве приложения по умолчанию «Кошелек». Все — теперь можно смело прикладывать телефон к платежным терминалам в магазинах.
Все трансакции, которые проходят через «Кошелек Pay», сохраняются в истории платежей. Чтобы открыть список покупок, перейдите к своей карте в приложении, тапните по трем полоскам в левом верхнем углу и выберите пункт «История операций». Здесь можно узнать время, сумму и название компании, которой ушли деньги. В целом, интерфейс похож на Google Pay.
Удобно ли это?
Мы тестировали приложение на смартфоне Huawei, выпущенном до санкций, поэтому у нас была возможность сравнить работу Google Pay и «Кошелек Pay». Во время оплаты покупок в магазинах проблем не возникло — все терминалы в супермаркетах, аптеках и кафе легко считывали информацию о карте и принимали платеж. Показалось, что Google Pay срабатывает немного быстрее, но это субъективно — время мы не измеряли.
Другое дело, что банковскую карту, привязанную к системе Google, можно использовать не только для оплаты покупок в офлайне — но и при онлайн-переводах. Например, через Google Pay можно оплачивать заказы во многих онлайн-магазинах и сервисах доставки, таких как Delivery Club. С «Кошельком» такая фишка не работает — и неясно, появится ли в ближайшее время.
В конечном итоге можно сделать такой вывод: если вы хотите купить новый смартфон Huawei или Honor, но при этом переживаете за возможность бесконтактной оплаты — то не переживайте. С карточкой Mastercard от одного из «разрешенных» банков с оплатой не будет никаких проблем. Но если ваш телефон поддерживает Google Pay — переходить на «Кошелек Pay» нет никакого смысла. А вот использовать приложение для хранения карт магазинов — очень удобно.
В этой статье мы рассмотрим, как можно реализовать встроенные покупки на примере своего приложения Менеджер паролей от Wi-Fi сетей.
Встроенные покупки можно подключить для любого приложения, опубликованного в Google Play. Ничего особенного для этого не требуется, только аккаунт разработчика Google Play Console и аккаунт продавца Google Wallet. Android SDK также содержит пример приложения с реализованными встроенными покупками.
Ваше приложение обращается к сервису In-app Billing с помощью API, который предоставляется приложением Google Play, установленным на устройстве. Затем Google Play передает платежные запросы и ответы на запросы между вашим приложением и сервером Google Play. Таким образом, ваше приложение никогда напрямую не связывается с сервером Google Play. Вместо этого ваше приложение отправляет запросы в приложение Google Play через межпроцессную связь (IPC) и получает от него ответы, нет необходимости поддерживать какие-либо соединения между вашим приложением и сервером Google Play.
In-app Billing поддерживает широкую совместимость, он работает на устройствах под управлением Android 2.2 (API 8) или выше, на которых установлена последняя версия приложения Google Play.
API In-app Billing предоставляет следующие возможности:
- Ваше приложение отправляет запросы с помощью модернизированного API, который позволяет пользователям легко запрашивать информацию о продукте из Google Play и заказывать продукты в приложении. API быстро восстанавливает продукты на основе прав пользователя.
- API синхронно передает информацию о заказе на устройство при завершении покупки.
- Все покупки регулируемы, т.е. Google Play отслеживает права пользователя на продукты. Пользователь не может владеть несколькими экземплярами одного продукта в приложении; только один экземпляр может принадлежать пользователю в любой момент времени.
- Приобретённые продукты могут быть использованы. В таком случае они возвращаются в бесхозное состояние и могут быть куплены снова.
- API обеспечивает поддержку подписки.
Есть разные способы, как встроить в своё приложение In-app Billing: можно это делать как вручную, так и используя сторонние библиотеки. Одной из таких библиотек является Checkout, которая уже содержит в себе готовую к применению реализацию сервиса. Ею и воспользуемся.
Checkout решает общие проблемы, с которыми могут столкнуться разработчики при работе с покупками, например:
- Как отменить все запросы, когда активность уничтожена?
- Как запросить информацию о покупках в фоновом потоке?
- Как проверить покупку?
- Как загрузить все покупки с использованием данных continuationToken или SKU (уникальный идентификатор продукта)?
- Как добавить покупки с минимумом шаблонного кода?
Checkout может быть использован с любым фреймворком или без него. Он имеет четкое разграничение функциональности, доступной в разных контекстах: покупки могут быть сделаны только в активности, тогда как SKU может быть загружен в сервис или класс Application.
Перед началом работы библиотеку нужно добавить в проект. Для этого в файле build.gradle модуля приложения добавить зависимость в блок dependencies.
Для работы с покупками требуется специальное разрешение com.android.vending.BILLING, которое будет добавлено в AndroidManifest.xml автоматически с помощью Gradle. Вы также можете добавить его вручную, добавив в файл манифеста следующую строчку перед элементом <application>:
В этом классе нам нужно добавить следующий код:
Класс Billing это основной класс для работы с библиотекой, он отвечает за:
- подключение и отключение услуг биллинга;
- выполнение платежных запросов;
- кеширование результатов запросов;
- создание объектов Checkout;
- логирование;
Для того, чтобы избежать множественных подключений к службе In-app Billing, следует использовать только один экземпляр класса Billing, именно по этой причине мы и создаём его в классе Application.
Теперь в классе активности при её создании инициализируем экземпляр класса ActivityCheckout, который наследует от базового класса Checkout.
Класс Checkout это средний уровень библиотеки, он использует класс Billing в определённом контексте (в Application, активности или сервисе), проверяет, поддерживаются ли покупки на устройстве и выполняет запросы. ActivityCheckout это подкласс, который способен покупать различные предметы, для создания его экземпляра нужно вызвать метод Checkout.forActivity() и передать в параметры активность и экземпляр Billing.
Метод start() запускает созданный экземпляр и отправляет запрос, который проверяет, поддерживается ли биллинг на этом устройстве.
Метод createPurchaseFlow() создаёт постоянный поток для покупок со слушателем, который будет получать обновления данных о покупках. Код слушателя выглядит следующим образом:
Класс PurchaseListener наследует от EmptyRequestLisneter<Purchase>, который имеет методы onSuccess() и onError(). В данном случае, если пользователь купит отключение рекламы или сделает пожертвование, то слушатель получит данные о покупке и выполнит нужные операции.
Теперь нужно создать экземпляр класса Invertory.
Класс Invertory загружает данные о продуктах, SKU и покупках. Его жизненный цикл связан с жизненным циклом Checkout, в котором он был создан.
Метод makeInvertory() создаёт экземпляр Invertory и привязывает его к нужному объекту Checkout.
Метод load() отправляет запрос на получение данных о продуктах и асинхронно загружает результат в callback. В параметрах формируется запрос, какие именно продукты нужно получить (в данном случае, все имеющиеся, а именно донаты и отключение рекламы). Код коллбека, который принимает результат запроса, представлен ниже:
Метод onLoaded() вызывается, когда все данные загружены. В нём проверяются различные данные о продуктах. Например, можно проверить с помощью поля supported можно проверить, поддерживается ли продукт, а метод getSku() возвращает идентификатор продукта. Если нужно узнать стоимость продукта на основе локали устройства, то следует вызывать getSku(TYPE).price.
Метод isPurchased() проверяет, был ли продукт куплен пользователем. В случае с рекламой это будет означать, что её следует отключать.
Обработка кнопки отключения рекламы выглядит следующим образом:
С помощью данного метода формируется запрос на покупку продукта, результат которого будет получен коллбеком.
Аналогичным образом формируется запрос на донат.
Таким образом, с помощью библиотеки мы реализовали встроенные покупки в приложении без использования шаблонного кода.
Как добавить In-app Billing в приложение : 6 комментариев
А физ. лицо может зарегистрировать Google Wallet? Или нужно ИП открывать?
Может, в этом плене Google очень демократичная компания. Выплаты начнутся по достижении порога в 100$
А как тестировать покупки? Я прописал в play console тестового пользователя и через него покупаю например рекламу. Деньги не списываются но покупка числиться у него в google play.
Но в классе InventoryCallback mPurchases = 0.
Как правильно тестировать?
Здравствуйте! К сожалению, насчёт тестирования не получится что-либо подсказать, попробуйте написать автору библиотеки на гитхабе.
Читайте также: