国产 无码 综合区,色欲AV无码国产永久播放,无码天堂亚洲国产AV,国产日韩欧美女同一区二区

cocos creator上架字節(jié)跳動(dòng)(抖音)小游戲注意事項(xiàng)(匿名登錄、錄屏、分享等踩坑記錄)

這篇具有很好參考價(jià)值的文章主要介紹了cocos creator上架字節(jié)跳動(dòng)(抖音)小游戲注意事項(xiàng)(匿名登錄、錄屏、分享等踩坑記錄)。希望對(duì)大家有所幫助。如果存在錯(cuò)誤或未考慮完全的地方,請(qǐng)大家不吝賜教,您也可以點(diǎn)擊"舉報(bào)違法"按鈕提交疑問(wèn)。

常見(jiàn)拒絕原因1:小游戲無(wú)錄屏功能,不符合平臺(tái)要求 2:小游戲錄屏?xí)r間小于3S,分享按鈕點(diǎn)擊無(wú)反應(yīng)或提示錯(cuò)誤文案,不符合平臺(tái)要求 3:小游戲錄屏?xí)r間大于300S,分享按鈕點(diǎn)擊無(wú)反應(yīng)或無(wú)法正常分享錄屏,不符合平臺(tái)要求

不久前寫(xiě)了款小游戲,最近上架了字節(jié)跳動(dòng)小游戲平臺(tái)。因?yàn)檫@款游戲在微信小游戲里被歸類(lèi)為角色扮演類(lèi)(微信平臺(tái)不允許個(gè)人開(kāi)發(fā)者上架角色類(lèi)游戲),因此考慮上架字節(jié)跳動(dòng),只要有軟件著作權(quán)即可。

游戲是之前在微信平臺(tái)已經(jīng)調(diào)試通的,所以只需要按照字節(jié)的要求做一點(diǎn)修改就可以了,主要變化如下:

1.支持匿名登錄

微信小游戲只需要調(diào)用wx.login獲得code,再用code去服務(wù)端調(diào)用code2Session就能拿到unionId了,有了unionId就基本完成登錄,后續(xù)可以繼續(xù)調(diào)用接口獲得昵稱(chēng),或者干脆讓用戶(hù)自己輸入昵稱(chēng)完成角色創(chuàng)建,簡(jiǎn)單粗暴。
字節(jié)小游戲則有一堆的要求,比如支持匿名登錄(彈出登錄框,用戶(hù)選擇拒絕,也要能以游客的身份登錄游戲游玩),又比如資料同步(本機(jī)有匿名登錄的角色資料,此時(shí)又切換到非匿名的賬號(hào)登錄,之前的匿名數(shù)據(jù)需要覆蓋到該賬號(hào)里,這一條就包含了很多需要處理的后臺(tái)邏輯)

start() {
        this.labelProcess.string = "游戲初始化中";
        this.login()
    }
login() {
        let _this = this;
        tt.login({
            force: true,
            success(res) {
                // 獲取用戶(hù)信息
                tt.getUserInfo({
                    success(resUser) {
                    	//用戶(hù)很乖,一路確定,允許登錄也允許撈取抖音昵稱(chēng)
                        console.log(`getUserInfo 調(diào)用成功`, resUser.userInfo);
                        console.log(res.code);
                        if (res.code) {
                            _this.init(res.code,res.anonymousCode,false, resUser.userInfo.nickName) //false表示非匿名,true表示匿名登錄
                        }
                    },
                    fail(resUser) {
                        //用戶(hù)允許登錄了,但不給獲取昵稱(chēng)的權(quán)限,這時(shí)候雖然昵稱(chēng)也是匿名用戶(hù),但不能算匿名登錄了,因?yàn)閞es.code可以拿到賬號(hào)APP唯一ID,后續(xù)可以在登錄的時(shí)候把抖音昵稱(chēng)更新到游戲里(如果用戶(hù)給昵稱(chēng)權(quán)限)
                        _this.init(res.code,res.anonymousCode,res,false, '匿名用戶(hù)')
                    },
                });
            },
            fail(res) {
                //login fail了,表示用戶(hù)拒絕了登錄,啟用匿名登錄,res.code就是空,此時(shí)用res.anonymousCode去后臺(tái)調(diào)用API拿手機(jī)識(shí)別碼,手機(jī)識(shí)別碼這玩意綁定的是手機(jī),可以拿來(lái)當(dāng)匿名角色主鍵用
                _this.init(res.anonymousCode,true, '匿名用戶(hù)')
            },
        });
        //以下是微信小游戲的登錄比較,要么給res.code,要么別玩,簡(jiǎn)單粗暴
        // wx.login({
        //     success(res) {
        //         if (res.code) {
        //             //發(fā)起網(wǎng)絡(luò)請(qǐng)求
        //             _this.init(res.code)
        //         } else {
        //             _this.popupError.active = true;
        //             _this.labelError.string = "服務(wù)器維護(hù)中~\n\n請(qǐng)睡醒一覺(jué)再試!";
        //         }
        //     }
        // })
    }

