上云无忧 > 文档中心 > 百度智能云云手机云游戏 Android SDK
百度智能云云手机云游戏 Android SDK

文档简介:
云游戏Android SDK文档v1.6.2 云游戏Android SDK 主要功能是为APP赋予游戏试玩能力,用户在运营平台配置好了试玩游戏后,客户端App通过SDK进行试玩操作,提升游戏分发转化率。
*此产品及展示信息均由百度智能云官方提供。免费试用 咨询热线:400-826-7010,为您提供专业的售前咨询,让您快速了解云产品,助您轻松上云! 微信咨询
  免费试用、价格特惠



云游戏Android SDK文档v1.6.2

云游戏Android SDK 主要功能是为APP赋予游戏试玩能力,用户在运营平台配置好了试玩游戏后,客户端App通过SDK进行试玩操作,提升游戏分发转化率。

简介

云游戏Android SDK 发行版包括aar包、javadoc文档、完整的Demo示例。以下使用表示SDK解压根目录。

  • AAR文件:/aar,开发时导入
  • mapping:/mapping,mapping文件
  • javadoc文档:/javadoc,javadoc文档
  • 示例项目源码:/demoSrc,完整的demo目录。帮助您快速熟悉开发SDK
  • 示例项目APK:/demo.apk,demo apk
  • 用户手册:本文档

云游戏 SDK 下载


版本号 更新时间 下载地址 备注
V 1.6.2 2021.07.07 Android SDK下载 增加设备对1080p分辨率支持
V 1.6.0 2021.03.11 Android SDK下载 修复声音异常等bug,增加通过tagKey请求设备连接
V 1.5.5 2021.01.15 Android SDK下载
V 1.5.4 2020.09.07 Android SDK下载

运行环境

可运行于 Android 4.2( API Level 16) 及 以 上 版 本

SDK导入及配置

申请密钥对(ak和sk)

开发者请向运营申请创建App并获取sdk使用的ak和sk。

导入aar包

SDK包含gameboxlib-veriosn-xxx.aar,请将aar文件复制到项目libs目录,并根据如下代码配置build.gradle

android {
   //android标签内添加aar目录
    repositories {
        flatDir {
            dirs 'libs'
        }
    }
}

dependencies {
	//添加依赖
	compile fileTree(dir: 'libs', include: ['*.jar'])
    compile(name: 'gameboxlib-veriosn-xxx', ext: 'aar')
}

SDK权限配置


<uses-permission android:name="android.permission.INTERNET" /> <uses-permission 
android:name="android.permission.WRITE_EXTERNAL_STORAGE" /> <uses-permission 
android:name="android.permission.READ_EXTERNAL_STORAGE" /> <uses-permission
 android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission 
android:name="android.permission.ACCESS_WIFI_STATE" />


代码混淆


-keepattributes SourceFile,LineNumberTable,Signature -keepclasseswithmembernames class 
* { native <methods>; } -keep class com.alibaba.fastjson.** { *; } -keep class com.mci.** 
{ *; }


SDK初始化

在Application的onCreate方法中调用如下代码完成初始化:

/**
     * 初始化sdk
     *
     * @param ak appKey
     * @param sk secKey
     */ public void init(String ak, String sk, String dc);

游戏获取

游戏列表获取,游戏列表支持分页获取。

同步方法,在非UI线程中调用。

List<GameInfo> gameList = GameBoxManager.getInstance(this).queryGameList(int start,int limit)

根据gid获取运营平台配置的游戏 。 (added v1.2.0)

同步方法,在非UI线程中调用。

GameInfo gidGameInfo = GameBoxManager.getInstance(this).queryGame(int gid)

根据包名获取运营平台配置的游戏列表。 (added v1.2.0)

同步方法,在非UI线程中调用。

List<GameInfo> pkgGameList = GameBoxManager.getInstance(this).queryGames(String pkg)

