有没有办法知道用户何时使用 StoreKit 框架更改了商店?
这是因为如果我已经提取了产品列表并且用户更改了商店,那么我可以刷新新商店区域设置的价格。
有没有办法知道用户何时使用 StoreKit 框架更改了商店?
这是因为如果我已经提取了产品列表并且用户更改了商店,那么我可以刷新新商店区域设置的价格。
我找到了一个解决方案,有点“技巧”,不像明确的“商店确实更改通知”那么明显。
您可以在 - paymentQueue:updatedTransactions 中收听每笔交易的错误:
- (void)paymentQueue:(SKPaymentQueue *)queue updatedTransactions:(NSArray *)transactions
{
for(SKPaymentTransaction* transaction in transactions)
{
NSError* transactionError = transaction.error;
if(transactionError != nil && transactionError.code == SKErrorUnknown)
{
NSLog(@"User potentially switched stores");
[self refreshAllProductInfo];
}
}
}
这可能会在其他错误期间触发,但到目前为止我只看到它在您更改商店时触发。
这样,当用户看到例如 $USD 价格然后使用 $GBP 帐户登录时,价格将刷新为他们的 GBP 版本。