2013-10-08 140 views
0

有沒有辦法知道用戶何時使用StoreKit框架更改了商店?StoreKit更改商店通知?

這是因爲如果我已經拉入產品清單並且用戶更改了商店,那麼我可以刷新新商店的區域設置的價格。

回答

1

我發現了一個解決方案,這是一個'技巧',不像明確的「商店沒有改變通知」那麼明顯。

您可以收聽到每一筆交易的錯誤 - 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版本。