Flutter 颤振:如何设置非消耗品采购?
我想在我的应用程序中设置非消费品购买。我找到了很多关于消费品购买的教程,但不幸的是,我没有找到任何关于非消费品的文章 我尝试使用in_app_购买软件包,但不起作用Flutter 颤振:如何设置非消耗品采购?,flutter,google-play,app-store,payment-processing,Flutter,Google Play,App Store,Payment Processing,我想在我的应用程序中设置非消费品购买。我找到了很多关于消费品购买的教程,但不幸的是,我没有找到任何关于非消费品的文章 我尝试使用in_app_购买软件包,但不起作用 final String testIdAdvanced = 'advanced_training'; InAppPurchaseConnection _iap = InAppPurchaseConnection.instance; bool _available = true; List<ProductDetails&
final String testIdAdvanced = 'advanced_training';
InAppPurchaseConnection _iap = InAppPurchaseConnection.instance;
bool _available = true;
List<ProductDetails> advancedProducts = [];
List<ProductDetails> advancedPurchases = [];
StreamSubscription _subscription;
void _initialize() async {
_available = await _iap.isAvailable();
if (_available) {
await _getProducts();
await _getPastPurchases();
}
}
Future<void> _getProducts() async {
Set<String> ids = Set.from([testIdAdvanced, 'test_a']);
ProductDetailsResponse response = await _iap.queryProductDetails(ids);
setState(() {
advancedProducts = response.productDetails;
});
}
// Gets previous purchases
Future<void> _getPastPurchases() async {
QueryPurchaseDetailsResponse response =
await _iap.queryPastPurchases();
for (PurchaseDetails purchase in response.pastPurchases) {
if (Platform.isIOS) {
InAppPurchaseConnection.instance.completePurchase(purchase);
}
}
setState(() {
advancedPurchases = response.pastPurchases.cast<ProductDetails>();
});
}
void _buyProduct(ProductDetails prod) {
final PurchaseParam purchaseParam = PurchaseParam(productDetails: prod);
_iap.buyNonConsumable(purchaseParam: purchaseParam);
}
final String testIdAdvanced='advanced_training';
InAppPurchaseConnection _iap=InAppPurchaseConnection.instance;
bool_available=true;
列出高级产品=[];
列出高级采购=[];
流动认购(流动认购);;
void\u initialize()异步{
_可用=等待_iap.isAvailable();
如果(_可用){
等待_getProducts();
等待_getPastPurchases();
}
}
Future\u getProducts()异步{
Set id=Set.from([testIdAdvanced,'test_a']);
ProductDetailsResponse-response=等待iap.queryProductDetails(ID);
设置状态(){
advancedProducts=response.productDetails;
});
}
//获取以前的购买
Future\u getPastPurchases()异步{
QueryPurchaseDetails响应=
等待_iap.queryPastPurchases();
for(响应中的PurchaseDetails购买。pastPurchases){
if(Platform.isIOS){
InAppPurchaseConnection.instance.completePurchase(采购);
}
}
设置状态(){
advancedPurchases=response.pastPurchases.cast();
});
}
void\u购买产品(产品详细信息产品){
最终PurchaseParam PurchaseParam=PurchaseParam(产品详细信息:产品);
_iap.BuyUnconsummable(purchaseParam:purchaseParam);
}
你说的“不工作”是什么意思?有错误信息吗?