????一般來說,iOS的內(nèi)購是相當(dāng)?shù)淖屓说疤鄣?,既要明目張膽的收你的錢,還給你提供垃圾的服務(wù),就是要惡心你,讓你一遍咒罵還要一邊想辦法解決問題。
? ? 接下來就簡單的來分析一下,我所遇到的內(nèi)購的坑。
iOS的內(nèi)購大致上分為兩種:1,內(nèi)置模式流程

2 服務(wù)器模式流程

(兩種模塊的區(qū)別,請自行百度)本人這里和后臺對接以后,采用的是第二種模式。第一個版本上線以后,基本沒有什么問題,可是到后來就慢慢的出現(xiàn),用戶明明就付款成功了,但是我們的后臺服務(wù)器沒有改變對應(yīng)的余額給用戶。這就導(dǎo)致被投訴。沒有辦法,就只有自己加條件,減少這種情況的出現(xiàn)。具體做法,見代碼。
第一步:

第二步:

第三步:

第四步:

第五步:將后臺給的校驗接口,進行二次調(diào)用。第一次調(diào)用,讓后臺將教育憑證上傳到服務(wù)器保存起來。

第六步:第二次調(diào)用的時候,對交易憑證進行對比,如果憑證一樣,那么就移除憑證。如果不一樣或者服務(wù)器請求超時,那么這個憑證就會被保留下來。當(dāng)再次調(diào)起APP的時候,內(nèi)購的漏單校驗代理會再次去檢測本地是否還有未完成的訂單,如果有那么就執(zhí)行,這樣用戶對于的余額就對了。

最后在推薦一個比較機械化的辦法,就是對內(nèi)購流程進行埋點處理。用用戶名和訂單號加時間戳的辦法去記錄每一筆訂單,如果出現(xiàn)了漏單的情況,這個日志記錄就可以去查詢用戶是否付款成功,但是可用余額又沒有到賬的情況。查詢以后,叫后臺去人為的修改數(shù)據(jù)即可。
根據(jù)本人的經(jīng)驗,特別是晚上的時候,進行內(nèi)購充值的時候,常常會發(fā)生服務(wù)器異常半天充不成功的情況。所有雙保險吧,兩種方法都用上。
打字配圖不易,求關(guān)注,求喜歡。