IAP最佳實踐

2021-06-23 07:20:25 字數 1699 閱讀 6005

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提交,最好在日誌中記...