Тестування покупок у iOS-додатках
Last updated
Last updated
На iOS є два варіанти тестування: класичний, за допомогою Sandbox покупок і новий спосіб локального тестування покупок через Xcode (StoreKit local testing).
- процес дещо моторний і працює тільки на реальному девайсі. Щоб тестувати в Sandbox, на самому початку треба завести обліковий запис тестувальника на порталі, зв'язати його зі своїм пристроєм і після цього перевірити всі сценарії. Деякі сценарії яких вимагають дуже великої кількості маніпуляцій (refund, ask to buy, lifetime non-consumable покупки);
стало доступним, починаючи з Xcode 12 (iOS 14), і значно спростило процес тестування. По-перше, тестувати покупки в Xcode можна на ранньому етапі, коли програма не підключена до AppStore Connect. По-друге, для Xcode не потрібно заводити додаткові облікові записи в AppStore, що дуже прискорює процес конфігурації тестів, особливо для lifetime non-consumable. По-третє, локальне тестування можна автоматизувати, що потенційно знижує шанс появи помилок у коді. Більше того, можна навіть писати UI-тести на пейволи та інші інтерфейси, де фігурують покупки.
Однак деякі речі доступні лише у Sandbox. Наприклад, використовувати таблицю цін з автоматичним конвертуванням на різні валюти можна тільки в AppStore. Також валідація покупок (receipt validation) у звичайному вигляді вже не працює – локальні покупки валідуються через Xcode, і цей механізм лягає на плечі розробника. В іншому Xcode покриває більшість сценаріїв та завдань тестування.
Джерела:
Дод. матеріал: