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


1、環境與應用信息

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

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

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

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

1、在我的項目 下選擇你的開發項目,在構建下面,找到雲函數服務,點擊開通:

沒有應用的話,需要先自己創建一個。

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

3、創建Http觸發器並且將"詳細信息"中的"觸發URL"的后綴保存,作為后續客戶端請求時的觸發器標識。

在這里插入圖片描述

3、在Cocos Creator項目集成SDK

1、Cocos集成SDK:

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

在這里插入圖片描述

2、 接入相關的服務前,需要先關聯APP,在服務界面點擊啟用后,再點擊 關聯 按鈕,點擊創建后,會跳轉到Cocos的管理台,

在這里插入圖片描述

3、 根據個人需要創建一個新游戲

4、 創建完成后,就可以回到Cocos Creator界面新建,刷新和選擇進行應用的關聯,

在這里插入圖片描述

5、 然后就可以回到雲函數界面,可以正式進行服務的開通了

在這里插入圖片描述

2、下載Json

1、 服務開通以后,回到項目設置界面,下載最新的json文件。

在這里插入圖片描述

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

4、界面布局

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

在這里插入圖片描述

5、雲函數功能開發:

1、在star中初始化雲函數

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

2、 帶參數對接雲函數

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",
        }
        );
    },

3、不帶參數對接雲函數

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)}`);
        });
    },

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

    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);
    },

6、打包測試

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

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

在這里插入圖片描述

7、總結

所有函數放在雲端就好,只要在端側用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


免責聲明!

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



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