我正在使用 Flutter 和
in_app_purchase
包来管理我的 IAP。我遇到的问题是为不同地区的用户提供不同的价格。例如,在美国 0.99 美元的东西,我想在印度赚 50 印度卢比。
这是我用来显示 AppStore 中的产品及其价格的 API。我的地区目前在模拟器中设置为印度,但价格仍然以美元显示,尽管我在 App Store connect 中专门为印度设置了单独的印度卢比价格。
final ProductDetailsResponse response = await _iap.queryProductDetails(ids);
for (var product in response.productDetails) {
print('Product: ${product.title}, Price: ${product.price}');
}`
我找到了答案。
您从API获得的价格不取决于手机所在的地区,而是取决于App Store的地区。因此,我按照此链接在印度创建了一个沙盒帐户:https://developer.apple.com/help/app-store-connect/test-in-app-purchases/create-sandbox-apple-ids。
当使用该沙盒帐户进行 TestFlight 时,会显示正确的价格。