Грешка при таксуване в приложението за Android: Този артикул не може да бъде закупен. (Код на грешка: IAB-DPTL)

Тъкмо започвам да използвам системата за таксуване в приложението на Android. Тествах примерното приложение на Dungeons без никакви проблеми.

Така че се опитвам да интегрирам в приложението в собственото си приложение, но когато използвам деклариран productId или статичен тестов идентификатор, получавам същата грешка:

This item could not be purchased. (Error code: IAB-DPTL)

Това приложение вече е на пазара. Качих подписана версия, която също бутнах на телефона (така че е една и съща версия от двете страни). Добавих имейла, който се използва на телефона като тестов акаунт. Трябва ли да активирам приложението си? (излагате ли риск от премахване на текущото публикувано приложение?)

Не виждам какво пропускам и не мога да намеря нищо за този код за грешка в мрежата.

Какво правя грешно?


person rdgilead    schedule 17.04.2012    source източник
comment
Нямам идея, но и аз получавам това. Може да искате да опитате с различен тестов акаунт, не съм сигурен дали ще помогне.   -  person Nikolay Elenkov    schedule 17.04.2012
comment
Смяната на устройства и/или акаунти изглежда не помага. Все още получава същата грешка. Може да е проблем с Google.   -  person Nikolay Elenkov    schedule 18.04.2012
comment
Добре, благодаря ви за коментарите! Аз не съм сам ! Ще се опитам да проуча от приложението получените обратни повиквания. Ще те уведомя.   -  person rdgilead    schedule 18.04.2012
comment
Само една забележка: използвах IAB от година и това работеше (с периодични хълцания).   -  person Nikolay Elenkov    schedule 18.04.2012


Отговори (1)


Добре намерих решението!!!

Грешката е пряко причинена от „payloadContent“, който свързвам с productId по време на заявката за покупка.

Използвах да конвертирам моя предмет, който можех да купя, в JSON и да го поставям като полезно съдържание за разработчиците. (мисля за полезно за фазата на възстановяване...)

Тествах да премахна този payloadContent и след това нямах повече проблеми.

Мисля, че форматът на данните, използван по време на различните транзакции, е JSON и затова полето за съдържание на JSON полезен товар трябва да пречи на някои изчаквани полета.. (като „заглавие“ или „връзка“)

АКТУАЛИЗАЦИЯ:

Както каза Николай Еленков, грешката най-вероятно е причинена от дължината на полезния товар, а JSON изглежда работи. Така че има ограничение в размера на полезния товар на разработчика: 256 знака.

И ние смятаме, че кодът за грешка: "IAB-DPTL" означава директно: "В таксуването на приложението - Payload на разработчиците е твърде дълъг"

Благодаря Николай!

person rdgilead    schedule 18.04.2012
comment
Мога да потвърдя, че премахването на полезния товар на разработчиците решава това. Ще трябва да тествам, но сигурни ли сте, че не достигате ограничението от 256 знака? Приемете и вашия отговор, така че въпросът да бъде маркиран като отговорен. - person Nikolay Elenkov; 19.04.2012
comment
Изпращането на JSON определено работи, грешката най-вероятно е причинена от дължината на полезния товар. В моите тестове 270 символа го причиняват, 230 работят. - person Nikolay Elenkov; 19.04.2012
comment
Можете също да опитате да се оплачете от загадъчното съобщение за грешка тук: code.google.com/p/ marketbilling/issues/list Сега, след като знаем причината, тя изглежда достатъчно очевидна: Developer Payload Too Long (DPTL). - person Nikolay Elenkov; 19.04.2012