Init方法就是跟后端交互了,拿著res.code或者res.anonymousCode去調(diào)用jscode2session接口(注意匿名和非匿名傳遞的是不同參數(shù)),拿到openid或者anonymous_openid作為游戲賬號(hào)主鍵即可。
上面的代碼有人可能要問(wèn)了,為啥非匿名登錄init的時(shí)候也要傳res.anonymousCode?不是有res.code嗎?這就涉及到上面說(shuō)的資料同步了,在用res.code換到openId以后,如果這個(gè)openId在游戲數(shù)據(jù)庫(kù)中不存在,我們需要用這個(gè)res.anonymousCode再去換一次anonymous_openid,如果anonymous_openid在我們游戲中存在,表示這個(gè)用戶(hù)之前匿名登錄玩過(guò),此時(shí)按照平臺(tái)要求需要把這個(gè)匿名資料同步給賬號(hào)(把數(shù)據(jù)庫(kù)里anonymous_openid Update成openid即可)為什么是update不是copy?因?yàn)槟涿Y料同步一次后就要清掉,不然頻繁切換賬號(hào)就能無(wú)限復(fù)制了是不是。

2.錄屏

大坑,只要第一次上抖音基本都會(huì)因?yàn)橄嚓P(guān)問(wèn)題被駁回,無(wú)外乎幾種情況:1.直接從微信小游戲移植到抖音的,飄的不行文檔也沒(méi)看,直接就沒(méi)有錄屏被打回 2.按照官方文檔或者網(wǎng)上找的資料,有功能但是不全被駁回的 3.游戲多場(chǎng)景比較復(fù)雜官方例子用了報(bào)錯(cuò)的
增加錄屏方式:
1.首先在游戲主要場(chǎng)景新增一個(gè)按鈕,增加點(diǎn)擊事件

    btnRecordingClick() {
        if (stateInfo.isRecording == true) { //如果正在錄制,把當(dāng)前錄制停止,文本替換成開(kāi)始錄制告訴用戶(hù)你可以繼續(xù)錄新的了
            this.lblIsRecording.string = '開(kāi)始錄制'
            this.stopRecordScreen()
        }
        else { //如果沒(méi)在錄制,則開(kāi)始錄,文本替換告訴用戶(hù)你現(xiàn)在正在錄
            this.lblIsRecording.string = '停止錄制'
            this.startRecordScreen()
        }
    }

因?yàn)槲业挠螒蚴嵌鄨?chǎng)景的,可能在這個(gè)場(chǎng)景點(diǎn)擊了錄制會(huì)跳轉(zhuǎn)到其他場(chǎng)景,所以是否在錄制的標(biāo)志位isRecording是放在一個(gè)單例的對(duì)象里,保證其他場(chǎng)景也能用到,如果是單場(chǎng)景的游戲直接放頁(yè)面里用this.就行了

