Планується в версії 8.3.8.
У мобільній платформі ми реалізували підтримку обох цих джерел доходу. На нашу думку ви будете використовувати цю функціональність, в основному, в незалежних мобільних додатках. Тобто в таких додатках, основним призначенням яких є автономне використання, а не організація віддалених робочих місць для «десктопних» прикладних рішень.
Але коли ви щось продаєте користувачеві, ви отримуєте гроші від користувача. І значить повинні надати йому щось натомість. Тут, основними, на нашу думку, можуть бути такі сценарії:
- Купівля «преміум» версії додатка, в якій доступна додаткова функціональність;
- Зняття обмежень демоверсії. Наприклад, демоверсія може мати обмеження за кількістю введених даних. При досягненні цього обмеження ви пропонуєте користувачеві купити робочу версію, що оперує будь-якою кількістю даних;
- Купівля можливості взаємодії з тими чи іншими веб-сервісами. Наприклад, ваш додаток є агрегатором даних з різних джерел. Стандартна безкоштовна версія вашого додатка взаємодіє з обмеженою кількістю джерел. А за додаткову плату користувач може підключити більш широкий і цікавий набір джерел інформації.
Далі ми хочемо познайомити вас з новою функціональністю більш докладно.
механізм покупок
У мобільній платформі 1С: Підприємства ми реалізували підтримку механізмів покупок, вбудованих в операційні системи Android і iOS. Для Android це сервіс Google Play In-App Billing. Для iOS це Apple In-App Purchase.
Мобільні операційні системи дозволяють виконувати три види покупок:
В 1С: Підприємство
Список покупок, які можуть виконувати користувачі мобільного додатка, ви повинні заздалегідь сформувати в свого облікового запису розробника Google або Apple. Ідентифікатори цих покупок помістити в своє мобільний додаток. Наприклад, у вигляді строкових констант.
Після цього типова послідовність виконання покупки виглядає наступним чином. Спочатку вам потрібно отримати менеджер вбудованих покупок. Він забезпечує основну роботу з покупками. Він доступний з властивості глобального контексту ВстроенниеПокупкі:
Потім вам потрібно зрозуміти, чи можна взагалі виконувати покупки. Для цього ви можете використовувати два методи:
Чому потрібні ці перевірки? Наприклад, якщо пристрій використовує операційну систему Android, то для виконання покупок на ньому обов'язково повинні бути встановлені актуальні служби Google Play. А на пристроях з операційною системою iOS витрачання покупок не використовується.
Після того, як ви визначилися з можливістю і способами покупок, можна що-небудь купити. Перед тим, як купувати, бажано переконатися, що користувач не придбав бажану покупку на іншому пристрої. У цьому вам допоможе спеціальний метод:
Цей метод вимагає звернення до Інтернету, і його виконання може зайняти помітне проміжок часу. За переданими ідентифікаторів він запросить в сервісі-магазині інформацію про покупки, в тому числі про їх придбання. Чи збереже (або оновить) цю інформацію на пристрої в локально збереженої історії покупок. Для того щоб в подальшому ви не зверталися до Інтернету, а користувалися локальними даними.
Тепер ви можете що-небудь купити, або витратити покупку. І в тому, і в іншому випадку вам знадобиться знати актуальну інформацію про конкретну покупку. Її можна дізнатися зі списку доступних і придбаних покупок. Для отримання цього списку служить метод:
Кожна покупка описується об'єктом ВстроеннаяПокупка. Він містить ідентифікатор, заголовок, опис, ціну та валюту покупки.
Щоб купити або витратити покупку, ви виконуєте один з двох методів:
Метод НачатьПріобретеніе () відправляє запит на оплату покупки. Управління передається інтерфейсу проведення платежів, що надається операційною системою. Наприклад, для операційної системи Android це буде виглядати наступним чином:
Після закінчення покупки, вдалого або невдалого, буде виконаний повернення в мобільний додаток.
Налаштування мобільного додатка
Користувач набуває покупки не заради покупок, а заради того, щоб користуватися функціональністю і додатковими можливостями, яких раніше у нього не було. Тому на основі його покупок вам треба налаштувати мобільний додаток. Для цього функціональність, що включається покупками, може налаштовуватися в вашому додатку за допомогою функціональних опцій.
Щоб правильно встановити значення функціональних опцій, вам потрібно перевірити, чи придбані ті покупки, які впливають на функціональність.
Інший спосіб - це використовувати метод ПолучітьСпісок () з другим параметром Істина. Щоб він повернув тільки ті покупки, які ще не придбано.
Найзручніше виконувати це при запуску вашого мобільного додатка.
Перевірка достовірності покупок
Сервіси покупок підтверджують факт придбання покупки тим, що повертають в мобільний додаток квитанцію, підписану цифровим підписом. При виконанні методу НачатьПріобретеніе () ця квитанція перевіряється.
Але якщо ви стурбовані тим, що мобільний додаток може бути зламано, і покупки можуть відбуватися несанкціоновано, то у вас є можливість провести додаткову самостійну перевірку квитанції.
Для цього призначений об'єкт МенеджерПроверкіВстроеннихПокупок, який доступний тільки в серверному контексті «настільною» платформи 1С: Підприємство. Ви можете передати йому квитанцію, отриману в результаті покупки. І він її перевірить самостійно. Або ж він надасть вам розпаковані поля квитанції, для того, щоб ви самі перевірили їх.
Тестування вбудованих покупок на платформі розробника
Внутрішній устрій покупок для операційної системи iOS таке, що ви можете їх тестувати на мобільній платформі розробника, тобто в процесі розробки свого мобільного додатка.
У випадку з операційною системою Android така можливість відсутня. Використовуючи мобільну платформу розробника неможливо протестувати роботу вбудованих покупок в Google Play In-App Billing.
Для того щоб вирішити цю проблему, ми зробили спеціальний веб-сервіс - емулятор вбудованих покупок.
Цей веб-сервіс ми включимо до складу Збирача мобільних додатків. Тоді процес тестування для вас буде виглядати наступним чином:
Другий механізм, який ми реалізували в мобільній платформі, підтримує роботу з агрегатором AdMob компанії Google, і сервісом iAd компанії Apple.