Проблемы с покупками в приложении с Cordova на Android - PullRequest
0 голосов
/ 04 марта 2020

У меня проблемы с плагином cordova-plugin-inapppurchase на Android. Я успешно использовал этот плагин для iOS, но с более старой версией Cordova (6.5.0), и он работает и работает нормально.

Версия моего приложения Android использует все текущие версии Cordova (9.0.0 Cordova и 8.1.0 Android). Я не могу установить тот же плагин cordova-plugin-inapppurchase (сообщение об ошибке: «Не удается установить из« plugins / cordova-plugin-inapppurchase », так как он не содержит пакета. json file."), Поэтому вместо этого я используя cordova-plugin-inapppurchase-fixed. Не ясно, в чем разница, отличная от исправленной версии, намного новее. Это устанавливает.

Но я застрял большое время. Я вижу встроенный тестовый продукт Android, но не вижу свой продукт. Вот длинная версия того, что я сделал. Вы можете перейти к нижней части, если вы просто хотите увидеть код javascript, который я использую для вызова плагина. (Мое приложение уже есть в магазине Play, но без покупки приложения.)

  • в Google Play, определен аккаунт продавца, добавлен банковский счет, активирован
  • загружена сборка для внутреннего тестирования трек с разрешением BILLING и выпустил
  • настроить список авторизованных пользователей в Google Play и добавил себя
  • захватил лицензионный ключ
  • вставил ключ в манифест. json в моем www directory формы {"play_store_key": "фактический лицензионный ключ"}
  • определил inapppurchase как подписку с идентификатором "product1" и сделал ее активной

Для установки на моем телефоне:

  • создал новую сборку для выпуска
  • jarsigned и zipalign и использовал adb на моем телефоне
  • вошел в Google на телефоне с той же учетной записью, как указано в Google Play
  • при попытке getProducts со встроенным тестовым продуктом "android .test.purchased", и это работает
  • при попытке getProducts с com.mydomain.myapp.product1 -> возвращает 0 продуктов

Вот мой код:

 var productId = 'com.mydomain.myappname.product1';
     //productId = 'android.test.purchased';
  window.alert("starting " + productId);
  inAppPurchase
      .getProducts([productId])
      .then(function (products) {

          window.alert("back with products");
          window.alert("number products " + products.length);
          window.alert("first product " + products[0].title);
      });

Тестовый продукт android успешно возвращает 1 продукт. Мой productId возвращает 0 товаров. Я подтвердил правильность ввода заглавных букв на моем продукте.

Любая помощь будет принята с благодарностью!

Спасибо!

  • Джон
...