您尚未登录

登录

您尚未登录

登录

推荐您使用PC浏览器访问

确定
  • 开发者中心
  • >
  • 云游戏
  • >
  • 快速入门
  • >
  • SDK接入和初始化
  • >
  • iOS

SDK接入和初始化

1 SaaS SDK是什么?

海马云游戏SDK是为移动应用提供的一个完善的云游戏能力的系统解决方案。通过接入海马云游戏SDK,可以实现云游戏的播放、停止、状态回调等各类控制操作和数据交互,在海马云游戏端到端全栈云服务能力基础上,为用户带来顺畅的云游戏体验。

2 集成 iOS SDK

云玩 SDK 为 HMCloudPlayerCore.framework

  • SDK 系统支持条件 iOS 10.0 及以上
  • SDK 接入后需使用真机运行,不支持模拟器
  • SDK 演示demo 请使用自己的开发者账号和bundleid 到真机演示
  • SDK 中使用 http 请求的,请在 App Demo 中 info.plist 添加 App Transport Security Settings –> Allow Arbitrary Loads -> YES
  • SDK 支持webrtc流,请在自己的应用中增加麦克风,照相机权限。info.plist 添加Privacy->Camera Usage Description, Privacy->Microphone Usage Description

2.1 创建 iOS 项目

  1. 打开 Xcode 并点击 Create a new Xcode project

  2. 选择项目类型为 Single View App,并点击 Next;

  3. 输入项目信息,如项目名称、开发团队信息、组织名称和语言,并点击 Next

  4. 选择项目存储路径,并点击 Create

  5. 将你的 iOS 设备连接至电脑;

  6. 进入 TARGETS > Project Name > General > Signing 菜单,选择 Automatically manage signing,并在弹出菜单中点击 Enable Automatic

2.2 下载集成 SDK

  1. 前往 SDK 下载页面,获取最新版的 海马云 SDK,然后解压出 HMCloudPlayerCore.framework,HMWebRTC.framework
  2. 将 HMCloudPlayerCore.framework (不要修改SDK名字) 复制到项目文件夹下;
  3. HMWebRTC为webrtc流依赖库,将 HMWebRTC.framework 复制项目文件夹下;
  4. 打开 Xcode(以 Xcode 11.0 为例),进入 TARGETS > Project Name > General > Frameworks, Libraries, and Embedded Content 菜单,点击 +,再点击 Add Other… 添加 HMCloudPlayerCore.framework HMWebRTC.framework。添加完成后,项目会自动链接其他系统库。为保证动态库的签名和 app 的签名一致,你需要将动态库的 Embed 属性设置为 Embed & Sign

3 快速入门

3.1 导入头文件

#import <HMCloudPlayerCore/HMCloudPlayer.h>

3.2 创建单例

/**
 *  生成一个单例
 */
+ (instancetype) sharedCloudPlayer;

3.3 配置SDK连接地址接口

在调用注册SDK接口前,调用该接口,可以指定 SDK 连接地址信息;在调用注册SDK接口后,调用该接口,会返回失败。
无特殊说明,接入方无需调用该接口。

/**
 配置云游戏连接信息;该方法在创建单例后第一时间调用

 @param info 连接信息 AUTH / Countly / Link
 @return 是否成功 //参数类型非法,或者已经请求过SAAS地址,均返回失败。
 */
- (BOOL) config:(NSDictionary *)info;

参数说明

参数 类型 说明
info NSDictionary 连接地址信息

Info 字典中,有效 Key 含义说明如下:

参数 类型 说明
CloudGameConfigKeyAuthURL NSString SAAS AUTH请求地址
CloudGameConfigKeyLinkURL NSString SAAS WS长连接地址
CloudGameConfigKeyCountlyURL NSString 数据上报地址

3.4 注册 SDK

/**
 向海马云端注册

 @param accessKeyID 接入商ID
 @param channelId 接入商渠道ID
 @param launchOptions AppLauchuOptions
 @return 是否正常进行注册,最终注册结果异步返回
 */
- (BOOL) registCloudPlayer:(NSString *)accessKeyID 
                 channelId:(NSString *)channelId 
                   options:(NSDictionary *)launchOptions;
参数 类型 说明
accessKeyID NSString 接入商唯一ID
channelId NSString 渠道号,由接入商配置。如果应用本身不区分渠道,可以设置为一个随机值的字符串
options NSDictionary iOS App启动选项,在 didFinishLaunching 方法中由系统传入

3.5 准备游戏

接口会返回一个UIViewController, APP 需通过 present 或 push 方法将其展示在界面上。

/**
 准备游戏

 @param options 游戏参数
 @return 云游戏ViewController
 */
- (UIViewController *) prepare:(NSDictionary *)options;

参数说明

参数 类型 说明
options NSDictionary 游戏信息

options 字典中,有效 Key 含义说明如下:

参数 类型 说明 选项
CloudGameOptionKeyId NSString 游戏包名称 必选
CloudGameOptionKeyOrientation NSNumber 游戏屏幕方向0-横屏 1-竖屏 必选
CloudGameOptionKeyUserId NSString 游戏客户端用户的唯一识别码,如果没有用户登陆账号,可以随机生成长度在64以内的字符串,但需要每台客户端上的账号保证唯一性 必选
CloudGameOptionKeyUserToken NSString 用来校验userId的有效性,如果userId为随机生成,UserToken也可以随机生成 必选
CloudGameOptionKeyUserType NSString 用户类型:超级账号用户传5,其他传0;默认为0 必选
CloudGameOptionKeyConfigInfo NSString 免登使用,如果不需要免登功能,传任意非空字符串 必选
CloudGameOptionKeyCToken NSString 用来校验参数的有效性 必选
CloudGameOptionKeyPriority NSNumber 用户申请游戏服务的优先级,默认写0;数值越大,优先级越高 必选
CloudGameOptionKeyPlayingTime NSNumber 用户可以玩游戏的时长,单位是ms 必选

3.6 开始游戏

/**
 开始游戏
 */
- (void) play;
×

本篇文章对你是否有帮助?

更多建议

请输入您的建议