SDK接入和初始化
1 SaaS SDK是什么?
海马云游戏SDK是为移动应用提供的一个完善的云游戏能力的系统解决方案。通过接入海马云游戏SDK,可以实现云游戏的播放、停止、状态回调等各类控制操作和数据交互,在海马云游戏端到端全栈云服务能力基础上,为用户带来顺畅的云游戏体验。
2 你应准备的资料信息?
下载H5 SDK软件包,如未下载,请点击这里下载H5_SDK。
需要准备的信息有:accessKeyID、channelId、pkgName、uId、utoken、cToken,如未准备好,请联系产品。
3 示例代码:
<!DOCTYPE html>
<html>
<head>
<meta charset="utf-8"/>
<link rel="stylesheet" href="./h5sdk/saas-sdk.css" type="text/css" />
<script src="./h5sdk/saas-sdk.js"></script>
<script src="./crypto-js.js"></script> <!--用于生成cToken算法的文件-->
<meta name="viewport" content="width=device-width, initial-scale=1.0, maximum-scale=1.0, user-scalable=no">
<meta name="renderer" content="webkit" />
</head>
<body>
<div id="example"></div>
<script>
var testPackageName = "com.tencent.tmgp.sgame"; //游戏包名
var testAppChannel = ""; //游戏包渠道号
var testAccessKeyId = "db2daab3867"; //BID
var testAccessKey = "97e2203ee36aa2a64fd8d28e65f6beb0"; //key
var testAccessChannel = "000002946";
var testUserId = "hmTest01";
var testUserToken = "hmTest";
function generateCToken() { //计算cToken方法
var raw =
testUserId +
testUserToken +
testPackageName +
testAccessKeyId +
testAccessChannel;
var key = CryptoJS.enc.Hex.parse(testAccessKey);
var aes = CryptoJS.AES.encrypt(raw, key, {
iv: "",
mode: CryptoJS.mode.ECB,
padding: CryptoJS.pad.Pkcs7,
});
var aesBytes = aes.ciphertext.toString();
var inSha1 = CryptoJS.enc.Hex.parse(aesBytes);
var sha1 = CryptoJS.SHA1(inSha1);
return sha1.toString();
}
Cloudplay.initSDK({
accessKeyID: testAccessKeyId,
channelId: testAccessChannel,
onSceneChanged: function (sceneId, extraInfo) {
console.log("sceneId:", sceneId, " extraInfo:", extraInfo);
},
MessageHandler: function (message) {
console.log("message:", message);
}
});
Cloudplay.startGame('example', {
pkgName: testPackageName,
userInfo: {
uId: testUserId,
uToken: testUserToken,
uType: 0
},
priority: 0,
extraId: '',
playingtime: 3600,
configInfo: 'a',
cToken: generateCToken(),
isArchive: false,
isPortrait: false,
appChannel: testAppChannel
});
</script>
</body>
</html>
4 下载H5 SDK DEMO
快速入门示范Demo,请点击这里下载H5 SDK DEMO