Cocos Creator微信小游戲之如何確認(rèn)分享成功

眾所周知,目前微信的分享沒有回調(diào)(2020.7.3),也就是說,只要被分享到小游戲鏈接的人不點(diǎn)擊鏈接進(jìn)入游戲,服務(wù)器就不知道分享游戲的玩家到底分享了沒有,那么這個(gè)游戲的分享獎(jiǎng)勵(lì)怎么快速的給出呢?我同事給出了個(gè)妥協(xié)的解決方式,游戲發(fā)起分享會(huì)退到后臺(tái),那么當(dāng)游戲重新進(jìn)入前臺(tái)時(shí),只要有2s多的時(shí)間差,就算玩家分享成功了。(我在寫這個(gè)文檔時(shí),也看到有人分享同樣的處理方式,贊)
微信小游戲的分享接口截圖:


image.png

下面直接上代碼:

/**
* 此方法每次點(diǎn)擊分享就執(zhí)行一次
* @param _callback處理分享的回調(diào)
*/
public static onShowGame (_callback: any): void {
        console.log("---游戲回到前臺(tái)---------------");
        // 記錄點(diǎn)擊分享的時(shí)間(秒級(jí))
        this.shareStartTimeSecond = Tools.GetCurrentTimeStampSecond();
        let func: Function = (_res: any)=>{
            let isShareSuccess: boolean = false;
            if (this.shareStartTimeSecond <= 0) {
                // 不處理
            }else {
                // 判斷轉(zhuǎn)發(fā)成功與否,按時(shí)間處理
                let interval: number = Tools.GetCurrentTimeStampSecond() - this.shareStartTimeSecond;
                this.shareStartTimeSecond = -1;
                // 我這里間隔設(shè)置為2.5s
                if (interval >= 2.5) {
                    isShareSuccess = true;
                }
            }
            _callback(isShareSuccess);
            // 取消監(jiān)聽小游戲回到前臺(tái)的事件
            window['wx'].offShow(func);
        };
        // 監(jiān)聽小游戲回到前臺(tái)的事件
        window['wx'].onShow(func);
    }
最后編輯于
?著作權(quán)歸作者所有,轉(zhuǎn)載或內(nèi)容合作請(qǐng)聯(lián)系作者
【社區(qū)內(nèi)容提示】社區(qū)部分內(nèi)容疑似由AI輔助生成,瀏覽時(shí)請(qǐng)結(jié)合常識(shí)與多方信息審慎甄別。
平臺(tái)聲明:文章內(nèi)容(如有圖片或視頻亦包括在內(nèi))由作者上傳并發(fā)布,文章內(nèi)容僅代表作者本人觀點(diǎn),簡書系信息發(fā)布平臺(tái),僅提供信息存儲(chǔ)服務(wù)。

友情鏈接更多精彩內(nèi)容