開(kāi)始錄制方法(這個(gè)方法我是放在單例對(duì)象里的,如果是單場(chǎng)景游戲不需要加callback參數(shù),直接寫(xiě)里頭就行了)

 public startRecordScreen(callback) {
        if (!this.recorder) this.recorder = tt.getGameRecorderManager();
		//注冊(cè)開(kāi)始錄屏的回調(diào),其實(shí)注冊(cè)一次就行這里偷懶了每次錄屏都注冊(cè)了一次
        this.recorder.onStart(res => {
            callback("開(kāi)始錄屏")
        })
        //注冊(cè)錄屏結(jié)束事件,偷懶*2
        this.recorder.onStop(res => {
            this.isRecording = false
            clearInterval(this.actionRecord);
            if (this.recordingSecond < 4) { //這里用3也可以,不想管邊界了就寫(xiě)了4
                callback("錄屏小于3s,無(wú)法分享!")
            }
            else {
                console.log(res.videoPath);
                this.videoPath = res.videoPath; //如果錄屏成功,則獲取視頻文件的地址
                callback("結(jié)束錄屏")
            }
        })
		//開(kāi)始錄屏
        this.recorder.start({
            duration: 300
        });
        console.log('start')
        this.isRecording = true
        this.recordingSecond = 0;
        //開(kāi)啟一個(gè)計(jì)時(shí)器,統(tǒng)計(jì)錄制了幾秒鐘,如果大于300則停止錄制
        this.actionRecord = setInterval(() => {
            this.recordingSecond++
            if (this.recordingSecond >= 300) {
                this.isRecording = false
                clearInterval(this.actionRecord);
            }
        }, 1000);
    }	

結(jié)束錄制的方法

public stopRecordScreen(callback) {
		
        //結(jié)束錄屏
        if (this.recorder)
            this.recorder.stop();
    }

注意點(diǎn): this.recorder.start()如果不給參數(shù)默認(rèn)是10秒,時(shí)間到后APP會(huì)自動(dòng)關(guān)掉錄像并執(zhí)行onStop注冊(cè)的方法,如果是多場(chǎng)景游戲也需要把這個(gè)事件寫(xiě)到單例對(duì)象里去,以免onStop的時(shí)候原場(chǎng)景被銷(xiāo)毀了導(dǎo)致異常。
start以后需要啟動(dòng)個(gè)計(jì)數(shù)器統(tǒng)計(jì)錄了幾秒,如果啟動(dòng)不到3秒要給提示如果不給提示審核會(huì)直接打回。如果錄屏?xí)r間到達(dá)五分鐘上限,APP也會(huì)自動(dòng)關(guān)掉錄像,需要做好邏輯處理不然也會(huì)被打回。

3.分享

遇到個(gè)坑,原本的代碼我是寫(xiě)在錄屏的onStop里,類(lèi)似于 this.recorder.onStop(res => {tt.shareAppMessage(…)})的,在IOS里測(cè)試正常但是審核那邊卻彈不出分享框被打回了,百思不得姐查遍了資料,最后也不知道在哪看到個(gè)文章說(shuō)審核的手機(jī)是vivo,在vivo下是有差異的,于是換了個(gè)方式在onStop里彈出個(gè)對(duì)話(huà)框,對(duì)話(huà)框里放個(gè)分享按鈕,由這個(gè)按鈕去做分享,代碼如下

onbtnShareClick() {
        let _this = this
        tt.shareAppMessage({
            templateId: "xxxxxx", // 替換成通過(guò)審核的分享ID
            query: "",
            channel: "video",
            extra: {
                videoPath: stateInfo.videoPath, // 可用錄屏得到的視頻地址
                videoTopics: ['XXXX']
            },
            success() {
                _this.ndShare.active = false
                _this.showWarning("分享成功");
                console.log("分享成功");
            },
            fail(e) {
                _this.showWarning("取消分享");
                console.log("分享失敗");
            },
        });
    }

templateId必須要在控制臺(tái)通過(guò)運(yùn)營(yíng)能力-分享設(shè)置,通過(guò)審核后生成的分享ID,當(dāng)然也有其他的分享方式具體可看官方文檔,channel參數(shù)必須寫(xiě) "video"如果漏掉這個(gè)參數(shù)分享對(duì)話(huà)框里是不會(huì)有視頻的。
另外可以頁(yè)面上再放一個(gè)分享按鈕,邏輯也是這個(gè),這樣如果是多場(chǎng)景游戲,在其他場(chǎng)景中錄屏達(dá)到上限結(jié)束了(或者是在分享前不小心把這個(gè)對(duì)話(huà)框關(guān)掉了),玩家也能使用分享按鈕對(duì)錄好的視頻進(jìn)行分享。

以上,字節(jié)的審核非??鞆牡谝淮翁釋彽饺啃迯?fù)總共也就半天時(shí)間,這點(diǎn)還是比微信給力的。以上代碼僅供邏輯參考,可能有bug或者冗余代碼(比如計(jì)數(shù)器里頭),請(qǐng)見(jiàn)諒。文章來(lái)源地址http://www.zghlxwxcb.cn/news/detail-792425.html

