Unity接入谷歌支付


文章理由

前段時間負責Unity接入Google內購功能,一開始研究別人的技術博客時發現,他們的文章都有些年頭了,有些細節的地方已經不像n年前那樣了,技術永遠是需要更新的,而這篇就作為2016年末的最后一篇接入谷歌內購文章寫給需要的人

准備工作

1.將自己的谷歌賬號,支付25美元,成為谷歌開發者賬號,開發者信息隨意填寫(有的博客寫着必須填寫美國,其實我就填寫的中國)
2.一台安裝有谷歌四件套的安卓手機以及VPN
3.一個用於測試的Unity小demo,只需要做好支付按鈕就好了

谷歌開發者后台的設置

1.先創建一個新應用
2.以下是發布應用前必填的信息(填寫完整所有帶*號的選項,左上角四處灰色對勾全部變為綠色才能夠發布),附上需要填寫信息的全部截圖
3.應用內商品填寫
與其他的博客不同,到了我寫博客這個時期,只剩下受“管理的商品”和“訂閱”這兩種(取消了不受管理的商品),“受管理的商品“是谷歌幫你記錄購買狀態,例如一次性花錢購買所有開放關卡,玩家如果重裝游戲,還能不再次花錢找回原來購買的這些關卡。可是有人會問,如果取消了“不受管理的商品”,那我游戲中可以無限購買的禮包以及金幣鑽石禮包怎么辦,別急,后面的代碼中會提到這個。
創建完畢之后的界面

Unity方面

因為支付的代碼需要去安卓中寫,所以在這里將Unity項目打包成為安卓項目,然后進行二次開發。首先是安卓和Unity的通信,如果不會的話可以去看看雨松的博客。下圖buykey這個參數,是之前創建應用內商品得到的ID--(jb_1)和(lb_1),這個參數需要傳到安卓中做處理。
下圖message這個參數是安卓傳回來的消息,如有需要,可以在Unity中做后續處理
接下來需要將Unity項目打包為安卓項目,先填寫好相應的包名和簽名以及固定必須修改的部分后開始打包為安卓項目

在Android中加入支付代碼

我使用的是Eclpise進行的二次開發,你要是使用AndroidStudio也沒有問題,代碼的思路都是差不多的,配置的方式不同而已。首先在Eclipse中創建一個空項目(請注意圖片上的標注)
之后的一路Next就可以,接下來將剛才Unity導出的安卓工程里面的文件夾直接拖動到新建的工程下,並選擇全部覆蓋,我們的工程內容將被替換為Unity內容:
Android工程設置完成。接下來是最關鍵的接入谷歌內購了,首先我們需要在SDK Manager中下載內購sdk。這里面是他的官方demo,介紹了如何在安卓工程中接入內購。將截圖中需要的類放到我們的安卓項目,拖進來可能會報引入路徑錯,注意修改成符合你們自己工程的正常路徑
在AndroidMainfest文件中添加內購權限
接着我們在java代碼中寫入被Unity調用以及向Unity回傳消息的代碼
內購方面,必須要需要寫入base64 ras公共密鑰。在我們新創建的應用列表中找到“服務和API”,里面有公共密鑰
接下來的幾個函數是我們內購必須用到的
1.調用內購函數之后,執行“購買結果處理函數”,因為我們的商品是受管理商品,只允許購買一次,如果想再次購買,必須先進行消耗,只有消耗成功,谷歌才允許繼續購買。如果您有金幣或禮包等可無限購買商品,可以在每次購買成功之后立刻執行消耗函數即可。
2.此圖為購買成功之后,執行“消耗結果處理函數”,例如判斷用戶消耗成功,則執行相應的事件
3.下圖函數為程序初始化會自動調用的函數,可以將您希望執行消耗的商品列表添加到里面,如果是一次性購買商品,則不要添加到列表中
4.下圖函數必需添加到你的代碼中(仿照demo)

發布到谷歌

接下來將此安卓工程打包成apk,不會的自行搜索Eclipse如何打包為apk文件。打包好后,上傳到谷歌開發者控制台,我這里上傳的是Alpha版本並選擇了封閉式ALPHA 版測試,然后將需要測試的谷歌賬號添加到測試人員列表中,注意並不僅僅要在這里添加為測試人員,還要在設置中的許可測試選項中添加測試的谷歌賬號,必須兩處都加上
第一次上傳ALPHA版apk成功后,要耐心等待幾個小時,然后使用測試賬號進入下圖的網址,然后點擊確定成為測試人員,然后再次等待15分鍾-1小時后即可在谷歌商店中下載我們的測試應用去測試,當然此時您也可以使用之前的apk直接安裝到手機上測試

結語

接入所有的步驟都在這里了,還有一些坑點,后續會更新上的,如果感覺哪里說的不夠仔細,請私信我,我會一一加上的,大家一起進步


免責聲明!

本站轉載的文章為個人學習借鑒使用,本站對版權不負任何法律責任。如果侵犯了您的隱私權益,請聯系本站郵箱yoyou2525@163.com刪除。



 
粵ICP備18138465號   © 2018-2025 CODEPRJ.COM