Тестирование встроенных покупок в приложении Kindle Fire

Я не могу тестировать покупки приложений даже с помощью Amazon Appstore SDK Tester.

public void onPurchaseResponse(final PurchaseResponse purchaseResponse)

buyResponse всегда имеет «INVALID_SKU», даже если у меня есть файл amazon.sdktester.json с поддельным JSON.

содержимое файла: { "test" : { "itemType": "РАСХОДИМЫЕ", "price": 0,99, "title": "Больше кликов!", "description": "Нажмите кнопку еще десять раз!", "smallIconUrl" : "http://www.google.com/images/srpr/logo3w.png" },

"com.amazon.buttonclicker.ten_clicks" : {
    "itemType": "CONSUMABLE",
    "price": 0.99,
    "title": "More Clicks!",
    "description": "Click your button ten more times!",
    "smallIconUrl": "http://www.google.com/images/srpr/logo3w.png"
  },

  "com.amazon.buttonclicker.blue_button" : {
    "itemType": "ENTITLED",
    "price": 0.99,
    "title": "Blue Button",
    "description": "Button Clicker - Now in Blue!",
    "smallIconUrl": "http://www.google.com/images/srpr/logo3w.png"
  }
}

Даже пробное приложение не работает. Есть ли у вас какие-либо предложения, как протестировать приложение? Похоже, что Amazon SDK Tester не перехватывает запросы.


person Ruzard    schedule 10.05.2012    source источник
comment
Вопрос новичка. Вам нужно было зарегистрировать образец приложения и элементы IAP с их номерами SKU на портале разработчиков Amazon, прежде чем заставить их работать?   -  person nicordesigns    schedule 09.06.2013


Ответы (5)


Вот как я заставил покупки в приложении работать на Kindle Fire (после нескольких часов борьбы...)

  1. adb install AmazonSDKTester.apk (Установите SDKTester на Kindle Fire)
  2. Создайте файл amazon.sdktester.json в каталоге SDCARD (подключенный KF отображается как SDCARD в Finder на вашем Mac)
  3. Содержимое amazon.sdktester.json — { "com.yourcompany.yourpkgname.200_coins" : { "itemType": "РАСХОДИМЫЕ", "цена": 0,99, "название": "200 МОНЕТ", "описание": "2 МОНЕТЫ", "smallIconUrl": "http://www.yourcompany.com/icon.png" } }
  4. Нажмите кнопку питания на KF и нажмите кнопку «Отключить» — теперь KF больше не является подключенным диском на вашем Mac.
  5. Запустите приложение AmazonSDKTester на KF.
  6. Запустите приложение из Eclipse. Убедитесь, что имя пакета в JSON соответствует SKU элемента приложения на веб-сайте Amazon и в PurchasingManager.initiatePurchaseRequest("com.yourcompany.yourpkgname.200_coins");
  7. Теперь вы должны увидеть межстраничные объявления в приложении.
  8. Все еще не работает - принудительно закройте приложение и AmazonSDKTester на KF; Жесткий сброс KF ; Перезапустите Eclipse и перезапустите с шага 1
person Roshan    schedule 15.08.2012
comment
как я могу определить, куплено ли приложение или нет, так же, как queryinventory в игровом магазине - person Amit Hooda; 12.11.2013
comment
Также стоит отметить, что IAP v2 работает только с AmazonSDKTester, распространяемым через магазин Amazon. Мне потребовалось некоторое время, чтобы узнать это. Благодаря этой ссылке: forums.developer.amazon.com/forums/thread .jspa?threadID=3735 (в разделе Известные проблемы и полезные примечания v2). Хотя документация кажется мне непоследовательной и фрагментарной. - person vir us; 26.01.2015

Не забудьте внешние закрывающие фигурные скобки {} в вашем json. Мне потребовалось 3 часа, пока я понял это...

person jaysquared.com    schedule 01.08.2012

Это похоже на волшебство, но полный сброс решил все мои проблемы.

person Ruzard    schedule 11.05.2012
comment
То же самое: я смог протестировать расходные материалы и подписку, но не смог сбросить все с помощью App Tester, чтобы начать с нуля. Принудительно закрыть + очистить данные -> исправить! - person Tobliug; 28.10.2015

Обязательно нажмите кнопку отключения после подключения USB-кабеля к компьютеру, иначе тестер SDK не сможет прочитать JSON-файл, который вы переместили, поскольку в этот момент устройство подключено. Выяснил это трудным путем.

person Ryan Routon    schedule 29.05.2012
comment
У меня тоже были проблемы с этим, если я правильно помню, я переместил файл JSON, принудительно закрыл тестер SDK, снова открыл его, а затем протестировал свое приложение. Насколько я помню, это выглядело немного шатко. - person Ryan Routon; 31.05.2012

Я столкнулся с проблемой, что так же, как и у вас, ключ: в вашем коде Java ваш идентификатор элемента должен совпадать с вашим SKU в файле json, в этом случае он должен быть: com.amazon.buttonclicker.ten_clicks или com.amazon.buttonclicker.blue_button Вот пример файла json для примера проекта SampleIAPConsumablesApp и SampleIAPEntitlementsApp, предоставленного Amazon:

{
"com.amazon.sample.iap.consumable.orange" : {

    "itemType": "CONSUMABLE",

    "price": 0.99,

    "title": "More Clicks!",

    "description": "Click your button ten more times!",

    "smallIconUrl": "http://some/image.jpg"

  },

  "com.amazon.sample.iap.entitlement.level2" : {

    "itemType": "ENTITLED",

    "price": 0.99,

    "title": "Blue Button",

    "description": "Button Clicker - Now in Blue!",

    "smallIconUrl": "http://some/image.jpg"

  }
}  

Удачи!

person Justin    schedule 20.12.2013