iap最佳實踐
,最要描述了ios 和 os x 應用程式中的iap的最佳實踐。
以下是推薦給開發者的iap最佳實踐列表。
在應用啟動時新增乙個交易佇列觀察者
應用程式呼叫storekit把觀察者鏈結到payment queue。
[[skpaymentqueue defaultqueue] addtransactionobserver:your_observer];
列表 1.不遵循實現交易觀察者最佳實踐:當使用者嘗試購買產品時,應用為 payment queue 新增觀察者:
@implementation detailviewcontroller
....
// called when a customer attempts to purchase a product
- (ibaction)purchase:(id)sender
....
@end
列表 2.遵循註冊交易觀察者的最佳實踐
- (void
....
@end
同樣,如果沒有從 payment queue 移除觀察者,storekit 將會試圖通知上述觀察者,從而導致應用崩潰,好像觀察者已經不復存在了。
- (ibaction)purchase:(id)sender
- (void)productsrequest:(skproductsrequest *)request didreceiveresponse:(skproductsresponse *)response }
列表 4. 遵循iap產品展示最佳實踐
-(void)fetchproductinformationforids:(nsarray *)productids
- (void)productsrequest:(skproductsrequest *)request didreceiveresponse:(skproductsresponse *)response }
為restoring products提供乙個ui
獲得更多資訊。
處理交易
呼叫 storekit 為 payment queue 新增支付請求:
[[skpaymentqueue defaultqueue] addpayment:your_payment];
佇列建立交易物件來處理這個請求。當交易狀態改變時,storekit通過呼叫 paymentqueue: updatedtransactions: 來通知你的觀察者。
列出了每個交易可能存在的4種交易狀態。要確保觀察者的 paymentqueue: updatedtransactions: 可以在任何時間響應這些狀態。如果iap產品是由蘋果託管的,那麼需在在觀察者上實現 paymentqueue:updateddownloads: 方法。
提供付費內容
獲得更多資訊。
完成交付
交易將會儲存在支付佇列中直到它們被移除。每次啟動應用或者從後台恢復時,storekit將會呼叫觀察者的 paymentqueue: updatedtransactions: 直到它們被移除。大意是你的使用者可能反覆請求驗證它們的購買,或者被阻止購買你的產品。
獲得更多資訊。
測試iap的實現
檢視各種疑難解答。
參考:
最佳實踐 Flutter 最佳實踐
最佳實踐是乙個領域可以接受的專業標準,對於任何程式語言來說,提高 質量 可讀性 可維護性和健壯性都非常重要。讓我們探索一些設計和開發flutter應用程式的最佳實踐。class enum typedef和extension應採用駝峰命名uppercamelcase規則。class mainscree...
JUnit最佳實踐
junit最佳實踐 cherami 轉貼 參與分 20053,專家分 4960 發表 2003 9 16 下午7 57 版本 1.0 閱讀 3899次 martin fowler說過 當你試圖列印輸出一些資訊或除錯乙個表示式時,寫一些測試 來替代那些傳統的方法。一開始,你會發現你總是要建立一些新的f...
SVN最佳實踐
楊爭 subversion是新一代的版本控制工具,由於其優於cvs的一些特點,得到了越來越多人的關注和使用,本人根據自己使用svn的經驗,寫了這篇文章,希望對大家有所幫助,其中有些實踐並不是僅僅適用於svn,對其他版本控制工具也是適用的。1 養成良好的記錄日誌的習慣.svn ci提交,最好在日誌中記...