Android SDK 参考手册
1 Android SDK 参考手册
1.1 HmcpManager 类
与云服务通信,初始化云服务相关的操作
| 方法 | 描述 |
|---|---|
| getInstance | 获取实例 |
| init | 初始化云服务 |
| getCloudId | 获得实例cid |
| gameArchived | 查询用户是否有存档 |
| getGameArchiveStatus | 获取存档状态 |
| setReleaseCid | 释放指定的cid |
| checkPlayingGame | 查询用户是否有正在进行,实例未被释放的游戏 |
| getResolutionInfos | 获取分辨率列表 |
1.2 HmcpVideoView 类
| 方法 | 描述 |
|---|---|
| play | 开始游戏 |
| setUserInfo | 设置用户登陆信息 |
| setConfigInfo | 配置信息 |
| setHmcpPlayerListener | 播放器的监听回调 |
| onStart | 生命周期 onStart |
| onResume | 生命周期 onResume |
| onPause | 生命周期 onPause |
| onStop | 生命周期 onStop |
| onDestroy | 生命周期 onDestroy |
| onExitGame | 退出游戏 |
| backToGame | 对应用层开放的返回游戏的接口 |
| onSwitchResolution | 切换播流的码率 |
| sendMessage | 对应用层开放的发送消息的接口 |
| getLastUserOperationTimestamp | 获取用户最后一次指令时间戳 |
| resetInputTimer | 重置无操作超时计时器 |
| startPlay | 重新申请游戏 |
| updateGameUID | 游戏过程中,更新UID、游戏时长接口 |
| getQRCodeData | 获取虚拟手柄二维码数据 |
| getInputUrl | 获取Input地址 |
| entryQueue | 排队状态下,进入队列方法 |
| exitQueue | 排队状态下,退出排队 |
| getClockDiffVideoLatencyInfo | 返回基于时钟校准的延迟信息 |
| getVideoLatency | 获取网络延迟接口 |
| startLiving | 对应用层开放的游戏直播接口 |
| stopLiving | 对应用层开放的停止游戏直播接口 |
| getPinCode | 对应用层开放的获取授权码接口 |
| contronPlay | 对应用层开放的获得控制权接口 |
| getLivingCapabilityStatus | 对应用层开放的是否支持直播接口 |
1.3 getInstance
public static HmcpManager getInstance()
单例类,创建一个 HmcpManager 对象。
| 返回参数 | 参数说明 |
|---|---|
| HmcpManager | 单例类,如果没有初始化则创建一个新对象 |
1.4 init1
public void init(Context context, final OnInitCallBackListener callBack)
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| context | Context | Context 上下文对象 |
| callBack | OnInitCallBackListener | 初始化返回的结果回调 |
1.5 init2
public void init(Bundle bundle, Context context, OnInitCallBackListener callBack)
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| context | Context | Context 上下文对象 |
| callBack | OnInitCallBackListener | 初始化返回的结果回调 |
| bundle | Bundle | Bundle |
1.6 getCloudId
public String getCloudId()
获取当前云游戏的 cid
| 返回参数 | 参数说明 |
|---|---|
| String | 如果 mCloudID = null 则返回空字符串 |
1.7 gameArchived
public void gameArchived(String packageName, UserInfo userInfo, final OnSaveGameCallBackListener listener)
查询用户是否有存档
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| packageName | String | 云游戏包名 |
| userInfo | UserInfo | 用户信息 |
| listener | OnSaveGameCallBackListener | 查询结果的回调监听 |
1.8 getGameArchiveStatus
public void getGameArchiveStatus(String packageName, UserInfo userInfo, final OnSaveGameCallBackListener listener)
获取云游戏的存档状态
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| packageName | String | 云游戏包名 |
| userInfo | UserInfo | 用户信息 |
| listener | OnSaveGameCallBackListener | 查询结果的回调监听 |
1.9 setReleaseCid
public void setReleaseCid(String packageName, long cloudId, String cToken, String appChannel, UserInfo2 userInfo2, final OnSaveGameCallBackListener listener)
释放指定的cid
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| packageName | String | 云游戏包名 |
| cloudId | Long | 云服务实例 ID |
| cToken | String | 用来校验参数的有效性,cToken的计算方法请参考服务端SDK文档 |
| userInfo2 | UserInfo2 | 用户信息 |
| listener | OnSaveGameCallBackListener | 查询结果的回调监听 |
1.10 checkPlayingGame
public void checkPlayingGame(UserInfo userInfo, final OnGameIsAliveListener listener)
查询用户是否有正在进行,实例未被释放的游戏
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| userInfo | UserInfo | 用户信息 |
| listener | OnGameIsAliveListener | 查询结果的回调监听 |
1.11 getResolutionInfos
public void getResolutionInfos(String packageName, String mAppChannel, final OnGetResolutionsCallBackListener listener)
获取云游戏的分辨率列表
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| packageName | String | 云游戏包名 |
| mAppChannel | String | 如果存在多款游戏同包名的情况,可以通过appChannel区分。如果不存在则可以忽略。 |
| listener | OnGetResolutionsCallBackListener | 查询结果的回调监听 |
1.12 play
public void play(Bundle bundle)
开始游戏
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| bundle | Bundle | 传递相关属性信息 |
1.13 setUserInfo
public void setUserInfo(UserInfo userInfo)
设置用户登录信息
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| userInfo | UserInfo | 用户登陆信息包括 userId 和 userToken |
1.14 setConfigInfo
public void setConfigInfo(String config)
配置信息
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| config | String |
1.15 setHmcpPlayerListener
public void setHmcpPlayerListener(HmcpPlayerListener hmcpPlayerListener)
云游戏播放时监听回调方法
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| hmcpPlayerListener | HmcpPlayerListener |
1.16 onStart
public void onStart()
在 Activity 的 onStart 方法调用
1.17 onResume
public void onResume()
在 Activity 的 onResume 方法调用
1.18 onPause
public void onPause()
在 Activity 的 onPause 方法调用
1.19 onStop
public void onStop()
在 Activity 的 onStop 方法调用
1.20 onDestroy
public void onDestroy()
在 Activity 的 onDestroy 方法调用
1.21 onExitGame
public void onExitGame()
结束云游戏并退出
1.22 backToGame
public void backToGame()
一键返回到游戏界面,针对有些第三方登陆多级,无法返回的情况。
1.23 onSwitchResolution
public void onSwitchResolution(int level, ResolutionInfo resolution, int rate)
刷新分辨率
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| level | Int | 验证版本号 |
| resolution | ResolutionInfo | 要切换的分辨率信息 |
| rate | Int | 可以随机数据 |
1.24 sendMessage
public void sendMessage(String payload, MessageType type, OnSendMessageListener listener)
发送消息给云游戏的接口
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| payload | String | 需要发送的消息 |
| type | MessageType | 消息类型,只支持 MessageType.PAY_TYPE |
| listener | OnSendMessageListener | 发送消息后,接口回调监听函数 |
1.25 getLastUserOperationTimestamp
public long getLastUserOperationTimestamp()
获取用户最后一次操作实例的时间戳
| 返回参数 | 参数说明 |
|---|---|
| Long | 默认返回 0,代表用户没有操作过实例,否则返回相应时间戳 |
1.26 startPlay
public void startPlay()
重新申请游戏
1.27 resetInputTimer
public int resetInputTimer(boolean needUpdateTimestamp)
public int resetInputTimer()
重置无操作超时计时器
| 入参数 | 参数类型 | 参数说明 |
|---|---|---|
| needUpdateTimestamp | Boolean | true:重置计时器并且更新用户最后一次操作时间戳 false:重置计时器不更新用户最后一次操作时间戳 |
| 返回参数 | 参数类型 | 参数说明 |
|---|---|---|
| result | Int | 0 : 代表和实例连接异常 1 : 重置无操作超时计数器成功 |
1.28 updateGameUID
public void updateGameUID(final Bundle bundle, final OnUpdataGameUIDListener listener)
更新UID和游戏时长
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| bundle | Bundle | 调用 putXXX() ,将下列所有参数赋值并打包到 bundle 中 |
| playingTime | Long | 游戏时长 |
| userID | String | 新的用户 id ,UID |
| tip | String | 更新成功的 tip 显示 |
| proto_data | String | 更新的 proto data |
| cToken | String | 更新的 cToken ,用来校验参数的有效性 |
| listener | OnUpdataGameUIDListener | 接口监听回调函数 |
1.29 getQRCodeData
public String getQRCodeData()
获取虚拟手柄二维码Json数据
| 返回参数 | 参数说明 |
|---|---|
| String | 虚拟二维码的 Json 数据 |
1.30 getInputUrl
public String getInputUrl()
获取当前云游戏的 InputUrl 地址
| 返回参数 | 参数说明 |
|---|---|
| String | 云游戏的 InputUrl 地址 |
1.31 entryQueue
public void entryQueue()
确认进入排队方法
1.32 exitQueue
public void exitQueue()
退出排队方法
1.33 getClockDiffVideoLatencyInfo
public VideoDelayInfo getClockDiffVideoLatencyInfo()
返回当前云游戏延迟相关信息
返回参数说明
| 方法 | 方法说明 |
|---|---|
| VideoDelayInfo.getNetDelay() | 获取帧网络耗时(最近1S内随机采样1帧) |
| VideoDelayInfo.getDecodeDelay() | 获取帧解码耗时(最近1S内随机采样1帧) |
| VideoDelayInfo.getRenderDelay() | 获取帧渲染耗时只包含解码后送入渲染队列的时间,不包含系统渲染部分(最近1S内随机采样1帧) |
| VideoDelayInfo.getFrameSize() | 获取帧大小(最近1S内随机采样1帧) |
| VideoDelayInfo.getVideoFps() | 获取视频帧率 |
| VideoDelayInfo.getBitRate() | 获取视频码率 |
| VideoDelayInfo.getReciveFrameCount() | 收到的总帧数 |
| VideoDelayInfo.getReceiveFrameSize() | 收到帧的总大小 |
1.34 getVideoLatency
public int getVideoLatency()
获取实时视频网络延迟,单位为ms
| 返回参数 | 参数说明 |
|---|---|
| Int | 实时视频网络延迟,单位为 ms |
1.35 startLiving
public void startLiving(String livingId, String livingUrl, OnLivingListener listener)
游戏直播接口
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| livingId | String | 直播ID |
| livingUrl | String | 直播地址 |
| listener | OnLivingListener | 调用结果回调 |
1.36 stopLiving
public void stopLiving(String livingId, OnLivingListener listener)
停止直播
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| listener | OnLivingListener | 调用结果回调 |
| livingId | String | 直播ID |
1.37 getPinCode
public void getPinCode(OnContronListener listener)
获取直播授权码
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| listener | OnContronListener | 调用结果回调 |
1.38 contronPlay
public void contronPlay(String cid, String pinCode, OnContronListener listener)
获得控制权接口
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| cid | String | cid |
| pinCode | String | 授权码 |
| listener | OnContronListener | 结果回调 |
1.39 getLivingCapabilityStatus
public void ELivingCapabilityStatus getLivingCapabilityStatus()
是否支持直播
| 参数 | 参数类型 | 参数说明 |
|---|---|---|
| ELivingCapabilityStatus | ENUM | 是否支持直播状态 |