根据游戏名称获取运营平台配置的游戏列表。 (added v1.5.4)

同步方法,在非UI线程中调用。

List<GameInfo> pkgGameList = GameBoxManager.getInstance(this).queryNameGames(String appName)

更新单个游戏信息

同步方法,在非UI线程中调用。

GameInfo gameInfo = GameBoxManager.getInstance(this).updateGameInfo(GameInfo info)

游戏试玩

申请试玩设备

试玩某一款游戏时传入试玩游戏信息,使用sdk申请设备。

如申请设备成功则返回状态码:APIConstants.API_CALL_SUCCESS和DeviceControl用于控制设备,否则返回对应错误码。


GameBoxManager.getInstance(this).applyCloudDevice(@NonNull GameInfo gameInfo, @NonNull new
 APICallback<DeviceControl>(){ @Override public void onAPICallback(DeviceControl deviceControl, int code)
 { //回调 } })


如需执行脚本文件传入scriptMap,没有可以不传

scriptMap值说明

字段 含义 类型 必填
scriptUrl 执行脚本存储url String
params 执行脚本参数 String

如需指定标签分组tagKey,没有可以不传


GameBoxManager.getInstance(this).applyCloudDevice(@NonNull GameInfo gameInfo, boolean playQueue,String tagKey,
 HashMap<String,String> scriptMap, @NonNull new APICallback<DeviceControl>(){ @Override public void 
onAPICallback(DeviceControl deviceControl, int code) { //回调 } })


启动游戏试玩

在设备申请成功后,可使用返回的DeviceControl启动游戏试玩。游戏试玩界面需要添加到一个FragmentActivity中,

需要传入ViewGroup的id供添加试玩View。如返回状态码:APIConstants.CONNECT_DEVICE_SUCCESS则表示设备启动成功。

建议试玩界面全屏展示,参照demo中试玩界面

DeviceControl.startGame(@NonNull FragmentActivity activity, @IdRes int containerId, @NonNull APICallback<String> callback)

试玩设置

设置试玩监听


/**
 * 设置试玩监听
 * @param listener    PlayListener 回调
 */ public abstract void setPlayListener(PlayListener listener); /**
 * 试玩监听
 */ public interface PlayListener { /**
     * 网络延时反馈
     *
     * @param ping 网络延时,单位ms
     */ void onPingUpdate(int ping); /**
         * 无操作超时回调
         *
         * @param type    类型。1为后台,2为前台
         * @param timeout 超时时长,单位s
         * @return 返回true表示消耗了事件,sdk不处理超时逻辑;返回false表示未消耗事件,在倒计时结束后,sdk会停止试玩
         */ boolean onNoOpsTimeout(int type, long timeout); /**
         * 设备信息返回
         *
         * @param info 统计信息json format
         */ void onPlayInfo(String info){ "downRate":%d, //总下行流量 "upRate":%d, //总上行流量 "videoFps":%d, //
实时视频帧率 "videoBitrate":%d, //视频码率 "rtt":%d, //RTT "screenFps":%d, //刷新率 "captureTimeAvg":%d,
 //平均采集耗时 "captureTimeMax":%d, //最大采集耗时 "captureTimeMin":%d, //最小采集耗时 "videoEncodingTimeAvg":%d,
 //平均编码耗时 "videoEncodingTimeMax":%d, //最大编码耗时 "videoEncodingTimeMin":%d, //最小编码耗时 "packetLoss":%.2f,
 //丢包率 "decodeTimeAvg":%d, //平均解码耗时 "decodeTimeMax":%d, //最大解码耗时 "decodeTimeMin":%d, //最小解码耗时
 "videoRendererFps":%d //渲染帧率 }


设置试玩结束监听,支持试玩结束倒计时

/**
     * 设置试玩倒计时监听
     * @param threshold 阈值,到达开始倒计时回调,如果小于等于0,则从设置监听起开始回调
     * @param listener 监听listener
     */ public abstract void setTimeCountDownListener(int threshold, TimeCountDownListener listener); /**
 * 试玩结束倒计时监听
 */ public interface TimeCountDownListener { /**
     * 倒计时触发
     *
     * @param remainingTime 剩余时间,单位s秒
     */ void countDown(int remainingTime); }

设置前后台无操作超时

/**
 * 设置无操作超时  (modified v1.5.3)
 * @param foregroundTimeout 前台超时,单位s
 * @param backgroundTimeout 后台超时,单位s
 */ public abstract void setNoOpsTimeout(long foregroundTimeout, long backgroundTimeout);

设置试玩清晰度,更高的清晰度试玩效果更佳,但是相对消耗流量也更多。分辨率码率由智能云平台-->应控用部署-->配置管理设置

/**
     * 调整试玩的码率
     * @param level 等级,目前支持5档
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_AUTO} 自动
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_HD} 高清switchQuality
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_ORDINARY} 普通
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_HS} 一般
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_LS} 流畅
     */ public abstract void switchQuality(@APIConstants.VideoQuality String level);

设置游戏分辨率(added 1.6.2)设置优先级大于智能云平台设置

/**
    * 设置游戏分辨率,支持四档,从高档到低档
    * @param infos
    */ public abstract void setVideoLevels(List<GameQualityInfo> infos);

GameQualityInfo字段如下:

字段 说明 必填
width 压码视屏宽
height 压码视屏高
bitRate 码率
maxFrameRate 最大帧率 否(不传默认30)
minFrameRate 最小帧率 否(不传默认15)
gop I帧间隔 否(不传默认50)
sound 声音开关 否(不传默认开)
compressionType 服务端设备压码方式,1软压,2硬压 否(不传默认2硬压)

动态设置游戏分辨率(added 1.6.2)

/**
 * 动态设置分辨率 设置后马上生效
 * @param info
 */ public abstract void setVideoLevel(GameQualityInfo info);

获取默认分辨率,没有默认返回""(added v1.5.4)

/**
     * 
     * 
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_AUTO} 自动
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_HD} 高清switchQuality
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_ORDINARY} 普通
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_HS} 一般
     * {@link APIConstants#DEVICE_VIDEO_QUALITY_LS} 流畅
     */ public abstract @APIConstants.VideoQuality String getDefaultGameLevel();

设置视频流是否强制竖屏(added v1.5.4)

/**
     * 
     * 设置视频流显示模式,默认自动切换,需要在startGame之前调用
     */ public abstract void setVideoOrientation(int orientation);

设置声音开关

/**
     * 试玩声音开关
     * @param audioSwitch
     */ public abstract void setAudioSwitch(boolean audioSwitch);

设置云手机声音大小(added 1.6.2)

/**
     * 发送按键事件
     * @param keyCode 使用红手指的{@link com.mci.play.MCIKeyEvent}里面的code
     *                MCIKeyEvent.KEYCOED_VOLUME_UP    音量增加
     *                MCIKeyEvent.KEYCOED_VOLUME_DOWN  音量减少
     */ public abstract void sendKeyEvent(int keyCode);

resume和pause方法用于app切换前后台(added 1.6.2)

/**
  * 切回到前台调用,会继续解析音视频,流会继续推送.
  */ public abstract void resume(); /**
  * 切到后台调用,会停止解析音视频,流会继续推送
  */ public abstract void pause();

退出试玩

在退出试玩时调用,否则无法进行下一次试玩,建议在Activity onDestory中调用

/**
     * 停止试玩,在退出试玩的时候必须回调,否则无法进行下一次试玩
     */ public abstract void stopGame();

如需停止游戏后执行脚本,stopGame可以传入HashMap scriptMap

scriptMap值说明
字段 含义 类型 必填
scriptUrl 执行脚本存储url String
params 执行脚本参数 String
delayTime 断开直连延时时间 Long
/**
     * 停止试玩,在退出试玩的时候必须回调,否则无法进行下一次试玩
     */ public abstract void stopGame(HashMap<String,Object> scriptMap);


### 排队机制

排队机制是在原有设备申请接口上新增的机制,在设备使用高峰期可以帮助产品挽留用户。排队过程中只能同时一款游戏进行排队,
排队过程中可以申请进入其他有空闲设备的机器。

#### 设置会员等级

会员等级分为普通会员`MemberLevel.NORMAL`、VIP会员`MemberLevel.VIP`、超级VIP会员`MemberLevel.SUPER_VIP`,
默认为普通会员。开发者可以与自己的会员体系进行映射,会议会影响加速效果,在加速之前可通过`GameBoxManager`
先进行全局的会员等级设置。

```java
   /**
     * 设置会员等级
     *
     * @param memberLevel
     */逻辑
    public void setMemberLevel(MemberLevel memberLevel) {
        mMemberLevel = memberLevel;
    }

    /**
     * 获取当前会员等级
     *
     * @return
     */
    public MemberLevel getMemberLevel() {
        return mMemberLevel;
    }


申请排队

申请设备时playQueue为true在设备不足的情况下会进入排队状态,返回状态码APIConstants.WAITING_QUEUE,此时无法调用DeviceControl.startGame()。

同一时间只能有一款游戏进行排队,如在排队过程中有其他游戏进入队列则返回APIConstants.ERROR_OTHER_DEVICE_WAITING


/**
     * 根据游戏信息申请试玩设备
     *
     * @param gameInfo  游戏信息
     * @param playQueue 如果没有设备是否自动进入队列
     * @param callback  异步回调
     */ GameBoxManager.getInstance(this).applyCloudDevice(@NonNull GameInfo gameInfo, boolean playQueue,
 @NonNull new APICallback<DeviceControl>(){ @Override public void
 onAPICallback(DeviceControl deviceControl, int code) { //回调 } })


获取排队进度

在游戏成功进入排队以后,可以定时检测队列状态


/**
     * 加入队列,获取队列状态
     *
     * @param gameInfo      游戏信息
     * @param checkInterval 队列检测时间间隔,单位秒
     * @param callback      回调
     */ GameManager.getInstance(this).joinQueue(GameInfo gameInfo, int checkInterval, APICallback<QueueRankInfo> callback); /** 
 如需使用脚本,可以传入scriptMap
     * @param tagKey     分组标签
     * @param scriptMap     脚本map
     */ GameManager.getInstance(this).joinQueue(GameInfo gameInfo, int checkInterval,
 APICallback<QueueRankInfo> callback,String tagKey,HashMap<String,Object> scriptMap);


添加多个队列监听调用 DeviceControl:

/**
     * 注册排队监听回调
     * @param callback 回调
     */ public void registerQueueCallback(APICallback<QueueRankInfo> callback);

可以通过监听回调,获取当前队列的状态进度和事件 队列信息:


public class QueueRankInfo { //游戏信息 public GameInfo gameInfo; //当前排名 public int queueRanking;
 //预估时间,单位毫秒,不准确 public long queueWaitTime; }


队列事件:


/** 队列更新 */ public static final int QUEUE_UPDATE = 1004; /**
 队列加速前 */ public static final int QUEUE_ACCELERATE_BEFORE = 1005; /** 队列加速后
 */ public static final int QUEUE_ACCELERATE_AFTER = 1006; /** 排队成功 */
 public static final int QUEUE_SUCCESS = 1007; /** 队列退出 */
 public static final int QUEUE_EXIT = 1008; /** 排队失败 */ public static final int QUEUE_FAILED = 1009;
 /** 不存在队列,直接申请*/ public static final int QUEUE_NO_QUEUE = 1010;


队列加速

为了配合产品策略,提供队列加速功能,

/**
     * 队列加速
     * @param accCount 加速前进数量
     */ GameManager.getInstance(this).accelerateQueue(int accCount) /** 如需使用脚本,可以传入scriptMap
     * @param scriptMap     脚本map
     * @param tagKey     分组标签
     */ GameManager.getInstance(this).accelerateQueue(int accCount, String tagKey, HashMap< String, Object > scriptMap);

退出队列

退出队列接口,如果退出试玩,一定要调用此接口,否则肯会内存泄漏

/**
     * 退出队列
     */ GameManager.getInstance(this).exitQueue() /**
     * 指定标签退出队列
     */ GameManager.getInstance(this).exitQueue(String tagKey) 

跨进程调用

为了方便开发者使用SDK在不同进程中启动云游戏,例如:A进程排队申请设备,B进程启动云游戏,

支持通过传递设备TOKEN方式完成跨进程调用,TOKEN有效期2分钟。

获取Token

在申请设备成功之后,通过DeviceControl获得设备Token:

/**
     * 生成设备连接信息,用于跨进程调用
     *
     * @return
     */ public String getDeviceToken();

通过Token连接

Token有效期2分钟,如果Token过期会返回

APIConstants.ERROR_DEVICE_TOKEN_VALID_FAILED

1、先通过Token重新获取DeviceControl:


/**
     *  根据已有设备Token还原设备链接信息
     * @param deviceToken 设备token
     * @param callback 回调
     */ GameBoxManager.getInstance(this).applyCloudDeviceWithToken(String deviceToken,
 @NonNull new APICallback<DeviceControl>(){ @Override public void onAPICallback(DeviceControl deviceControl, int code) { //回调 } })


2、启动云游戏

参照启动云游戏

数据通道

数据通道是指在用户手机和云手机之间的一个长连接,用于文本数据上下行数据传输,数据进行加密,

方便开发者进行和远程App的通讯。可用于远程登录、远程支付(H5)、消息传递等。

客户端发送数据

在申请设备成功之后,通过DeviceControl发送数据,数据内容以Key-Value形式发送。

/**
 * 向当前启动的云手机App发送消息,消息格式自定义
 *
 * @param map
 */ public abstract void sendMessageToDevice(Map<String, String> data);

客户端接收数据

在申请设备成功之后,通过DeviceControl注册DataTransferListener监听,接收云手机发送的数据。

/**
     * 注册监听,接收云手机App返回的消息
     *
     * @param listener
     */ public abstract void registerDataTransferListener(DataTransferListener listener); /**
     * 云手机消息接收监听
     */ public interface DataTransferListener { /**
         * 接收到云手机消息回掉
         *
         * @param data 消息未自定义格式
         */ void onReceiveData(Map<String, String> data); /**
         * 消息发送失败
         *
         * @param code
         */ void onSendFailed(int code); }

云手机收发数据

参照百度云游戏帐号互通SDK文档

传感器采集

传感器采集,是将本地的传感器信息采集后发送到云手机上进行还原,达到本地与云手机一致。目前支持采集得传感器包含麦克风、摄像头、陀螺仪、加速器等。

备注:

  1. 麦克风和摄像头包含采集、编码、传输、还原、渲染等步骤,目前摄像头对480P(800*480)支持效果较好(1-2s),720p支持待优化。
  2. 音视频编码需要根据设备类型和需求进行适配,因此采集、编码需要开发者自行根据DEMO中hardware模块进行调整开发。

传感器回调

在申请到设备之后,注册此监听,当云手机App使用到相关传感器之后,会进行回调。 回调包含:硬件ID(SensorConstants.CloudPhoneSensorId)、硬件状态(SensorConstants.SensorState)

/**
     * 注册监听,接收硬件采集信息
     *
     * @param listener
     */ public abstract void registerSensorSamplerListener(SensorSamplerListener listener); /**
     * 采集硬件信息回掉
     */ public interface SensorSamplerListener { /**
         * 采集硬件信息状态发生变化
         *
         * @param sensor 硬件类型  @SensorConstants.CloudPhoneSensorId
         * @param state  硬件状态  @SensorConstants.SensorState
         */ void onSensorSamper(@SensorConstants.CloudPhoneSensorId int sensor, @SensorConstants.SensorState int state); }

传感器数据发送

将本地数据发送至传感器,需要指定传感器类型和数据类型,具体参照DEMO

/**
     * 发送硬件信息,此接口针对摄像头和麦克风数据
     *
     * @param type 硬件类型 @{@SensorConstants.CloudPhoneSensorId}
     * @param type 数据@{@SensorConstants.CameraVideoType}
     * @return
     */
    public abstract void sendSensorInputData(@SensorConstants.CloudPhoneSensorId int sendor,
                                             @SensorConstants.AudioType @SensorConstants.CameraVideoType int type,
                                             byte[] data);

    /**
     * 发送硬件传感器信息,此接口针对陀螺仪、加速器、重力感应等传感器
     * @param sendor 传感器id @{@SensorConstants.CloudPhoneSensorId}
     * @param sensorType @{传感器类型 SensorConstants.SensorType}
     * @param data 传感器数据参数
     */
    public abstract void sendSensorInputData(@SensorConstants.CloudPhoneSensorId int sendor,
                                             @SensorConstants.SensorType int sensorType,
                                             float... data);

云手机信息修改

为了方便支持客户端同步设备信息,目前支持将IMEI、AndroidID同步到云手机上。需要在启动游戏之前设置,每次设置只当次启动生效 (added v1.5.3)

调用GameManager方法,在申请设备之进行设置。

备注:由于修改硬件信息为异步操作,成功率为99%

/**
     * 设置云手机参数信息,需要在申请设备之前进行设置
     *
     * @param key   目前支持imei,androidid
     * @param value
     */ public void addDeviceMockInfo(String key, String value) { mMockInfo.put(key, value); } /**
     * 移除云手机参数信息
     *
     * @param key 目前支持imei,androidid设置
     */ public void removeDeviceMockInfo(String key) { mMockInfo.remove(key); }

DeviceMockInfo里面有目前支持的key

DeviceMockInfo支持key,目前支持字段如下(后期可能会扩展,扩展之后直接添加相应字段,方法不变):

字段 说明
brand 品牌
model 设备型号
manufacturer 厂商
wifimac Wifi mac 物理地址
serialno 序列号
baseband 基带
board 主板名
displayId 显示的版本号,可以任意修改,显示为手机信 息的内部版本号
device 设备名
fingerprint 系统指纹
productName 产品名称
buildId build 的版本号
buildHost 系统主机名,
bootloader 品牌
buildTags 系统标记
buildType 系统编译类型
buildVersionInc 版本的增加说明
buildDescription 编译备注
imei 序列号(串号)
phonenum 电话号码
iccid SIM 卡卡号
imsi 用户识别码
imeisv 国际移动设备标识码软件版本
wifiname wifi 名称
bssid MAC 物理地址
androidid 厂商自定义的一个字符串

DEMO示例集成

为了方便大家快速开发使用云游戏SDK,我们在SDK中附带了一个DEMO,供大家参考使用,可以根据DEMO稍做修改快速集成到自己的产品中。

DemoApplication : 将 onCreate中初始化sdk复制到产品自定义的Application完成初始化。

HomeActivity:主界面,包含一个游戏列表,以及下拉刷新,可以进行自定义。

GameRunningActivity:试玩界面,已经完成了出下载外的所有逻辑,可以在downloadApp(String pkgName)加上调用App下载模块的逻辑。

附录

状态码说明

代码 含义
APPLY_DEVICE_SUCCESS 1000 设备申请成功
CONNECT_DEVICE_SUCCESS 1001 设备连接成功代码
RECONNECT_DEVICE_SUCCESS 1002 设备重连成功
WAITING_QUEUE 1003 当全无设备,需要排队
QUEUE_UPDATE 1004 队列更新
QUEUE_ACCELERATE_BEFORE 1005 队列加速前
QUEUE_ACCELERATE_AFTER 1006 队列加速后
QUEUE_SUCCESS 1007 排队完成
QUEUE_EXIT 1008 队列退出
QUEUE_FAILED 1009 排队失败
QUEUE_NO_QUEUE 1010 排队失败
ERROR_API_CALL_ERROR -1000 API调用失败
ERROR_NO_DEVICE -1001 无设备
ERROR_NETWORK_ERROR -1002 网络错误
ERROR_DEVICE_EXPIRED -1003 设备过期
ERROR_DEVICE_OTHER_ERROR -1004 申请设备未知错误
ERROR_OTHER_DEVICE_RUNNING -1005 有未释放的设备实例
ERROR_SDK_INIT_ERROR -1006 播放SDK初始化失败
ERROR_APP_QUERY_ERROR -1007 应用信息获取失败
ERROR_WAITING_QUEUE -1008 游戏启动失败,正在排队
ERROR_OTHER_DEVICE_WAITING -1009 有其他游戏正在排队,无法排队
ERROR_DEVICE_TOKEN_VALID_FAILED -1010 通过DeviceToke跨进程重连错误

SDK提交记录

主版提交记录:

  • 20190315: v1.0 首次提交
  • 20190329: v1.1 so初始化延后至游戏启动,增加渠道
  • 20190418: v1.1.5 增加数据统计能力
  • 20190830: v1.2.0 增加PlayListener,增加无操作超时设置。
  • 20191111: v1.3.0 增加排队机制
  • 20200210: v1.4.0 增加数据互通能力
  • 20200309: v1.5.0 增加传感器采集能力
  • 20200415: v1.5.3 增加IMEI、AndroidID同步、Location传感器虚拟、修改无操作超时逻辑试玩设置、READ_PHONE_STATE权限移除
  • 20200827: v1.5.4 迁移到新SaaS平台,新增通过游戏名称获取运营平台配置的游戏列表,新增获取默认分辨率设置
  • 20210115: v1.5.5 云手机和云游戏sdk合并,并且支持新老pass平台切换



相似文档
  • [toc] 说明 open-api接口文档 域名 https://yunapp-api.baidu.com header参数 字段 名称 类型 必填 备注 appKey 应用账户名 String 是 URL必填参数 字段 名称 类型 必填 备注 time 时间戳 timestamp 是 客户端获取时间戳 sign 签名 String 是 md5加密
  • 云手机Android SDK文档v1.5.5 云手机Android SDK主要功能是为APP赋予云手机使用能力,可以通过SDK连接云手机,完成对云手机的一系列操作。
  • 百度云游戏账号互通Android SDK主要功能是为了打通用户手机与云手机之间数据传输,将用户信息同步到云手机,实现账号登陆功能,以及将云手机上游戏支付订单发送到用户本地手机,完成订单支付。
  • 服务水平协议SLA 协议生效时间:2020年01月07日 本服务等级协议(Service Level Agreement,以下简称 "SLA")规定了百度智能云向客户提供的ARM云手机(Arm Cloud Mobilephone,简称"ARMCM")服务可用性等级指标及赔偿方案。
  • 云手机的收费标准是什么? 高配旗舰型:旗舰级ARM处理芯片,适用于大型云游戏等场景,¥99/月起 中配普通型:主流级ARM处理芯片,适用于内容监测等场景,¥69/月起 入门基础型:入门级ARM处理芯片,适用于应用托管等场景, ¥49/月起
官方微信
联系客服
400-826-7010
7x24小时客服热线
分享
  • QQ好友
  • QQ空间
  • 微信
  • 微博
返回顶部