Компания Adapty временно не ведёт блог на Хабре Привет, меня зовут Алексей, я разрабатываю Adapty SDK для Flutter. Сегодня я расскажу про внедрение внутренних покупок в мобильное приложение на Flutter с помощью плагина, который мы разрабатываем. Flutter — это относительно новый фреймворк от Google для быстрого создания кросс-платформенных приложений. Второй популярный фреймворк — React Native, о покупках на Реакте мы писали в другой статье. Привет, я Влад, core разработчик Adapty SDK для Android. Это заключительная статья из серии туториалов по внедрению внутренних покупок в приложениях Google Play и App Store. В заключительной статье мы решили не замыкаться на одной платформе, а рассказать о продвинутых практиках работы с покупками на iOS и Android и показать, как сервер расширяет наши возможности при работе с подписками и какие преимущества даёт. В этой статье расскажу про пейволлы: где в них есть пространство для экспериментов, а где нужно строго придерживаться гайдлайнов Apple, чтобы приложение прошло ревью и попало в App Store. В 7-м выпуске нашего SubHub подкаста к нам присоединился Евгений Курышев, основатель Mirror AI, в прошлом CTO «Островка». Mirror — приложение, которое делает эмоджи из фотографий. Евгений поделился своим опытом фандрайзинга и прохождения Y Combinator, рассказал про ошибки, которые они допускали в развитии стартапа, про то, как они развивают Mirror. Если вам нравится наш подкаст, не забывайте подписываться, комментировать и ставить лайки: это мотивирует нас записывать новые выпуски и приглашать крутых гостей, чтобы они делились своим опытом. Выпуск доступен на всех популярных платформах, а ниже — самые интересные цитаты из нашей беседы. AppleYouTubeSoundCloudGoogle PodcastsЯндекс.Музыка Сегодня разбираем, как реализовать скидки на iOS: стартовое предложение, промо-предложение и промокод. Это шестая из серии статей про подключению внутренних покупок в приложениях App Store, в которой мы с командой описываем весь процесс включения in-app purchases. Остальные доступны по ссылкам: 1. iOS in-app purchases, часть 1: Конфигурация и добавление в проект. 2. iOS in-app purchases, часть 2: Инициализация и обработка покупок. 3. iOS in-app purchases, часть 4: Тестирование покупок. 4. iOS in-app purchases, часть 3: Серверная верификация покупок. 5. iOS in-app purchases, часть 5: Обработка ошибок. 6. iOS in-app purchases, часть 6: Скидки для iOS in-apps purchases. — Вы тут. 26 сентября в Apple начинается новый фискальный год. В статье рассказываем о правилах, по которым строится календарь, и прогнозируем даты выплат разработчикам от Apple. Можно сохранить себе картинку или добавить даты к себе в Google календарь по ссылке.   В React Native не существует базового инструмента для внедрения внутренних покупок. Поэтому неминуемо приходится пользоваться сторонними библиотеками. Самые популярные библиотеки для добавления покупок в приложения на React Native — это react-native-iap и expo-in-app-purchases.  Правда, сегодня я расскажу про библиотеку «react-native-adapty», потому что по сравнению с другими библиотеками, у неё есть преимущества: • в отличие от других библиотек, есть серверная валидация покупок;• библиотека поддерживает все текущие фичи магазинов от промо-офферов до оплаты наперёд, а поддержка новых функций появляется в ней быстро;• код получается чище и понятнее;• можно выпускать изменения в продуктах без прохождения полного релиз-цикла. В шестом выпуске SubHub подкаста мы обсудили с Ольгой и Виталием как на собственные деньги раскачать мобильное приложение с 0 до $250k в месяц выручки без инвестиций в супер конкурентной нише. Всем привет, я Кирилл, СТО Adapty. Я делал систему серверной валидации для наших SDK. Серверная валидация позволяет проверить подлинность покупки: устройство обращается к серверам Google за информацией, действительно ли была совершена покупка, и валидна ли она. Сегодня расскажу про то, как её настроить для приложений на Android.  Это пятая статья из серии, посвящённой подключению покупок в приложениях на Android. Остальные доступны по ссылкам: 1. Android in-app purchases, часть 1: конфигурация и добавление в проект. 2. Android in-app purchases, часть 2: инициализация и обработка покупок. 3. Android in-app purchases, часть 3: получение активных покупок и смена подписки. 4. Android in-app purchases, часть 4: коды ошибок от Billing Library и как не облажаться с тестированием. 5. Android in-app purchases, часть 5: серверная валидация покупок. — Вы тут   Сегодня мы поговорим о кодах ошибок, которые мы можем получить от Billing Library в методе getResponseCode(). Это наш четвёртый туториал по внедрению внутренних покупок в приложения на Android. Остальные доступны по ссылкам: 1. Android in-app purchases, часть 1: конфигурация и добавление в проект. 2. Android in-app purchases, часть 2: инициализация и обработка покупок. 3. Android in-app purchases, часть 3: получение активных покупок и смена подписки. 4. Android in-app purchases, часть 4: коды ошибок от Billing Library и как не облажаться с тестированием. — Вы тут. 5. Android in-app purchases, часть 5: серверная валидация покупок.    В SubHub подкасте мы обсуждаем бизнес мобильных приложений с выдающимися представителями индустрии. В нашем пятом выпуске гостем подкаста стал Грачик Аджамян, CEO приложения для звонков с незнакомцами Wakie. Грачик был одним из первых выпускников Y Combinator в России, а теперь стремится решить проблему одиночества и чувства изолированности у людей. Послушать подкаст можно на всех популярных платформах. AppleYouTubeSoundCloudGoogle PodcastsЯндекс.Музыка Для Habr мы выбрали самые интересные отрывки нашей беседы, а полная расшифровка есть на vc.ru. В этом посте разбираем полный список SKErrors: что они значат и как их обрабатывать. Каждую ошибку мы рассмотрим в трёх аспектах: как она возникает, что с ней делать и какое сообщение показывать пользователю в уведомлении об ошибке. Это пятая статья из нашей серии, посвящённой внедрению покупок на iOS. Познакомиться с предыдущими можно по ссылкам: 1. iOS in-app purchases часть 1: конфигурация и добавление в проект. 2. iOS in-app purchases часть 2: инициализация и обработка покупок. 3. iOS in-app purchases часть 3: серверная валидация покупок. 4. iOS in-app purchases часть 4: локальное тестирование покупок в XCode. 5. iOS in-app purchases часть 5: обработка ошибок SKErrors. - Вы тут. Cегодня мы рассмотрим две важные темы по реализации in-app покупок с Google Billing Library. Начнем с получения активных покупок пользователя, то есть действующих подписок и ранее купленных non-consumable продуктов.  Это наша третья статья из цикла статей про внедрение покупок на Android. В этой серии мы полностью закрываем вопросы добавления покупок в приложениях Google Play: 1. Android in-app purchases, часть 1: конфигурация и добавление в проект. 2. Android in-app purchases, часть 2: инициализация и обработка покупок. 3. Android in-app purchases, часть 3: проверка статуса подписки и crossgrade. — Вы тут. 4. Android in-app purchases, часть 4: коды ошибок от Billing Library и как не облажаться с тестированием. 5. Android in-app purchases, часть 5: серверная валидация покупок.  На iOS есть два варианта тестирования: классический, посредством Sandbox покупок, и новый способ локального тестирования покупок через Xcode (StoreKit local testing). Sandbox тестирование — процесс несколько муторный и работает только на реальном девайсе. Чтобы тестировать в Sandbox, в самом начале надо завести аккаунт тестировщика на портале, связать его со своим устройством и после этого этого проверить все сценарии.  Тестирование в Xсode Во-первых, тестировать покупки в Xcode можно на раннем этапе, когда приложение не подключено к AppStore Connect. Во-вторых, для Xcode не нужно заводить дополнительных аккаунтов в AppStore, что сильно ускоряет процесс конфигурации тестов, особенно для lifetime non-consumable. В-третьих, локальное тестирование можно автоматизировать, что потенциально снижает шанс появления ошибок в коде.  Познакомьтесь с остальными статьями из цикла: 1. iOS in-app purchases часть 1: конфигурация и добавление в проект. 2. iOS in-app purchases часть 2: инициализация и обработка покупок. 3. iOS in-app purchases часть 3: серверная валидация покупки. 4. iOS in-app purchases часть 4: локальное тестирование покупок в XCode. - Вы тут. 5. iOS in-app purchases часть 5: обработка ошибок SKErrors. Серверная валидация (server-side receipt validation) — это способ проверить подлинность покупки. В отличие от проверки покупки на устройстве, серверная валидация происходит, внимание, на сервере. Валидация означает, что устройство или сервер обращаются к серверам Apple и спрашивают, действительно ли была покупка и валидная ли она. Познакомьтесь с остальными статьями по ссылке:1. iOS in-app purchases часть 1: конфигурация и добавление в проект. 2. iOS in-app purchases часть 2: инициализация и обработка покупок. 3. iOS in-app purchases часть 3: серверная валидация покупок. - Вы тут. 4. iOS in-app purchases часть 4: локальное тестирование покупок в XCode. 5. iOS in-app purchases часть 5: обработка ошибок SKErrors. Трекером беременности Amma пользуются 60% беременных женщин СНГ. В нашем новом выпуске SubHub подкаста мы поговорили с COO Amma Станиславом Проданом: — как монетизировать приложение через b2b и прямые продажи;— как сочетать b2b, прямые продажи и монетизацию через подписки;— как выстраивается процесс работы с отзывами так, чтобы не распылялся по мелочам, но при этом уделять внимание каждому. Слушать можно тут: AppleYouTubeSoundCloudGoogle PodcastsЯндекс.Музыка Если вы предпочитаете читать, а не слушать, под катом — полная расшифровка беседы. Это вторая статья из серии, посвящённой подключению внутренних покупок в приложениях Google Play. В этой статье разберём пример пейволла и реализацию механизма покупки. Познакомьтесь с остальными статьями из цикла:1. Android in-app purchases, часть 1: конфигурация и добавление в проект. 2. Android in-app purchases, часть 2: инициализация и обработка покупок. 3. Android in-app purchases, часть 3: получение активных покупок и смена подписки. 4. Android in-app purchases, часть 4: коды ошибок от Billing Library и как не облажаться с тестированием. 5. Android in-app purchases, часть 5: серверная валидация покупок.  Новый выпуск нашего SubHub podcast, в котором мы общаемся о бизнесе мобильных приложений с выдающимися гостями. В этот раз мы поговорили с Андреем Михайлюком, VP Продукта во Flo. Flo — это #1 мобильное приложение в категории health&fitness App Store. На начало 2021 года у Flo более 170м загрузок и 40м активных пользователей в месяц. По данным sensor tower, приложение зарабатывает $4м в месяц. С Андреем мы обсудили: — сколько экспериментов в год надо проводить и сколько стоит один эксперимент;— как две команды могут работать над одним пейволом;— как персонализируют приложение во Flo;— что такое curiosity gap и почему это работает лучше известной всем hook модели;— почему триалы длиной в 90 дней работают;— что делать, если хочешь запустить приложение и как вложить деньги. Подкаст уже доступен на всех популярных платформах: AppleGoogleYouTubeSoundCloudЯндекс.Музыка Начинаем серию статей о подключении подписок в мобильных приложениях на Android. В этой статье разберём: •  как создавать продукты в Google Play Console;•  конфигурировать подписки: указывать длительность, стоимость, пробные периоды;•  получать список продуктов в приложении. Познакомьтесь с остальными статьями из этой серии: 1. Android in-app purchases, часть 1: конфигурация и добавление в проект. - Вы тут. 2. Android in-app purchases, часть 2: инициализация и обработка покупок. 3. Android in-app purchases, часть 3: получение активных покупок и смена подписки. 4. Android in-app purchases, часть 4: коды ошибок от Billing Library и как не облажаться с тестированием. 5. Android in-app purchases, часть 5: серверная валидация покупок. Встречайте новый выпуск нашего подкаста о бизнесе мобильных приложений. На этот раз наш гость — Михаил Прытков, сооснователь Simple — приложения про интервальное голодание и правильные привычки в питании. Simple не раз оказывалось в топе AppStore. Михаил рассказал: • об их подходе к исследованиям и о том, почему эксперименты со временем становятся менее эффективными;• о факторах, которые надо учесть, выбирая срок подписки;• о веб-подписках: их особенностях, преимуществах и возможностях;• и, конечно, о топе AppStore и как туда попадают. Подкаст доступен во всех популярных платформах: YouTubeSoundCloudAppleYandexGoogleПод катом — полная расшифровка беседы.