Flutter方法获取iOS的购买历史记录

x759pob2  于 2023-02-25  发布在  Flutter
关注(0)|答案(1)|浏览(611)

我目前正在使用in_app_purchase: ^3.0.8包在flutter中编写的android应用程序中处理用户订阅逻辑。

final InAppPurchaseAndroidPlatformAddition androidAddition = InAppPurchase.instance .getPlatformAddition<InAppPurchaseAndroidPlatformAddition>(); 
final QueryPurchaseDetailsResponse oldpurchases = await androidAddition.queryPastPurchases();

上面的代码获取了用户购买的所有物品,包括非消耗品。但是我没有找到iOS的类似方法。我怎样才能为iOS做同样的事情呢?我找到了这个链接,但是问题仍然没有解决-https://github.com/flutter/flutter/issues/109523

7cwmlq89

7cwmlq891#

正在获取过去的iOS购买。
我目前在flutter中使用package in_app_purchase处理我的安卓应用程序中的用户订阅逻辑:^3.0.8年。
最终的InAppPurchaseandroid平台添加android添加= InAppPurchase.instance.getPlatformAddition();最终查询购买详细信息响应旧购买=等待android添加.查询过去购买();上面的代码获取了用户购买的所有物品,包括非消耗品。但是我没有找到适用于iOS的类似方法。我怎样才能在iOS上做同样的事情呢?我找到了这个链接,但是问题仍然没有解决-https://github.com/flutter/flutter/issues/109523
对于iOS,您可以使用InAppPurchase插件提供的appStore属性来获取iOS的特定于平台的附加内容。然后,您可以使用StoreKit框架中的SKPaymentQueue类来获取用户过去的购买记录。以下是一个示例:

**

import 'package:in_app_purchase/in_app_purchase.dart';
final InAppPurchasePlugin purchasePlugin = InAppPurchasePlugin();
final AppStoreConnection appStoreConnection = AppStoreConnection.instance;
await purchasePlugin.connect();
final QueryPurchaseDetailsResponse response = await appStoreConnection.queryPastPurchases();
final List<PurchaseDetails> purchases = response.pastPurchases;
    • 确保您已将StoreKit框架添加到iOS项目中,并在Apple开发者门户中设置必要的证书、授权和协议,以便正确执行应用内购买。

另外,请注意InAppPurchase插件中的queryPastPurchases方法是一个异步方法,您需要等待它的响应,然后才能访问购买项。
我希望这能帮助您使用Flutter中的in_app_purchase包获取iOS过去的购买信息。

相关问题