這幾天在開發(fā)unity游戲的時(shí)候想接入ios的內(nèi)購系統(tǒng)贺氓,所以網(wǎng)上查了一些有關(guān)的資料和教程蹲缠。里面的東西比較全面仗扬,但也有一些已經(jīng)比較老了。所以在實(shí)際開發(fā)的時(shí)候還是踩了一些坑育勺。所以在這里分享一下自己的經(jīng)驗(yàn)光羞,讓像我一樣的Unity新人少走彎路。
先介紹一下自己的開發(fā)環(huán)境和接入ios內(nèi)購項(xiàng)目前的準(zhǔn)備工作怀大。我用的Unity版本是Unity 2017.1.1f1個(gè)人版,這個(gè)版本也是到目前為止(2017年9月)最新的版本呀闻。使用的是unity5.5之后自帶的跨平臺(tái)內(nèi)購插件(In-App Purchasing)化借。想要接入ios內(nèi)購項(xiàng)目就必須購買蘋果的開發(fā)者項(xiàng)目,價(jià)格為99美元一年捡多。至此蓖康,我們的準(zhǔn)備工作就算完成了。
接下來垒手,就要在apple網(wǎng)站上面配置我們的App蒜焊。打開并登陸Itunes Connect。
在創(chuàng)建App之前請(qǐng)把協(xié)議科贬、稅務(wù)和銀行業(yè)務(wù)填寫完畢泳梆。這個(gè)很重要,以后你的app賺錢了榜掌,你就必須要履行相關(guān)的義務(wù)优妙。不過這篇文章不做介紹,需要了解的可以去百度憎账。在這里我提供一篇介紹如何填寫的文章:協(xié)議套硼、稅務(wù)和銀行業(yè)務(wù)。
如果你完成了稅務(wù)的填寫胞皱,那么請(qǐng)點(diǎn)擊我的App邪意。
下面白色部分是已經(jīng)創(chuàng)建的APP九妈。如果你是第一次開發(fā)ios項(xiàng)目的話請(qǐng)點(diǎn)上圖左上角的“+”按鈕。
如果你之前都沒有開發(fā)過App或者你從來沒有把Unity導(dǎo)入進(jìn)Xcode的話雾鬼,就會(huì)出現(xiàn)上面的對(duì)話框萌朱。什么是套裝ID,其實(shí)就是Bundle ID呆贿。
這個(gè)就是Bundle ID嚷兔,一個(gè)App對(duì)應(yīng)一個(gè)Bundle ID。所以如果你跳出這個(gè)對(duì)話框就說明目前你已經(jīng)沒有可用的Bundle ID了做入,所以要注冊一個(gè)冒晰。說到這里坑的地方就要來了,馬上我會(huì)向大家展示竟块。不過在這里不管你有沒有跳出這個(gè)對(duì)話框壶运,你都重新去注冊一個(gè)新的。點(diǎn)擊“請(qǐng)?jiān)诖俗砸粋€(gè)”按鈕浪秘。如果你之前就有一個(gè)Bundle ID的話蒋情,請(qǐng)進(jìn)入注冊Bundle ID。
點(diǎn)擊上圖紅色方塊鏈接
上面紅色方塊里的就是你所擁有的Bundle ID耸携,一般情況只要你曾經(jīng)把unity導(dǎo)入到xcode里面都會(huì)有一個(gè)Bundle ID棵癣。不過坑就在這里,請(qǐng)點(diǎn)擊你的這個(gè)Bundle ID夺衍。
你會(huì)發(fā)現(xiàn)所有功能除了GameCenter以外都是關(guān)著的包活內(nèi)購功能狈谊,并且不能修改,至少我目前為止還不知道怎么改沟沙。這就比較坑了河劝,我沒發(fā)現(xiàn)這個(gè)坑之前不管怎么試都沒有成功。所以在這里我們就要新建一個(gè)Bundle ID矛紫∈晗梗回到之前的頁面,點(diǎn)擊右上角的“+”按鈕颊咬。
在Name這一欄就填上你app的名字就可以了务甥。
Bundle ID就請(qǐng)按照下面的書寫格式填寫com.你或你的團(tuán)隊(duì)的域名.app的名字。
上面就是在你這個(gè)id中可以提供的服務(wù)喳篇,我們發(fā)現(xiàn)內(nèi)購功能已經(jīng)被默認(rèn)勾選了缓呛。如果你不需要其他功能的話就點(diǎn)擊下面的“continue”按鈕。這樣我們的Bundle ID就創(chuàng)建好了杭隙,可以把頁面關(guān)閉了哟绊。回到之前的Itunes Connect,點(diǎn)擊新建App票髓,這時(shí)候你剛剛注冊的ID就顯示在一個(gè)下拉框中攀涵,選擇這個(gè)ID。
點(diǎn)擊“功能”按鈕
這里我們就可以看見app里所有的內(nèi)購項(xiàng)目了洽沟,如果你沒有創(chuàng)建過內(nèi)購項(xiàng)目以故,下面是空的。點(diǎn)擊圖中的“+”按鈕裆操。
這里對(duì)內(nèi)購項(xiàng)目分為四個(gè)類型怒详,每個(gè)類型下面都有明確的解釋,你需要根據(jù)自己app的實(shí)際情況來選擇消費(fèi)類型踪区。我在這里就選擇“非消耗類型”來講解昆烁。點(diǎn)擊“費(fèi)消耗類型”,并創(chuàng)建缎岗。
參考名稱就填實(shí)際的內(nèi)購名稱静尼,比如說是出售某個(gè)皮膚,就填XXX皮膚传泊。產(chǎn)品ID這個(gè)要注意了鼠渺,一會(huì)要用的Unity中,請(qǐng)謹(jǐn)慎填寫眷细。一般的格式就是你的Bundle ID+內(nèi)購項(xiàng)目名稱拦盹。比如com.TeamName.AppName.Skin。下面是定價(jià)溪椎,按照實(shí)際需求設(shè)定普舆。內(nèi)容托管現(xiàn)在我還沒搞清楚,以后會(huì)去了解下池磁,再來補(bǔ)充,這里是不用去管它楷兽。
本地化版本地熄,一般情況填都是簡體中文,如果打算在別的國家上架并使用當(dāng)?shù)氐恼Z言就點(diǎn)擊“+”按鈕添加新的語言芯杀。顯示名稱和描述都是按照實(shí)際情況來填寫端考。App Store推廣暫時(shí)不用管,如果你的項(xiàng)目有需求也可以進(jìn)行設(shè)置揭厚。
接下來就是審核信息了却特,一般情況就是把你的購買這個(gè)項(xiàng)目的UI截圖并上傳,然后在旁邊的審核備注里填寫具體的購買信息和購買后的作用筛圆。
到這里一個(gè)內(nèi)購項(xiàng)目就已經(jīng)完成了裂明,如果上面的信息沒有填寫完整的話,這個(gè)內(nèi)購項(xiàng)目的狀態(tài)會(huì)變成“缺少元文件”太援。這里順便提一句闽晦,之前我讓大家看的第一個(gè)Bundle ID扳碍,如果使用這個(gè)Bundle ID,里面的內(nèi)購功能沒有打開的話仙蛉,你所創(chuàng)建的所有內(nèi)購項(xiàng)目的狀態(tài)都是“正在等待上傳”笋敞。就是這個(gè)坑讓我卡了大半天。所以新人在這里就需要注意了荠瘪。當(dāng)你的內(nèi)購項(xiàng)目成功創(chuàng)建以后夯巷,狀態(tài)應(yīng)該是“準(zhǔn)備提交”。
好了哀墓,如果在測試階段的話趁餐,我們還需要一個(gè)沙箱測試賬號(hào),用這個(gè)賬號(hào)可以測試內(nèi)購項(xiàng)目而不用自己的錢麸祷∨炫回到Itunes connect主頁。點(diǎn)擊“用戶和職能”按鈕阶牍。
再點(diǎn)擊“沙箱測試技術(shù)員”按鈕
然后在用戶旁邊點(diǎn)擊“+”按鈕喷面,完成所有填寫,可以隨便填走孽,記住郵箱和密碼就行惧辈。至此,itunes connect上面所有的操作就算完成了磕瓷。接下來就要到Unity里面進(jìn)行操作了盒齿。
打開Unity,進(jìn)入你的項(xiàng)目困食,在最右邊的面板中選中Services边翁,并打開下面的In-App Purchasing。
然后根據(jù)提示把內(nèi)購插件導(dǎo)入進(jìn)你的項(xiàng)目中硕盹,這個(gè)插件就在你項(xiàng)目的Plugins文件夾下面符匾。這個(gè)插件可以用簡單的控件進(jìn)行操作,也可以用腳本來操作瘩例。這里我就不用代碼了啊胶,因?yàn)檫@類代碼網(wǎng)上也很多,需要的可以自己去找下垛贤。
這里我就介紹下如何使用掛載控件的方法焰坪,簡單易懂。
首先選中需要內(nèi)購的Button聘惦,在這個(gè)Button中添加IAP Button的組件某饰。
上面這個(gè)面板就是添加內(nèi)購組件的面板。此時(shí)這個(gè)里面是空的,需要添加內(nèi)購項(xiàng)目露乏。點(diǎn)擊“IAP Catalog”按鈕碧浊。點(diǎn)擊“Add Product”按鈕。
注意這里的ID就是之前的產(chǎn)品ID瘟仿。下圖右邊的產(chǎn)品ID箱锐。
Type就是之前選擇內(nèi)購項(xiàng)目的四個(gè)類型之一,是什么就選什么劳较。Locale填Chinese驹止,Title就選內(nèi)購項(xiàng)目名稱。創(chuàng)建完之后回到Inspector面板观蜗,這時(shí)候點(diǎn)擊Product ID下拉菜單臊恋,就會(huì)顯示你剛創(chuàng)建的內(nèi)購項(xiàng)目。選完它之后墓捻,就可以添加購買成功和失敗的方法了抖仅。就像普通按鈕那樣就行了。之后就可以到入到Xcode中了砖第。不過這之前一定要注意在PlayerSetting里的Bundle Identifier一定要和在Itunes Connect中創(chuàng)建的要一模一樣撤卢。導(dǎo)入到Xcode后,打開Capabilities中的In-App Purchasing梧兼。
為了使用沙箱賬號(hào)進(jìn)行測試放吩,我們必須把原來自己真機(jī)上的賬號(hào)注銷掉。點(diǎn)擊app store把頁面滑到最下面羽杰,這時(shí)可以看見自己的郵箱賬戶渡紫。點(diǎn)擊你的郵箱,再點(diǎn)注銷考赛。此時(shí)你的賬號(hào)就被注銷掉了惕澎。
在這里,你不需要登入沙箱賬號(hào)颜骤,因?yàn)橐粫?huì)點(diǎn)擊app中內(nèi)購按鈕的時(shí)候才會(huì)被要求登入唧喉。此時(shí)就算你登入了要會(huì)被告知失敗。準(zhǔn)備好以后复哆,就從Xcode中打開你的app項(xiàng)目欣喧,并點(diǎn)擊你剛剛設(shè)置好的內(nèi)購按鈕腌零。下面是我項(xiàng)目的演示梯找。
可以看到,測試已經(jīng)成功了益涧。但要注意一點(diǎn)锈锤,Environment sandbox,這個(gè)意思是你正在使用沙箱測試賬號(hào)購買這個(gè)內(nèi)購商品,如果沒有出現(xiàn)久免,請(qǐng)不要點(diǎn)擊購買進(jìn)行測試浅辙,重新檢查自己的ios賬號(hào)有沒有注銷掉,不然會(huì)扣除里面真的貨幣阎姥。
好了记舆,到這里,所有的步驟都已經(jīng)完成了呼巴。如果想要在真正上線的app中使用泽腮,還需要和app一起提交進(jìn)行審核。
我自己也是一名unity初學(xué)者衣赶,如果不嫌棄诊赊,我們可以一起交流,你有什么問題也可以來問我府瞄。