【游戲開發(fā)隨筆】微信小游戲上線字節(jié)平臺超全攻略
時間:2023-05-11 01:09:02 | 來源:網(wǎng)站運營
時間:2023-05-11 01:09:02 來源:網(wǎng)站運營
【游戲開發(fā)隨筆】微信小游戲上線字節(jié)平臺超全攻略:
除了長期占據(jù)主流位置的微信平臺,字節(jié)跳動平臺也是一個非常值得個人開發(fā)的小游戲上線的陣地。字節(jié)系的很多產(chǎn)品(如抖音、西瓜視頻、今日頭條)都帶有巨大的流量,甚至能夠比肩微信[1]。
本文假設(shè)你已有了一個用Cocos Creator制作的微信小游戲(使用其他
跨平臺引擎或
微信原生開發(fā)工具開發(fā)的項目,本文亦可作為參考),現(xiàn)在想將該游戲發(fā)布到字節(jié)產(chǎn)品上?;诰W(wǎng)上收集的資料和實踐過程中的經(jīng)驗,本文詳細(xì)整理了一個小游戲從微信平臺發(fā)布到字節(jié)平臺過程中需要了解的內(nèi)容,以及需要調(diào)整的工作細(xì)節(jié)。
平臺要求差異
關(guān)于字節(jié)跳動小游戲的申請、發(fā)布和審核的基本流程可以參考
[2]??傮w而言,字節(jié)平臺與微信平臺流程相似,其中開發(fā)者可能關(guān)心的主要差異有以下幾點:
- 字節(jié)跳動各個環(huán)節(jié)的審核較微信更加嚴(yán)苛。在微信,個人開發(fā)者只需“自查報告”即可發(fā)布游戲,但在字節(jié)“軟著”也是游戲上線的必要材料。
- 微信對初版小游戲的最低要求是完整可運行即可。但字節(jié)跳動要求小游戲必須實現(xiàn)“錄頻“功能[3]。該功能可以調(diào)用字節(jié)的API快速實現(xiàn),代碼可參考[1]和[4]。
- 字節(jié)小游戲對廣告、引流等情況審核更加嚴(yán)格。例如,廣告按鈕的設(shè)置也有統(tǒng)一的規(guī)定[5],不合要求會被打回。字節(jié)對界面、排版方面的要求也更加嚴(yán)格(例如文本過長,超出背景框也會成為拒絕通過的理由)。
- 微信小游戲要求注冊量達(dá)到1000后才能開通流量主。字節(jié)小游戲無門檻,可以直接插入廣告欄盈利。
工程代碼遷移
字節(jié)跳動文檔提供了一鍵完成代碼遷移的功能
[6]。這個功能相當(dāng)方便,但是也存在缺點,即之后每次更新游戲都需要重復(fù)執(zhí)行導(dǎo)入工程、遷移代碼的步驟。對于使用Cocos等游戲引擎的項目來說,在代碼中針對不同平臺設(shè)置不同的處理方式是更為方便的處理方式。
1. 修改發(fā)布平臺。在每次構(gòu)建發(fā)布時,將發(fā)布平臺和appid從微信替換為從字節(jié)的相關(guān)內(nèi)容即可。
2.所有使用微信API的代碼,需要將
wx替換為
tt。如接入微信廣告的wx.createBannerAd()改為tt.createBannerAd()后即可接入字節(jié)廣告。
// 在一套代碼中,開放能力需兼容多個平臺(Cocos Creator案例)if (cc.sys.platform==cc.sys.WECHAT_GAME) { // 微信平臺,調(diào)用微信接口 wx.createBannerAd({...)}} else if (cc.sys.platform==cc.sys.BYTEDANCE_GAME) { // 字節(jié)平臺,調(diào)用字節(jié)接口 tt.createBannerAd({...)}}
微信作為小程序時代的開創(chuàng)者,其制定的一系列規(guī)范已經(jīng)成為了眾多其他小程序產(chǎn)品的模板,因此絕大多數(shù)的用法和功能都是相同的,我們只需替換一下名稱就可以了!
值得注意的是,有些接口雖然調(diào)用方式相同,但平臺返回的數(shù)據(jù)結(jié)構(gòu)會有差異,因此還是需要仔細(xì)調(diào)試并閱讀文檔的。例如,用戶授權(quán)后取得的頭像圖片網(wǎng)址就存在格式區(qū)別:在微信開發(fā)者需要自行補充.png等后綴,而字節(jié)返回的是帶有.image后綴的完整資源url;又如請求用戶的openid時使用的請求格式不同(詳細(xì)差別可以參考微信開發(fā)文檔
[7]和字節(jié)開發(fā)文檔
[8])。
騰訊云開發(fā)的適配
本部分僅針對使用
騰訊云開發(fā)的小游戲。直接使用騰訊云或Cocos云開發(fā)的小游戲,直接在
字節(jié)跳動小游戲開發(fā)工具中運行時,可能報如下錯誤:
error:{"code":" INVALID_PARAMS","msg":"invalid appSign"}
騰訊云開發(fā)是天生為微信小程序服務(wù)的,因此它應(yīng)用在字節(jié)小程序中則需要一些額外的適配工作。
字節(jié)跳動目前尚未開通自己的云開發(fā)服務(wù);即使將來字節(jié)開通了它的云服務(wù),我們可能也希望繼續(xù)使用已在騰訊云積累的用戶和數(shù)據(jù)!
以下適配操作綜合整理自
[9]和
[10]。
1.在字節(jié)跳動小游戲開發(fā)工具中,檢查項目資源有無圖示的這兩個
.json文件。若沒有,則需要先安裝
npm(Node Package Manager,是NodeJS的包管理工具,通過它能夠下載網(wǎng)絡(luò)上的JavaScript軟件包)。
在右下角的
調(diào)試器面板進(jìn)入
終端欄,輸入以下指令。
npm init
如果能顯示相應(yīng)的版本號,就說明是安裝成功的。否則若提示“npm不是內(nèi)部命令”類似的錯誤,則需要先在你的電腦上安裝node環(huán)境。安裝node環(huán)境的步驟可以參考
[11]:前往
http://nodejs.cn/download/下載適合你系統(tǒng)的NodeJS版本。
環(huán)境安裝完成后,重新進(jìn)入開發(fā)工具再鍵入上面那條命令,就可以正常執(zhí)行了。
2. 在終端依次輸入以下兩條命令,提示信息一直回車確認(rèn)即可。這兩條操作將分別在項目下生成package.json文件和package-lock.json文件。
[12]npm initnpm install
3.npm已準(zhǔn)備就緒,接下來利用它安裝云開發(fā)相關(guān)的SDK和字節(jié)跳動適配器。
npm i @cloudbase/js-sdk -Snpm i @maoyan/cloudbase-adapter-tt_mp -S
4. 配置騰訊云后臺。
在后端的
云開發(fā)-
環(huán)境-
安全配置-
移動應(yīng)用安全來源界面,點擊
添加應(yīng)用。在隨后的應(yīng)用標(biāo)識一欄填入你的字節(jié)跳動小程序AppId即可。
授權(quán)成功后,在新建的條目中選擇
獲取憑證,然后點擊復(fù)制,獲得憑證(AppAcessKey)。在之后的代碼中需要填寫此憑證信息。
5.啟用了Cocos云開發(fā)的項目,打包到字節(jié)跳動開發(fā)工具后,項目資源中應(yīng)該會有src/assets/cloud/cloudConfig.js這個文件。您也可以通過檢索”appSign”字段來找到該文件。
修改該文件的相應(yīng)字段。
window.cc_cloud_commonConfig={ platform:"tencent", tencent:{ env:"env1-000123abc",//騰訊云環(huán)境ID appSign:"tt111123abc",// 填寫你的字節(jié)跳動appID appSecret:{ appAccessKeyId:"1",//一般填1即可 appAccessKey:"222123abc"//第4步中獲得的憑證 } }};
修改完成后,保存并刷新
模擬器?,F(xiàn)在騰訊云服務(wù)在字節(jié)跳動小游戲開發(fā)工具中也可以順暢運行啦!提交發(fā)布,在抖音、頭條軟件上調(diào)試游玩吧!
歡迎關(guān)注我的微信公眾號“Kita游戲小基地”,一起做游戲,聊開發(fā)!
參考
- ^ab抖音、頭條一個都不放過,字節(jié)小游戲上線攻略!_奎特爾星球-CSDN博客?https://blog.csdn.net/6346289/article/details/103209825
- ^抖音、頭條一個都不放過,字節(jié)小游戲上線攻略(續(xù))!再送源碼福利_奎特爾星球-CSDN博客?https://blog.csdn.net/6346289/article/details/103248990
- ^字節(jié)小程序 | 錄屏與分享 (bytedance.com)?https://microapp.bytedance.com/docs/zh-CN/mini-game/operation/function/record-share/
- ^creator項目上線字節(jié)跳動小程序_Eric_gg的博客-CSDN博客?https://blog.csdn.net/weixin_41783625/article/details/94601188
- ^小游戲高頻審核拒絕場景第二期—廣告新規(guī) (bytedance.com)?https://forum.microapp.bytedance.com/mini-game/posts/603748ee1b30865d8b2c7386?is_new_connect=0&is_new_user=0
- ^字節(jié)小程序 | 附:微信小程序遷移(bytedance.com)?https://microapp.bytedance.com/docs/zh-CN/mini-app/introduction/plug-in/mini-app-developer/annex-micro-channel-migration-applet/
- ^auth.code2Session | 微信開放文檔 (qq.com)?https://developers.weixin.qq.com/miniprogram/dev/api-backend/open-api/login/auth.code2Session.html
- ^字節(jié)小程序 | code2Session (bytedance.com)?https://microapp.bytedance.com/docs/zh-CN/mini-game/develop/server/log-in/code-2-session
- ^字節(jié)跳動小程序如何使用云開發(fā)cloudbase | 微信開放社區(qū) (qq.com)?https://developers.weixin.qq.com/community/develop/article/doc/000aa46dfec8a0eb188cb107d57813?highline=%E5%AD%97%E8%8A%82%20%E4%BA%91%E5%BC%80%E5%8F%91
- ^【筆記】字節(jié)跳動小程序如何接入騰訊云CloudBase? | 微信開放社區(qū) (qq.com)?https://developers.weixin.qq.com/community/develop/article/doc/000ac062acc5c047697cd3bdf51813?highline=%E5%AD%97%E8%8A%82%20%E4%BA%91%E5%BC%80%E5%8F%91
- ^微信小程序沒有找到可以構(gòu)建的NPM包,請確認(rèn)需要參與構(gòu)建的npm在miniprogramroot目錄 - 簡書(jianshu.com)?https://www.jianshu.com/p/fc650d925094
- ^微信開發(fā)者工具使用npm安裝第三方包_aiee的博客-CSDN博客?https://blog.csdn.net/sinat_34209942/article/details/114263147