到了這里,關(guān)于cocos creator上架字節(jié)跳動(dòng)(抖音)小游戲注意事項(xiàng)(匿名登錄、錄屏、分享等踩坑記錄)的文章就介紹完了。如果您還想了解更多內(nèi)容,請(qǐng)?jiān)谟疑辖撬阉鱐OY模板網(wǎng)以前的文章或繼續(xù)瀏覽下面的相關(guān)文章,希望大家以后多多支持TOY模板網(wǎng)!

本文來(lái)自互聯(lián)網(wǎng)用戶(hù)投稿,該文觀點(diǎn)僅代表作者本人,不代表本站立場(chǎng)。本站僅提供信息存儲(chǔ)空間服務(wù),不擁有所有權(quán),不承擔(dān)相關(guān)法律責(zé)任。如若轉(zhuǎn)載,請(qǐng)注明出處: 如若內(nèi)容造成侵權(quán)/違法違規(guī)/事實(shí)不符,請(qǐng)點(diǎn)擊違法舉報(bào)進(jìn)行投訴反饋,一經(jīng)查實(shí),立即刪除!

領(lǐng)支付寶紅包贊助服務(wù)器費(fèi)用

相關(guān)文章

  • 【抖音小游戲】 Unity制作抖音小游戲方案 最新完整詳細(xì)教程來(lái)襲【持續(xù)更新】
  • 微信小游戲個(gè)人開(kāi)發(fā)者上架:從注冊(cè)到上線(xiàn)的詳細(xì)步驟

    微信小游戲個(gè)人開(kāi)發(fā)者上架:從注冊(cè)到上線(xiàn)的詳細(xì)步驟

    本文將詳細(xì)介紹個(gè)人開(kāi)發(fā)者注冊(cè)微信小程序的步驟,包括賬號(hào)注冊(cè)、開(kāi)發(fā)環(huán)境準(zhǔn)備、代碼編寫(xiě)、上傳審核等。同時(shí),還將分享一些小技巧和注意事項(xiàng),幫助開(kāi)發(fā)者順利地將自己的小程序上線(xiàn)。 在微信公眾平臺(tái),點(diǎn)擊右上角立即注冊(cè): 點(diǎn)擊小程序: 填寫(xiě)郵箱和密碼:需要填寫(xiě)

    2024年02月16日
    瀏覽(120)
  • 微信小游戲之替換cocos自帶啟動(dòng)/插屏界面

    微信小游戲之替換cocos自帶啟動(dòng)/插屏界面

    使用cocos發(fā)布的微信小游戲,在微信開(kāi)發(fā)者工具運(yùn)行中,我們可以看到cocos開(kāi)發(fā)的小游戲啟動(dòng)界面,如下兩張圖所示,上圖則為cocos啟動(dòng)界面,下圖為cocos的插屏界面。 ?環(huán)境:windows 64、cocos creator 3.5.2 、 微信開(kāi)發(fā)者工具?1.06.22010310 ?啟動(dòng)界面替換方法:替換build目錄下的spla

    2024年02月11日
    瀏覽(20)
  • 【Cocos 3d】從零開(kāi)始自制3d出租車(chē)小游戲

    【Cocos 3d】從零開(kāi)始自制3d出租車(chē)小游戲

    本文很長(zhǎng),建議收藏食用。 課程來(lái)源: 游戲開(kāi)發(fā)教程 | 零基礎(chǔ)也可以用18堂課自制一款3D小游戲 | Cocos Creator 3D 中文教程(合集)p1~p6 簡(jiǎn)介: 資源下載:https://github.com/cocos-creator/tutorial-taxi-game 適合學(xué)習(xí)人群:本教程假定你對(duì)編程有一定的了解,ts,js 學(xué)習(xí)過(guò)其中之一。 如果不

    2024年02月02日
    瀏覽(54)
  • 【cocos 2d微信小游戲開(kāi)發(fā)教程】基礎(chǔ)使用筆記分享(一)

    【cocos 2d微信小游戲開(kāi)發(fā)教程】基礎(chǔ)使用筆記分享(一)

    開(kāi)發(fā)文檔地址 https://docs.cocos.com/creator/2.4/manual/zh/ 掛載腳步 右鍵新建腳本 腳本解釋 把類(lèi)名和腳本名改為一致 允許其他腳本調(diào)用 text優(yōu)先使用面板的值,property去掉則不在面板上顯示 打印輸出 生命周期函數(shù)解釋 節(jié)點(diǎn)的使用 預(yù)設(shè)體 拖拽新增預(yù)設(shè)體 用代碼渲染預(yù)設(shè)體 腳本內(nèi)容

    2024年02月07日
    瀏覽(20)
  • Cocos 微信小游戲內(nèi)存與性能優(yōu)化指南(iOS端)

    Cocos 微信小游戲內(nèi)存與性能優(yōu)化指南(iOS端)

    前言 由于微信小游戲普通模式是基于 C++ 渲染層與 JS 編譯引擎在原生平臺(tái)模擬 HTMLCanvas 渲染能力的方案,其中 JS 代碼的編譯執(zhí)行效率會(huì)極大影響游戲運(yùn)行的性能。通常 JS 引擎都提供了 JIT 能力用于提高編譯速度,這使得小游戲能夠在 Android 端取得優(yōu)異的性能。但是在 IOS 端由

    2024年02月08日
    瀏覽(26)
  • unity轉(zhuǎn)抖音小游戲筆記

    unity轉(zhuǎn)抖音小游戲筆記

    一.unity版本選擇2019.4.8f1 二.需從BGDT內(nèi)安裝以下插件 StarkMini for Unity?:基礎(chǔ)小包改造 sdk,提供游戲改造小包的框架 Stark Asset Analyser?:基于 starkmini 的自動(dòng)化小包工具 ? ? https://microapp.bytedance.com/docs/zh-CN/mini-game/rd-to-SCgame/minify/overall 三.打開(kāi)資源配置編輯器 ByteGame-StarkMini-Open

    2023年04月08日
    瀏覽(50)
  • cocoscreator 發(fā)布抖音小游戲

    cocoscreator 發(fā)布抖音小游戲

    發(fā)布到字節(jié)跳動(dòng)小游戲 字節(jié)小游戲是基于字節(jié)跳動(dòng)全產(chǎn)品矩陣開(kāi)發(fā),不需用戶(hù)下載,點(diǎn)開(kāi)即玩的全新游戲類(lèi)型。 小游戲的游戲提交,審核和發(fā)布流程等,需要遵守字節(jié)官方團(tuán)隊(duì)的要求和標(biāo)準(zhǔn)流程,具體信息可以參考 字節(jié)跳動(dòng)小游戲接入指南。 準(zhǔn)備工作 下載 字節(jié)跳動(dòng)開(kāi)發(fā)者

    2023年04月09日
    瀏覽(29)
  • 使用unity發(fā)布抖音小游戲

    使用unity發(fā)布抖音小游戲

    1.要選擇對(duì)應(yīng)的unity版本 如果使用 native 方案:確認(rèn)游戲工程運(yùn)行在 Unity 2019.4.8f1 或者 Unity 2019.4.35f1 如果使用 wasm 方案:建議使用 unity 最新版,比如 2021.2 之后的版本,在 wasm 方面做了很多優(yōu)化 可以用 2019.4.8 構(gòu)建 native 版本,用 2021.x 構(gòu)建 wasm,一起發(fā)布。 重要: editor 和 A

    2024年02月15日
    瀏覽(13)
  • 小程序游戲?qū)訌V告收益微信小游戲抖音游戲軟件

    小程序游戲?qū)訌V告收益微信小游戲抖音游戲軟件

    小程序游戲?qū)訌V告是一種常見(jiàn)的游戲開(kāi)發(fā)模式,開(kāi)發(fā)者可以通過(guò)在游戲中嵌入廣告來(lái)獲取收益。以下是一些與小程序游戲?qū)訌V告收益相關(guān)的關(guān)鍵信息: 小程序游戲廣告平臺(tái)選擇:?選擇適合你的小程序游戲的廣告平臺(tái)非常重要。不同的平臺(tái)提供不同類(lèi)型的廣告,包括橫幅

    2024年02月04日
    瀏覽(34)

覺(jué)得文章有用就打賞一下文章作者

支付寶掃一掃打賞

博客贊助

微信掃一掃打賞

請(qǐng)作者喝杯咖啡吧~博客贊助

支付寶掃一掃領(lǐng)取紅包,優(yōu)惠每天領(lǐng)

二維碼1

領(lǐng)取紅包

二維碼2

領(lǐng)紅包