我在線上關注了一個示例教程,用於將應用內購買集成到我的應用中。這一切都很好地購買和解鎖額外的內容。但是,爲確認購買而發佈的通知可能需要4-9秒才能顯示。這不會提供非常一致的用戶體驗,並且會使應用顯得很慢。商店套件應用內購買通知緩慢
有沒有其他人有這個相同的問題或知道它的修復?
我在線上關注了一個示例教程,用於將應用內購買集成到我的應用中。這一切都很好地購買和解鎖額外的內容。但是,爲確認購買而發佈的通知可能需要4-9秒才能顯示。這不會提供非常一致的用戶體驗,並且會使應用顯得很慢。商店套件應用內購買通知緩慢
有沒有其他人有這個相同的問題或知道它的修復?
的時間和不一致的長的長度可能是源自以下:
當用戶進行購買的網絡消息將被髮送到蘋果服務器 - 當消息到達蘋果服務器它將the length of time this will take will be inconsistent depending on the distance from the server, the amount of nodes the message passes through and the quality of the connections you are using.
需要處理併產生一個響應 - 根據當前影響服務器的負載,這段時間的長度將不一致。
然後將通過網絡發回確認消息 - 與傳出消息相同的規則適用。
設備收到確認後會向用戶顯示警報。
除非您能夠更改郵件傳播的網絡,或者可以改善蘋果服務器響應時間,否則您將無法減少時間或不一致。
「解決方案」將顯示一個活動指示符,並向用戶解釋發生了什麼,如果您計劃這樣做,建議使用以下工具DSActivityView。它易於使用和快速連接,並在遇到類似問題時對我有用。
好的,所以使用活動指標似乎是一個很好的解決方案。有沒有什麼StoreKit可以回傳我的進度指示器可以用來停止動畫並在通知準備彈出時消失? – ThisDarkTao
http://developer.apple.com/library/mac/#documentation/StoreKit/Reference/SKPaymentQueue_Class/Reference/Reference.html 基本上你想用SKPaymentQueue註冊SKPaymentTransactionObserver。您將收到以下回撥 - (void)paymentQueue :(SKPaymentQueue *)隊列updatedTransactions:(NSArray *)交易。 其中將包含交易(您將需要確保交易transactionState屬性爲SKPaymentTransactionStatePurchased,因爲付款也可能失敗或被還原。 – RyanSullivan
http://developer.apple.com/library/mac/#documentation/NetworkingInternet/概念/ StoreKitGuide/Introduction/Introduction.html是一個非常好的指南,詳細介紹了你需要做的事情。請確保你閱讀了「向你的應用程序添加商店」部分 – RyanSullivan