Cocos平臺 | 快速集成AGC雲函數服務

一、環境與應用信息

版本名稱 集成環境 測試設備
agconnect-storage:1.3.0.300 Cocos Creator 華爲P40Pro

AGC地址:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html
SDK集成方式:在Cocos Creator中開通集成html

二、在AGC開通與配置雲函數:

PS: 雲函數服務目前還處於beta狀態,使用前應該發郵件去申請開通:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudfunction-applyjava

一、在個人項目 下選擇你的開發項目,在構建下面,找到雲函數服務,點擊開通:算法

沒有應用的話,須要先本身建立一個。json

二、根據CodeLab中的描述,建立一個函數
https://developer.huawei.com/consumer/cn/codelab/CloudFunctions/index.html#4app

三、建立Http觸發器而且將"詳細信息"中的"觸發URL"的後綴保存,做爲後續客戶端請求時的觸發器標識。ide

在這裏插入圖片描述

三、在Cocos Creator項目集成SDK

一、Cocos集成SDK:

官方文檔:https://docs.cocos.com/creator/manual/zh/cocos-service/agc-applinking.html
一、 在 Cocos 服務面板接入所需的雲函數服務。目前 SDK 僅支持 Android 平臺,函數

在這裏插入圖片描述

二、 接入相關的服務前,須要先關聯APP,在服務界面點擊啓用後,再點擊 關聯 按鈕,點擊建立後,會跳轉到Cocos的管理臺,佈局

在這裏插入圖片描述

三、 根據我的須要建立一個新遊戲測試

四、 建立完成後,就能夠回到Cocos Creator界面新建,刷新和選擇進行應用的關聯,ui

在這裏插入圖片描述

五、 而後就能夠回到雲函數界面,能夠正式進行服務的開通了

在這裏插入圖片描述

二、下載Json

一、 服務開通之後,回到項目設置界面,下載最新的json文件。

在這裏插入圖片描述

二、將剛下載好json文件,放到Cocos項目的settings目錄下

四、界面佈局

在Cocos Creator上設置幾個按鈕,經過點擊按鈕來實現功能:包括觸發雲函數,設置超時時間,獲取超時時間。

在這裏插入圖片描述

五、雲函數功能開發:

一、在star中初始化雲函數

start () {  
        this._func = huawei.agc.func.funcService;
    },

二、 帶參數對接雲函數

callWithParam:function() {
        this._func.wrap("testcodelab-$latest").call((err, data) => {
            if (err !== null) {
                console.log("Cloud Function", `error: ${JSON.stringify(err)}`);
            }
            console.log("Cloud Function", `result: ${JSON.stringify(data)}`);
        }, {
            year: "2020",
        }
        );
    },

三、不帶參數對接雲函數

callWithoutParam:function() {
        this._func.wrap("testcodelab-$latest").call((err, data) => {
            if (err !== null) {
                console.log("Cloud Function", `error: ${JSON.stringify(err)}`);
            }
            console.log("Cloud Function", `result: ${JSON.stringify(data)}`);
        });
    },

四、 設置超時時間與獲取超時時間

setTime:function() {
        this._func.wrap("testcodelab-$latest").setTimeout(100,3);
        console.log("Cloud Function", `setTime: ` + 100);

    },

    getTime:function() {
        let currTime = this._func.wrap("testcodelab-$latest").getTimeout();
        console.log("Cloud Function", `currTime: ` + currTime);
    },

六、打包測試

用Cocos creator的build,打包一個Android文件,而且安裝到設備上,驗證功能點是否正確。分別在Android應用中點擊以下按鈕,

查看對應的JS日誌,有以下日誌,表示使用集成成功。

在這裏插入圖片描述

七、總結

全部函數放在雲端就好,只要在端側用wrap.call方法調用既可實現,後續算法相關的代碼均可以放在雲端啦,大幅減小APK中的代碼和包體大小。

欲瞭解更多詳情,請參見:

雲函數服務開發指南:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudfunction-introduction

Cocos關於雲存儲的文檔:

https://docs.cocos.com/creator/manual/zh/cocos-service/agc-cloudfunc.html


原文連接:https://developer.huawei.com/consumer/cn/forum/topic/0201427521524950690?fid=0101271690375130218&pid=0301427521524950044

原做者:Mayism

相關文章
相關標籤/搜索