Nokia X IAP не работает на реальном устройстве

Я уже внедрил Nokia IAP с помощью эмулятора, и он работал нормально. Я мог восстановить, получить подробную информацию о продукте и нормально обновить. Но похоже, что это не работает на реальном устройстве. Пробовал код с помощью RDA, а также реального устройства Nokia X. Мой продукт в приложении имеет статус Опубликовано. Вот что происходит:

  • Когда я использую getProductDetails(), я получаю пакет размера 1 (возможно, включающий только ERROR_CODE) и код ошибки 6. Это происходит как с моим идентификатором продукта, так и с идентификатором теста 1023608. Но с помощью эмулятора я успешно получаю информацию о своем продукте.

  • getPurchases() у меня нормально работает на устройстве.

  • getBuyIntent() также хорош на реальном устройстве, но я не могу его купить, потому что мой оператор не имеет права на IAP, что не является проблемой.

Примечание. Я не использую метод setProductMappings() и использую псевдоним идентификатора продукта, который был установлен в Nokia Publish. Также я выполняю методы внутри AsyncTask. Может ли кто-нибудь помочь мне, почему getProductDetails() не работает на реальном устройстве? Спасибо.


person Ahmadul Hoq    schedule 19.05.2014    source источник


Ответы (1)


Что возвращает следующий метод?

int response = mService.isBillingSupported(3, getPackageName(), ITEM_TYPE_INAPP);

Если он возвращает код ошибки, вам не следует пытаться вызывать другие методы API. Вам следует попробовать SIM-карту того оператора, который поддерживается.

person jtjk    schedule 21.05.2014
comment
Он возвращает 0. Это означает, что биллинг поддерживается, верно? Забавно то, что моя логика также не работает для Nokia, и мой тест QA не работает по этой причине. - person Ahmadul Hoq; 21.05.2014
comment
Если вы попробуете образец перечной фермы и измените productid на свой собственный, это должно сработать. Если нет, то что-то еще не так. - person jtjk; 22.05.2014
comment
Извините за поздний ответ. После обновления SDK для выставления счетов я могу успешно восстановить/купить/получить данные, используя тестовые идентификаторы. Но если я использую свой текстовый идентификатор продукта для восстановления/получения сведений, он возвращает код ошибки 6. При попытке совершить покупку появляется сообщение об ошибке Неверный идентификатор продукта. И если я использую числовой идентификатор продукта для получения подробной информации, я получаю пакет, похожий на {"isvalid":false,"productId":"*******"}. Но если я попытаюсь совершить покупку, используя числовой идентификатор, я перейду к оформлению заказа, показав название товара, цену и вариант покупки. Это происходит как на эмуляторе, так и на удаленном устройстве. Есть идеи? Спасибо. - person Ahmadul Hoq; 28.05.2014