Location via proxy:   [ UP ]  
[Report a bug]   [Manage cookies]                
SlideShare a Scribd company logo
Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не стыдно, а разработчику не обидно"
БИЗНЕС-МОДЕЛИ МОБИЛЬНЫХ ПРИЛОЖЕНИЙ
Premium
Paid Apps
Ads
Freemium
Free-to-Play
• приложение можно скачать бесплатно
• дополнительные “плюшки” можно получить за деньги
FREEMIUM
Что можно купить внутри приложения:
L игровая валюта
L новых уровни
L игровые предметы
L журналы/газеты
L сервисы (vpn, cloud)
L аудио- и видео- контент
L избавиться от рекламы
ВСТРОЕННЫЕ ПОКУПКИ
Где subscription, а где другие виды in-app?
IN-APP PURCHASE & SUBSCRIPTIONS
Особенности подписок:
L однородный контент
L период действия
L триальный период
consumable in-app non-consumable in-app
subscription
IN-APP PURCHASE & SUBSCRIPTIONS
IN-APP PURCHASE & SUBSCRIPTIONS
Auto-renewable subscriptions
Non-renewable subscriptions
ВИДЫ SUBSCRIPTIONS
L подписаться (Purchase)
L можно продлить (Renew)
L можно восстановить (Restore)
L можно отменить (Cancel)
L можно вернуть деньги (Refund)
ДЕЙСТВИЯ С SUBSCRIPTIONS
МЕХАНИЗМ РАБОТЫ SUBSCRIPTIONS
1. Получить product description
2. Купить продукт
3. Доставить продукт
Всегда проверяем актуальный статус покупки!
МЕХАНИЗМ РАБОТЫ SUBSCRIPTIONS
RECEIPT - ИНФОРМАЦИЯ О ПОКУПКЕ
"latest_receipt_info" = (
{
"expires_date" = "2016-05-26 16:31:01 Etc/GMT";
"expires_date_ms" = 1464280261000;
"expires_date_pst" = "2016-05-26 09:31:01 America/Los_Angeles";
"is_trial_period" = false;
"original_purchase_date" = "2016-05-26 16:26:01 Etc/GMT";
"original_purchase_date_ms" = 1464279961000;
"original_purchase_date_pst" = "2016-05-26 09:26:01 America/Los_Angeles";
"original_transaction_id" = 1000000213894349;
"product_id" = "com.mycompany.myapp.1m";
"purchase_date" = "2016-05-26 16:26:01 Etc/GMT";
"purchase_date_ms" = 1464279961000;
"purchase_date_pst" = "2016-05-26 09:26:01 America/Los_Angeles";
quantity = 1;
"transaction_id" = 1000000213894349;
"web_order_line_item_id" = 1000000032597872;
},
МОДЕЛЬ РЕАЛИЗАЦИИ SUBSCRIPTIONS
(с сервером и без сервера)
"purchase_token": "bmhondcapgeacoacleeckhpl.AO-J1OzjwSGydNpuI3b4FbYzuNvQq6GnNXyf2gtaZEspTJv-
Kik5WV1pTrwNcWuD-A7f6ia-
vGbdgdCBQNVGtRppe_VZ4J7W_1bto_8xKYV8VAlrGJavqc_Ih_OWSMIcmV3qjORG9StXyaN6QREP9X3MclOZY6VR9
LXsEdfh8LuPkXpq_f85Jzw",
"product_id": "com.mycompany.myapp.week",
"developer_payload": "subs:com.mycompany.myapp.week",
"hash": "be859342-9b48-4203-83de-350b96de014f",
"type": "subscription"
-----------------------------------------------------------------
"error": 0,
"data": {
"is_valid": true,
"is_cancelled": false,
"is_expired": false,
"state": 1,
"remaining_time_ms": "7881721",
"expires_date_ms": "1480510318721",
"hash": "be859342-9b48-4203-83de-350b96de014f"
ВАЛИДАЦИЯ ПОДПИСКИ
СОЗДАНИЕ И НАСТРОЙКА ПОДПИСКИ
СОЗДАНИЕ И НАСТРОЙКА ПОДПИСКИ
appapp
172303924
СОЗДАНИЕ И НАСТРОЙКА ПОДПИСКИ
СОЗДАНИЕ И НАСТРОЙКА ПОДПИСКИ
ПОДГОТОВКА К ТЕСТИРОВАНИЮ (ACCOUNTS)
ПОДГОТОВКА К ТЕСТИРОВАНИЮ (ACCOUNTS)
Важно:
Тестовый аккаунт - НЕ аккаунт из iTunes.
Тестовые пользователи для разных стран.
Запомнить пароль :-)
ПОДГОТОВКА К ТЕСТИРОВАНИЮ (ACCOUNTS)
ПОДГОТОВКА К ТЕСТИРОВАНИЮ (ACCOUNTS)
Важно:
1. Приложение нужно загрузить в alfa-тестирование.
2. Тестовый пользователь - реальный аккаунт из Google Play.
3. Ссылку для скачивания приложения - opt-in URL - отдать
тестировщику.
4. Тестировщик должен перейти по ссылке и принять
приглашение.
ПОДГОТОВКА К ТЕСТИРОВАНИЮ (TOOLS)
Инструменты
• Прокси, VPN
• Xcode/Android Device Monitor/другие инструменты для чтения логов
• Системы сбора статистики и крэшей
• Набор iOS/Android устройств для тестирования
• Бизнес и технические требования по работе приложения с подписками
ТЕСТИРОВАНИЕ
Что проверяем?
1. Позитивные сценарий использования (действия пользователя с подпиской).
2. Доступность функционала, контента после покупки или рестора.
3. Корректное поведение после истечения подписки.
4. Корректность отображения всех алертов в соответствующих ситуациях.
5. Внештатные ситуации (прерывания в процессе покупки).
На чём тестировать? .ipa
Тестовые периоды подписок:
1 week - 3 minutes
1 month - 5 minutes
2 months - 10 minutes
3 months - 15 minutes
6 months - 30 minutes
1 year - 1 hour
Авто-продление - 6 раз в сутки
ТЕСТИРОВАНИЕ (iOS)
ТЕСТИРОВАНИЕ (Android)
На чём тестировать? - alfa-версия + .apk (!version code)
Google Play client application >= version 3.10.10
OS Version Android 2.2 (API level "8" или выше)
Тестовый периоды подписки - 24ч
Можно отменить подписку - Cancel.
ТИПИЧНЫЕ ОШИБКИ (iOS)
ТИПИЧНЫЕ ОШИБКИ (Android)
AppStore Review Guidelines - 3.1 Payments - https://developer.apple.com/app-store/review/guidelines/
AppStore Review Guidelines - требования, без выполнения которых приложение будет отклонено.
1. Предназначения покупок - что можно и что нельзя продавать через приложение.
2. Как корректно назначать тип покупки.
3. Что можно предоставлять для подписок.
4. Требования для авто-возобновляемых подписок
5. Правила внесения изменений в подписки.
пример:
- запрещено продавать ключевую функциональность приложения.
- нужно чётко давать понять пользователю, за что он платит деньги
- подписки можно делать не только для одного приложения, но для всех приложения внутри учетной записи
- если человек купил подписку, она должна быть доступна на всех приложениях, на которых стоит само приложение
ТРЕБОВАНИЯ МАГАЗИНОВ К ПОДПИСКАМ
Developer Policy center - требования Google к встроенным покупкам:
https://play.google.com/about/monetization-ads/payments/
https://play.google.com/about/monetization-ads/subscriptions-cancellations/
Пример:
• Покупки в приложении могут быть организованы только через систему Google Play In-app Billing API.
• Подписки: если пользователь отменяет подписку, то функционал должен остаться доступным на
текущий период
• Подписки: вы можете интегрировать более сложную логику и возврат средств пользователю.
ТРЕБОВАНИЯ МАГАЗИНОВ К ПОДПИСКАМ
ВМЕСТО ВЫВОДОВ
(СРАВНЕНИЕ ПОДПИСОК в iOS и ANDROID)
ВМЕСТО ВЫВОДОВ
(СРАВНЕНИЕ ПОДПИСОК в iOS и ANDROID)
iOS:
https://developer.apple.com/in-app-purchase/ - встроенные покупки

https://developer.apple.com/app-store/subscriptions/ - подписки

https://developer.apple.com/library/content/technotes/tn2387/_index.html#//apple_ref/doc/uid/DTS40014795 - Best Practices
https://support.apple.com/ru-ru/HT202023 - информация для пользователей
ПОЛЕЗНЫЕ ССЫЛКИ
Android:
https://developer.android.com/google/play/billing/billing_subscriptions.html - все операции с подписками

https://developer.android.com/google/play/billing/billing_testing.html - тестирование платежей

https://developer.android.com/google/play/billing/api.html - in-app Billing Version 3 API

https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#resource - Google Play Developer API
https://developer.android.com/google/play/billing/billing_best_practices.html - best practicies
https://support.google.com/googleplay/android-developer/answer/140504?hl=en&ref_topic=3452890 - информация для
пользователей
Спасибо!

More Related Content

Виктория Козлова "Подписки в iOS и Android приложениях: когда тестировщику не стыдно, а разработчику не обидно"

  • 3. • приложение можно скачать бесплатно • дополнительные “плюшки” можно получить за деньги FREEMIUM
  • 4. Что можно купить внутри приложения: L игровая валюта L новых уровни L игровые предметы L журналы/газеты L сервисы (vpn, cloud) L аудио- и видео- контент L избавиться от рекламы ВСТРОЕННЫЕ ПОКУПКИ
  • 5. Где subscription, а где другие виды in-app? IN-APP PURCHASE & SUBSCRIPTIONS
  • 6. Особенности подписок: L однородный контент L период действия L триальный период consumable in-app non-consumable in-app subscription IN-APP PURCHASE & SUBSCRIPTIONS
  • 7. IN-APP PURCHASE & SUBSCRIPTIONS
  • 9. L подписаться (Purchase) L можно продлить (Renew) L можно восстановить (Restore) L можно отменить (Cancel) L можно вернуть деньги (Refund) ДЕЙСТВИЯ С SUBSCRIPTIONS
  • 10. МЕХАНИЗМ РАБОТЫ SUBSCRIPTIONS 1. Получить product description 2. Купить продукт 3. Доставить продукт
  • 11. Всегда проверяем актуальный статус покупки! МЕХАНИЗМ РАБОТЫ SUBSCRIPTIONS
  • 12. RECEIPT - ИНФОРМАЦИЯ О ПОКУПКЕ "latest_receipt_info" = ( { "expires_date" = "2016-05-26 16:31:01 Etc/GMT"; "expires_date_ms" = 1464280261000; "expires_date_pst" = "2016-05-26 09:31:01 America/Los_Angeles"; "is_trial_period" = false; "original_purchase_date" = "2016-05-26 16:26:01 Etc/GMT"; "original_purchase_date_ms" = 1464279961000; "original_purchase_date_pst" = "2016-05-26 09:26:01 America/Los_Angeles"; "original_transaction_id" = 1000000213894349; "product_id" = "com.mycompany.myapp.1m"; "purchase_date" = "2016-05-26 16:26:01 Etc/GMT"; "purchase_date_ms" = 1464279961000; "purchase_date_pst" = "2016-05-26 09:26:01 America/Los_Angeles"; quantity = 1; "transaction_id" = 1000000213894349; "web_order_line_item_id" = 1000000032597872; },
  • 13. МОДЕЛЬ РЕАЛИЗАЦИИ SUBSCRIPTIONS (с сервером и без сервера)
  • 14. "purchase_token": "bmhondcapgeacoacleeckhpl.AO-J1OzjwSGydNpuI3b4FbYzuNvQq6GnNXyf2gtaZEspTJv- Kik5WV1pTrwNcWuD-A7f6ia- vGbdgdCBQNVGtRppe_VZ4J7W_1bto_8xKYV8VAlrGJavqc_Ih_OWSMIcmV3qjORG9StXyaN6QREP9X3MclOZY6VR9 LXsEdfh8LuPkXpq_f85Jzw", "product_id": "com.mycompany.myapp.week", "developer_payload": "subs:com.mycompany.myapp.week", "hash": "be859342-9b48-4203-83de-350b96de014f", "type": "subscription" ----------------------------------------------------------------- "error": 0, "data": { "is_valid": true, "is_cancelled": false, "is_expired": false, "state": 1, "remaining_time_ms": "7881721", "expires_date_ms": "1480510318721", "hash": "be859342-9b48-4203-83de-350b96de014f" ВАЛИДАЦИЯ ПОДПИСКИ
  • 16. СОЗДАНИЕ И НАСТРОЙКА ПОДПИСКИ appapp 172303924
  • 20. ПОДГОТОВКА К ТЕСТИРОВАНИЮ (ACCOUNTS) Важно: Тестовый аккаунт - НЕ аккаунт из iTunes. Тестовые пользователи для разных стран. Запомнить пароль :-)
  • 22. ПОДГОТОВКА К ТЕСТИРОВАНИЮ (ACCOUNTS) Важно: 1. Приложение нужно загрузить в alfa-тестирование. 2. Тестовый пользователь - реальный аккаунт из Google Play. 3. Ссылку для скачивания приложения - opt-in URL - отдать тестировщику. 4. Тестировщик должен перейти по ссылке и принять приглашение.
  • 23. ПОДГОТОВКА К ТЕСТИРОВАНИЮ (TOOLS) Инструменты • Прокси, VPN • Xcode/Android Device Monitor/другие инструменты для чтения логов • Системы сбора статистики и крэшей • Набор iOS/Android устройств для тестирования • Бизнес и технические требования по работе приложения с подписками
  • 24. ТЕСТИРОВАНИЕ Что проверяем? 1. Позитивные сценарий использования (действия пользователя с подпиской). 2. Доступность функционала, контента после покупки или рестора. 3. Корректное поведение после истечения подписки. 4. Корректность отображения всех алертов в соответствующих ситуациях. 5. Внештатные ситуации (прерывания в процессе покупки).
  • 25. На чём тестировать? .ipa Тестовые периоды подписок: 1 week - 3 minutes 1 month - 5 minutes 2 months - 10 minutes 3 months - 15 minutes 6 months - 30 minutes 1 year - 1 hour Авто-продление - 6 раз в сутки ТЕСТИРОВАНИЕ (iOS)
  • 26. ТЕСТИРОВАНИЕ (Android) На чём тестировать? - alfa-версия + .apk (!version code) Google Play client application >= version 3.10.10 OS Version Android 2.2 (API level "8" или выше) Тестовый периоды подписки - 24ч Можно отменить подписку - Cancel.
  • 29. AppStore Review Guidelines - 3.1 Payments - https://developer.apple.com/app-store/review/guidelines/ AppStore Review Guidelines - требования, без выполнения которых приложение будет отклонено. 1. Предназначения покупок - что можно и что нельзя продавать через приложение. 2. Как корректно назначать тип покупки. 3. Что можно предоставлять для подписок. 4. Требования для авто-возобновляемых подписок 5. Правила внесения изменений в подписки. пример: - запрещено продавать ключевую функциональность приложения. - нужно чётко давать понять пользователю, за что он платит деньги - подписки можно делать не только для одного приложения, но для всех приложения внутри учетной записи - если человек купил подписку, она должна быть доступна на всех приложениях, на которых стоит само приложение ТРЕБОВАНИЯ МАГАЗИНОВ К ПОДПИСКАМ
  • 30. Developer Policy center - требования Google к встроенным покупкам: https://play.google.com/about/monetization-ads/payments/ https://play.google.com/about/monetization-ads/subscriptions-cancellations/ Пример: • Покупки в приложении могут быть организованы только через систему Google Play In-app Billing API. • Подписки: если пользователь отменяет подписку, то функционал должен остаться доступным на текущий период • Подписки: вы можете интегрировать более сложную логику и возврат средств пользователю. ТРЕБОВАНИЯ МАГАЗИНОВ К ПОДПИСКАМ
  • 33. iOS: https://developer.apple.com/in-app-purchase/ - встроенные покупки https://developer.apple.com/app-store/subscriptions/ - подписки https://developer.apple.com/library/content/technotes/tn2387/_index.html#//apple_ref/doc/uid/DTS40014795 - Best Practices https://support.apple.com/ru-ru/HT202023 - информация для пользователей ПОЛЕЗНЫЕ ССЫЛКИ Android: https://developer.android.com/google/play/billing/billing_subscriptions.html - все операции с подписками https://developer.android.com/google/play/billing/billing_testing.html - тестирование платежей https://developer.android.com/google/play/billing/api.html - in-app Billing Version 3 API https://developers.google.com/android-publisher/api-ref/purchases/subscriptions#resource - Google Play Developer API https://developer.android.com/google/play/billing/billing_best_practices.html - best practicies https://support.google.com/googleplay/android-developer/answer/140504?hl=en&ref_topic=3452890 - информация для пользователей