【云开发】支付宝云开发结合 COCOS 一站式小游戏开发

1、为什么要用支付宝云开发

支付宝云开发平台具备 Serverless 一站式小程序、小游戏开发平台,动态扩缩容低投入,前后端一体化高效研发等能力。提供云函数、云数据库、云存储、静态托管,Redis、MySQL 等全备开发套件,开发者无需关心服务器和底层设施运维,专注于代码逻辑和业务本身。

2、支付宝云开发如何开发 COCOS 小游戏

1.1、小游戏多端开发

Cocos Creator 本身就是支持多端开发,可以导出各种终端小游戏,后续也会支持导出支付宝小游戏,游戏端开发直接参考 Cocos Creator 自身解决方案,这里就不再赘述。

1.2、云开发游戏后端开发

小游戏是支付宝云开发核心的用场景,如何和主流游戏框架如 Cocos 框架无缝集成,如何简化开发流程、提高小游戏开发效率这些都是支付宝云开发产品最关注的。

技术栈选型

Cocos Creator 支持 TypeScriptJavaScript 两种编程语言,云开发产品支持 JavaScript 语言开发语言,这样很多情况下可以做到下游戏前后端一栈式开发,简化游戏开发者技术栈要求。

支付宝云开发有支持 JavaScript 语言的规划。

服务发布

Cocos Creator 游戏脚本开发很多情况下是在 VSCode 中开发的,由于上述统一技术栈优势,支付宝云开发中的云函数同样可以在 VSCode 中进行开发。为了便捷云函数的发布,云开发提供了 CPT 命令行工具,发布后端云函数就像使用 Git 命令一样简单,一行命令 cpt cloudbase fn deploy cocos 就会完成秒级服务发布。

CPT 命令工具

通信调用

小程序小游戏中 HTTP 请求很多情况下要求域名备案,这样给开发者带来很多麻烦,还有就是如何自动适配多端调用,开发 COCOS 小游戏时候的可以直接在浏览器上进行调试,但是实际发布后是运行在支付宝、微信上的,需要支持多端调用便于调试和多端发布支持。

支付宝云开发产品提供 WebSDK 支持多端运行,同样代码可以运行在 H5页面、也可以运行在支付宝、微信小游戏上。

3、游戏开发示例

3.1、faas-web-sdk 安装

FaaS-web-sdk 是支付宝云开发多端函数调用 SDK,可以在H5、支付宝、微信等各种终端发起云开发函数请求。

当前安装方式直接复制 FaaS-web-sdk Cocos 游戏项目 assets/libs 下面。

FaaS-web-sdk 具体安装方式参考使用文档 《WebSDK》[1] ,

如果不需要开发多端小游戏,只是开发支付宝小游戏可以直接使用云开发 JSAPI callfunction ,参考使用文档 《callFunction》[2]

3.2、开发小游戏

小游戏只是一个简单的 helloword ,在场景中创建一个 Label ,默认显示 loading… , 等小游戏启动的时候从请求云函数,改变 Label 内容。

为 Label 添加以下的脚本,通过 sdk.callFunction 调用名称为 cocos 的函数。

import { _decorator, Component, Node } from 'cc';
const { ccclass, property } = _decorator;
import  cloud  from './libs/faas-web-sdk/dist/index.js';

@ccclass('Alipay')
export class NewComponent extends Component {
	async start() {
		
		var self = this;
		  const sdk = new cloud.Cloud({
			//在环境概览中获取
			endpoint: 'https://env-00jx49rafua2.api-hz.cloudbasefunction.cn',
			 //在环境概览中获取 AK
			secretId: 'xxxx',
			//在环境概览中获取 SK
			secretKey: 'xxx',
			//填写自己的APPID 
			appId: 'xx',
			//填写自己的环境ID
			envId: 'env-xxx',
		  });

		  try {
			const res = await sdk.callFunction({
			  name: 'cocos',
			});

			console.log("---" + res.result.message);

			self.getComponent(cc.Label).string = res.result.message
			
			console.log('调用结果', res);
		  } catch(e) {
			console.error('调用失败', e);
		  }
		
   }

   update(deltaTime: number) {
       
   }
}

小游戏如果发布到支付宝或者微信需要把 endpoint 加入到白名单中。

3.3、开发云函数

云函数内容就是返回一个 Hello World! Cocos

exports.main = async (event, context) => {
  let data = {
      "message": "Hello World! Cocos"
  };
  return data;
};

云函数在 VSCode 中进行开发,通过 CPT 命令进行函数发布部署。

CPT 安装参考文档 《CTP 安装文档》[3]

执行 cpt cloudbase fn deploy cocos 命令进行函数发布

显示 SUCCESS 部署函数 cocos 成功 ,当前函数已经成功部署到了支付宝云开发平台。

PS D:\Svn\VsCode\gameserver> cpt cloudbase fn deploy cocos
 SUCCESS  部署函数 cocos 成功

3.4、游戏测试

直接在 Cocos Creator 中进行测试,当前是在浏览器中进行测试,如果发布到支付宝、微信端同样可以运行不需要进行任何代码修改。

3.5、游戏导出发布

Cocos Creator 中直接构建游戏就可以发布,参考各个端的发布。

4、帮助支持

欢迎大家加入钉钉支持群了解试用:

产品官网:https://cloud.alipay.com/main/product/cloudbase

2赞

对比华为那个云开发 有什么优势?

:+1: :+1: :+1: :+1: :+1:

[1] WebSDK

[2] callFunction

[3] CPT 安装文档

支付宝云开发专注于 小游戏和小程序开发,有很多生态场景,开发组件丰富很多,提供免费套餐,就够初期使用,

价格比腾讯云函数便宜么?给点优惠卷美女

基本上比腾讯便宜一半,有免费套餐,还有就是支持套餐加按需付费同时支持,还支持CND流量包


这个价格认真的么,太卷了吧,有没有排行榜的案例

当前云开发在免费推广期,300月套餐可以免费使用,过几天会上线排行榜案例