Я не могу получить продукты для IOS с Flutter и плагином InAppPurchase - PullRequest
0 голосов
/ 04 июня 2019

Я использую плагин Flutter InAPP Purchase (https://github.com/dooboolab/flutter_inapp_purchase).

Я пытаюсь настроить побочные платежи ios, но после разных попыток не могу понять, в чем проблема.

Если я звоню FlutterInappPurchase.getProducts(skus), я получаю все данные из Apple Store относительно моих продуктов и могу правильно их отображать.

Если я пытаюсь купить их, я звоню FlutterInappPurchase.checkForAppStoreInitiatedProducts() для получения продуктов из Apple Store и после этого,если список не пустой, я пытаюсь вызвать buyProduct.

Но список всегда пуст.

Вот код, который я использую:

void checkForAppStoreInitiatedProducts(IAPItem item) async {
    List<IAPItem> appStoreProducts = await FlutterInappPurchase.getAppStoreInitiatedProducts(); // Get list of products
    debugPrint("getAppStoreInitiatedProducts "+appStoreProducts.toString());
    if (appStoreProducts.length > 0) {
      buyProduct(item);
    }
  }

  Future buyProduct(IAPItem item) async {
    if (_isIOS) {
      try {
        PurchasedItem purchasedItem =
        await FlutterInappPurchase.buyProduct(item.productId);
        debugPrint("(iOS) BuyProduct ${purchasedItem.toString()}");

      } catch (e) {
        debugPrint("(iOS) BuyProduct Error $e");
        await FlutterInappPurchase.onAdditionalSuccessPurchaseIOS.listen((data) {
          PurchasedItem purchasedItem = data;

          debugPrint("(iOS) BuyProduct ${purchasedItem.purchaseToken.toString()}");
        });
      }
    }else {
      try {
        PurchasedItem purchasedItem =
        await FlutterInappPurchase.buyProduct(item.productId);

        debugPrint("(Android) BuyProduct ${purchasedItem.purchaseToken.toString()}");
      } catch (e) {
        debugPrint("(Android) BuyProduct Error $e");
      }
    }
  }

Я выполняю все эти шаги, предложенные в хранилище:

> Invalid productId in ios. Please try below and make sure you've done
> belows. Steps Completed an effective "Agreements, Tax, and Banking."
> Setup sandbox testing account in "Users and Roles." Signed into iOS
> device with sandbox account. Set up three In-App Purchases with the
> following status: i. Ready to Submit ii. Missing Metadata iii. Waiting
> for Review Enable "In-App Purchase" in Xcode "Capabilities" and in
> Apple Developer -> "App ID" setting. Delete app / Restart device /
> Quit "store" related processes in Activity Monitor / Xcode Development
> Provisioning Profile -> Clean -> Build.
Добро пожаловать на сайт PullRequest, где вы можете задавать вопросы и получать ответы от других членов сообщества.
...