跳转至

安卓 SDK API 文档

API 方法定义

class Moving {
    /**
     * 获取全局单例管理的游戏sdk实例
     *
     * @return 返回sdk管理实例
     */
    public static Moving getInstance()

    /**
     * 初始化SDK
     * 必选       建议在Application 的 onCreate方法中添加
     * 注意:需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @param context
     * @return
     */
    public static Moving init(Application context)

    /**
     * 获取sessionId
     *
     * @return 返回全局唯一的 session id
     */
    @NotNull
    public synchronized String getSessionId()

    /**
     * SDK 开放API方法:准备开始游戏
     * 进入主页面需要先调用此方法
     * 注意:此方法之前需要先初始化SDK {@link Moving} init(Application context)
     * <p>
     * 2.0 版本修改记录 删除二维码鉴权功能 2021-07-22
     */
    public synchronized void prepare2Start(MovingPre2StartParam pre2StartParam)

     /**
     * SDK 开放API方法:开始游戏
     *
     * @param startToken 启动游戏的token
     */
    public void startGame(String startToken)

     /**
     * SDK 开放API方法:结束游戏(主动/被动退出游戏时调用)
     *
     * @param isNotify2Server 是否通知服务器结束游戏;主动结束时设置true,被动结束时设置false
     */
    public void stopGame(boolean isNotify2Server)

     /**
     * SDK 开放API方法:释放游戏资源
     */
    public void releaseGame()

    /**
     * 添加SDK监听器
     *
     * @param sdkListener
     * @return
     */
    public Moving addMovingListener(MovingListener sdkListener)

    /**
     * 移除SDK监听器
     *
     * @param sdkListener
     * @return
     */
    public Moving removeMovingListener(MovingListener sdkListener)

    /**
     * 查看游戏是否正在进行中
     *
     * @return true表示游戏正在进行中
     */
    public boolean isGameStated()

    /**
     * 设置游戏画质
     *
     * @param level_config 视频等级修改参数。通过OPENAPI displayGrade接口获取
     */
    public Moving setServiceLevel(String level_config)

    /**
     * 设置服务器地址
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @return 本实例对象,方便链式调用
     */
    public Moving setServerAddress(String serverAddress) 

    /**
     * 设置渠道号
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @return 本实例对象,方便链式调用
     */
    public Moving setChannelId(String channelId)

    /**
     * 设置是否启用日志
     *
     * @param isShowLog true 启用日志,false禁用日志
     * @return 本实例对象,方便链式调用
     */
    public Moving setShowLog(boolean isShowLog)

    /**
     * 设置WebSocket连接地址,例如 wss://echo.websocket.org
     * <p>
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @param connectUrl
     * @return 本实例对象,方便链式调用
     */
    public Moving setWssConnectUrl(String connectUrl)

    /**
     * 设置WebSocket连接超时时间(单位:毫秒), 默认为 0(不设置超时时间)
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @param wssConnectTimeout
     * @return 本实例对象,方便链式调用
     */
    public Moving setWssConnectTimeout(int wssConnectTimeout) 

    /**
     * 设置WebSocket心跳间隔时间,单位为秒; 默认为 60 s。
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @param wssConnectionLostTimeout
     * @return 本实例对象,方便链式调用
     */
    public Moving setWssConnectionLostTimeout(int wssConnectionLostTimeout)

    /**
     * 设置WebSocket连接断开后的重连次数, 默认为 10 次
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam) } 之前设置
     *
     * @param wssReconnectFrequency
     * @return 本实例对象,方便链式调用
     */
    public Moving setWssReconnectFrequency(int wssReconnectFrequency)

    /**
     * 在游戏开始前,设置硬解软解方法
     * 注意:如需设置,需要在{@link #prepare2Start(MovingPre2StartParam)} 之前设置
     *
     * @param type 1、软解 2、硬解 可使用常量类{@link MovingDecodeType }
     * @return 本实例对象,方便链式调用
     */
    public Moving setDecodeType(int type)
}

MovingListener 监听参数说明

public enum MovingListenerCode {
    WSS_CONNECTED(256, "【WebSocket】连接成功"),
    WSS_CONNECT_FAILED(257, "【WebSocket】连接失败"),
    WSS_DISCONNECT(258, "【WebSocket】连接断开"),
    WSS_SEND_DATA_ERROR(259, "【WebSocket】数据发送失败"),
    WSS_MESSAGE(260, "【WebSocket】接收到消息"),
    WSS_PING(261, "【WebSocket】接收到 ping"),
    WSS_PONG(262, "【WebSocket】接收到 pong "),
    SDK_AUTH_SUCCESS(513, "【SDK】鉴权成功"),
    SDK_MIGRATE_ASK(514, "【SDK】询问迁移"),
    SDK_IN_THE_QUEUE(515, "【SDK】当前需要排队"),
    SDK_PREPARE_SUCCESS(517, "【SDK】准备成功,可以进入游戏页面开始游戏"),
    SDK_QUEUE_CHANGE(518, "【SDK】更新队列位置"),
    SDK_MovingCloudGame_INIT_SUCCESS(519, "【SDK】MovingCloudGameSDK初始化成功"),
    SDK_FORCE_EXIT(520, "【SDK】强制退出"),
    WSS_GAME_STOP_SUCCESS(521, "【WebSocket】wss游戏停止响应成功消息 "),
    WSS_REFRESH_RENEW_DEADLINE_SUCCESS(528, "【WebSocket】续币成功"),
    UI_UPDATE_CURSOR_ICON(768, "【UI】更新光标指针位置"),
    UI_MESSAGE_FROM_GS(769, "【UI】收到消息"),
    UI_ON_GAME_STARTING(770, "【UI】游戏开始加载"),
    UI_ON_GAME_BEGIN(771, "【UI】游戏开始"),
    UI_ON_GAME_STOP(772, "【UI】游戏停止"),
    UI_ON_GAME_QOS(773, "【UI】游戏服务质量信息"),
    UI_ON_ERROR(774, "【UI】游戏异常"),
    UI_ON_LOAD_PROGRESS_CHANGED(775, "【UI】游戏加载进度更新"),
    UI_SET_LEVEL_SUCCESS(776, "【UI】视频修改成功"),
    UI_SET_LEVEL_FAIL(777, "【UI】视频修改失败"),
    UI_USER_EXIT(778, "【UI】用户退出游戏"),
    UI_RESIZE_LAYOUT(779, "【UI】重新计算游戏界面布局的大小"),
    SDK_MovingCloudGame_INIT_FAIL(1024, "【异常】MovingCloudGameSDK初始化失败"),
    SDK_START_GAME_FAIL(1025, "【异常】开始游戏异常");
}