Спасылка на Github: bit.ly/GitHub-testpayments
Простая праграма для тэсціравання і рэгістрацыі падзей патоку пакупак у праграме, створаная ў адпаведнасці са стандартнымі метадамі выстаўлення рахункаў для праграм, якія не працуюць на ўласным серверы выстаўлення рахункаў (гэта значыць выкарыстанне API-інтэрфейсаў Play Billing на прыладзе для запытаў прадуктаў і пакупак).
У цяперашні час падтрымліваецца тэлефон, Android TV і Wear OS.
Лепш за ўсё, каб выкарыстоўваць яго, праверыць гэта дадатак на плацяжы, якія не працуюць у вашым уласным дадатку. Калі гэта працуе ў гэтым дадатку, параўнайце свой код з нашым кодам Github або праверце нашы журналы, каб вызначыць адрозненні; калі ён таксама не працуе ў гэтым дадатку, паведаміце нам - гэта можа быць змяненне аплаты Play, якое парушае паток, і нам, магчыма, прыйдзецца абнавіць прыкладанне!
Заўвага: усе транзакцыі ў гэтым дадатку прызначаны толькі для тэставання. Для транзакцый не будуць прадастаўлены рэальныя тавары і паслугі. Тэрміны, якія выкарыстоўваюцца ў дадатку (напрыклад, "Купіць ружу"), прызначаны толькі для дэманстрацыі і не з'яўляюцца рэальнымі.
Цэны ўстаноўлены на мінімальныя, неабходныя для выканання патрабаванняў Play Console, каб мінімізаваць выдаткі на тэставанне з дапамогай гэтага прыкладання.
Большасць каштуе 0,49 долара ЗША або эквівалент з-за мінімальных патрабаванняў (можа адрознівацца ў некаторых краінах з-за іншых мінімальных патрабаванняў).
Патокі пакупак былі правераны на момант выпуску. Ён таксама будзе пастаянна абнаўляцца, каб прыкласці ўсе намаганні да неабходных змяненняў у рахунках. Яшчэ для перакрыжаванай праверкі, калі вы выявіце, што плацяжы ў вашай уласнай праграме не выконваюцца па невядомых прычынах.
Можа тэсціраваць прадукты ў дадатку, а таксама падпіскі (не забудзьце адмяніць гэта пасля тэсту!). Таксама змяшчае журналы для ўказання падзей падчас патоку аплаты.
Асноўныя дэталі рэалізацыі на гэты момант:
1. Калі вы атрымаеце паспяховы адказ у onPurchasesUpdated у PurchasesUpdatedListener, пераканайцеся, што вы апрацоўваеце свае пакупкі (пацвердзіце і спажывайце, калі гэта дастасавальна).
2. Пераканайцеся, што вы таксама запытваеце пакупкі карыстальніка (queryPurchasesAsync) пры выкліках onResume() вашай праграмы (або эквівалент, калі onResume() не з'яўляецца належным месцам), правяраеце статус пацверджання кожнай пакупкі і пацвярджаеце іх, калі яны не былі паспяхова пацверджаны .
- Таксама спажывайце расходныя матэрыялы, калі яны ўжо пацверджаны, але ўсё яшчэ ўключаны ў адказ (што азначае, што яны не былі паспяхова спажыты)
3. Абнавіце карыстальніцкі інтэрфейс, каб адпаведным чынам адлюстраваць новыя змены ў адказе на аплату.
4. Майце на ўвазе, што экраны гадзінніка могуць пагаснуць даволі хутка, што можа прывесці да затрымкі onPurchasesUpdated() і г.д. з-за таго, што праграма не працуе актыўна або не атрымлівае падзеі пасля завяршэння аплаты. І калі вы абуджаеце экран, як onPurcahsesUpdated(), так і запыт queryPurchasesAsync() у onResume() могуць спрацаваць амаль адначасова (таму не забудзьцеся праверыць умовы гонкі).
5. Майце на ўвазе, што пакупкі, не пацверджаныя на працягу 72 гадзін, будуць аўтаматычна вернуты.