關(guān)于協(xié)議稅法請(qǐng)參照這里,非常詳細(xì)了,而且一個(gè)開發(fā)者賬號(hào)只需要設(shè)置一次就可以.
OC原生內(nèi)購(gòu)參考這里,
在iTunesConnect上創(chuàng)建內(nèi)購(gòu)項(xiàng)目如下,

第一步

第二步
更詳細(xì)的也可以參考一下這里,第一次提交內(nèi)購(gòu)項(xiàng)目時(shí)需要同App新版本一起提交給蘋果進(jìn)行審核,后續(xù)如果只更新內(nèi)購(gòu)項(xiàng)目信息,則不需要提交新版本,只需在更改內(nèi)購(gòu)項(xiàng)目后存儲(chǔ)等待審核即可.
Unity中對(duì)iOS內(nèi)購(gòu)的操作,在這之前要現(xiàn)在iTunesConnect中添加內(nèi)購(gòu)項(xiàng)目.
文件目錄:
(1)Plugins/iOS/IAPManager.h IAPManager.m 以及IAPInterface.h IAPInterface.m文件,作用為Unity3D和OC通信的文件,是用C++和OC寫的.Unity是通過調(diào)用IAPManager.m里面的OC方法進(jìn)行內(nèi)購(gòu)操作的.
(2)Assets里面搜索IAP,其中IAPanel.prefab是商城的預(yù)制體,IAPanel.cs是綁定在預(yù)制體上的腳本. IAPManager.cs是掛載在GameManager上用來和OC通信,以及商城內(nèi)購(gòu)項(xiàng)目的具體點(diǎn)擊事件處理.
- IAPInit方法是加內(nèi)購(gòu)監(jiān)聽,游戲一開始就開始監(jiān)聽.(監(jiān)聽全局存在,隨著游戲結(jié)束自動(dòng)銷毀).
- Btn30OnClick是點(diǎn)擊事件,RequstProductInfo("productID",uid)是調(diào)用OC原生的方法請(qǐng)求產(chǎn)品數(shù)據(jù),然后在回調(diào)中進(jìn)行內(nèi)購(gòu).其中具體的OC內(nèi)購(gòu)原理請(qǐng)參照這里與IAPManager.m配合理解.
- 內(nèi)購(gòu)成功后,方法ProvideContent會(huì)接收OC傳過來的內(nèi)購(gòu)收據(jù)(receipt),然后將收據(jù)和用戶uid傳給服務(wù)端,讓服務(wù)端進(jìn)行驗(yàn)證,服務(wù)端驗(yàn)證后更新用戶信息中的鉆數(shù).客戶端重新獲取用戶數(shù)據(jù),刷新UI上的鉆數(shù),銷毀商城Panel.