Як працює Booka Radio5 хв читання

Як Premium у Booka Radio активується без перезапуску застосунку

Після покупки користувач очікує побачити результат одразу. Розповідаємо, чому для підписки недостатньо лише отримати відповідь від магазину і як Booka Radio оновлює статус доступу.
✍️Редакція Booka Radio · Редакційний матеріал

Для користувача покупка закінчується на кнопці «Підтвердити»

Людина обирає Premium, проходить стандартне вікно магазину й очікує очевидного результату: реклама зникає, платні можливості стають доступними. Якщо після успішної оплати потрібно закрити Booka Radio, прибрати його з пам'яті та запускати знову, це виглядає так, ніби покупка спрацювала не до кінця.

Тому для нас важливо, щоб статус змінювався в межах тієї самої сесії. Користувач не повинен знати, скільки систем бере участь у перевірці підписки. Він уже виконав свою частину — оплатив доступ — і застосунок має сам довести процес до завершення.

Відповідь магазину — це початок перевірки, а не єдине джерело правди

Мобільний магазин повідомляє застосунку про покупку, але покладатися лише на локальне повідомлення ризиковано. Підписка має термін дії, може бути скасована, поновлена або змінена, а її стан повинен бути узгоджений із серверною частиною Booka Radio.

Саме тому після покупки дані передаються на сервер для перевірки. Сервер оновлює статус користувача й повертає інформацію про те, чи активний Premium і до якої дати. Так доступ не залежить від одного локального прапорця, який можна випадково втратити або зберегти в застарілому стані.

Факт покупки і право користування — не зовсім одне й те саме

У системі підписок важливо розділяти дві речі. Перша — подія покупки, яка сталася в певний момент. Друга — поточне право користувача на Premium. Воно може залишатися активним ще певний час після скасування автопродовження або, навпаки, завершитися після закінчення оплаченого періоду.

Тому Booka Radio орієнтується не на просте «ця людина колись купувала підписку», а на актуальний серверний статус і дату доступу. Це дозволяє коректно поводитися в ситуаціях, де історія платежів однакова, а поточні права вже різні.

Між оплатою і оновленням сервера може бути коротка затримка

Платіжні системи складаються з кількох етапів. Навіть якщо магазин уже показав успішну покупку, серверне підтвердження іноді приходить не в ту саму мілісекунду. Якщо застосунок зробить лише одну перевірку й отримає старий статус, він може помилково залишити користувача у безкоштовному режимі.

У Booka Radio після успішної покупки ми на короткий час повторно перевіряємо статус. Це не нескінченне опитування сервера, а невелике вікно, яке дає системам синхронізуватися. Як тільки сервер бачить Premium, інтерфейс оновлюється без необхідності перезапуску.

Інтерфейс має реагувати на зміну статусу одразу

Сам факт того, що сервер уже вважає користувача платним, ще не означає, що екран автоматично змінився. Стан підписки повинен бути частиною загального стану застосунку, за яким стежать екрани та рекламні компоненти.

Коли Booka Radio отримує підтвердження Premium, елементи, призначені для безкоштовного режиму, мають зникнути одразу. Це стосується рекламних блоків і пропозицій отримати додатковий час. Користувач не повинен вручну переходити по різних вкладках, щоб інтерфейс «зрозумів», що покупка вже відбулася.

Відновлення покупки потрібне для іншого сценарію

Є ситуація, коли людина вже платила раніше, але перевстановила застосунок або зайшла на новому пристрої. Тут немає нової покупки, яку можна щойно підтвердити. Потрібно запитати магазин про попередні права та знову синхронізувати їх із сервером.

Тому функція відновлення підписок є окремим шляхом. Вона не повинна створювати другий Premium або повторно списувати гроші. Її завдання — повернути вже придбаний доступ і привести локальний стан у відповідність до реального статусу облікового запису.

Серверні повідомлення потрібні, коли зміна відбувається без відкритого застосунку

Не всі події підписки стаються в момент, коли Booka Radio відкритий на екрані. Автопродовження може пройти вночі, користувач може скасувати підписку через магазин, а черговий платіж — не пройти. Якщо покладатися лише на перевірку під час покупки, сервер довго не знатиме про такі зміни.

Тому важливу роль відіграють повідомлення від платіжної інфраструктури до серверної частини. Вони дозволяють оновлювати статус незалежно від того, чи запущений застосунок у цю секунду. Коли людина відкриває Booka Radio пізніше, сервер уже має актуальні дані.

Скасування не означає миттєву втрату вже оплаченого часу

Підписка зазвичай оплачена до певної дати. Якщо людина вимикає наступне автоматичне продовження, це не повинно забирати вже оплачений період у ту саму секунду. Саме тому для статусу важлива дата, до якої Premium залишається чинним.

Після завершення цього періоду Booka Radio має коректно повернути звичайний режим. Серверний статус дозволяє однаково правильно обробляти покупку, відновлення, автопродовження, скасування й завершення доступу. Для слухача все це повинно відчуватися просто: платні можливості доступні рівно тоді, коли право на них справді активне.

Успішна оплата не повинна залежати від того, на якому екрані був користувач

Покупку можна завершити з різних частин застосунку, тому Premium не повинен оновлюватися лише на конкретній сторінці підписки. Після серверного підтвердження новий статус має стати спільним для всього Booka Radio.

Саме це дозволяє прибрати рекламу й відкрити платні можливості без ручного переходу назад, повторного входу або перезапуску. Змінився не один екран — змінився рівень доступу користувача до сервісу.

Інші матеріали Booka Radio

Усі статті →
⏱️
Як працює Booka Radio

Як Booka Radio запам'ятовує місце прослуховування і повертає до потрібної секунди

Аудіокнига може тривати багато годин, тому плеєр має пам'ятати не лише книгу й главу, а й точну позицію. Розповідаємо, як у Booka Radio ми підійшли до збереження прогресу між сесіями.

Читати →
🗂️
Як працює Booka Radio

Чому каталог Booka Radio можна кешувати, а статус профілю — ні

Не всі дані в застосунку однаково швидко застарівають. Пояснюємо, чому список жанрів може спокійно жити в кеші годинами, а підписку й актуальний профіль потрібно перевіряти значно обережніше.

Читати →