添加链接
link管理
链接快照平台
  • 输入网页链接,自动生成快照
  • 标签化管理网页链接
(opens new window)

# PI base SDK集成文档_Android(v5.0.1)

# 1. 导入SDK资源

# 1.1 获取SDK

下载SDK: zeus_base_v5.0.1.zip

# 1.2 Android Studio集成(集成方式一)

# 1.2.1 添加SDK

a. 将aar文件拷贝到应用级app下的libs文件夹中

b. 打开应用级app下的build.gradle文件添加以下代码

//依赖aar需要添加下面代码
repositories {
    flatDir {
        dirs 'libs'

c. 在“dependencies”中添加下面的依赖, 'com.android.support:appcompat-v7:27.1.1'这个库是必须添加的

//添加云步zeus base sdk
implementation(name: 'zeus_base_api_v5.0.1', ext: 'aar')
//添加其他需要的依赖库,此依赖库必须添加,且不能低于此版本,如果有版本冲突的问题,请反馈我们
implementation 'com.android.support:appcompat-v7:27.1.1'
implementation 'com.android.support:recyclerview-v7:27.1.1'

# 1.3 Eclipse集成(集成方式二)

# 1.3.1 添加SDK

a. 将"Eclipse/libs"文件夹下所有文件复制到工程的libs文件夹下

# 2. AndroidManifest.xml及其他配置

# 2.1 添加权限配置

a. 在AndroidManifest.xml文件中添加以下权限:

	<!-- 需要的权限 start(直接复制即可) -->
    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    <!-- 需要的权限 end -->

# 2.2 配置Application(必须)

  • Application必须配置,否则SDK无法正常工作。

a. 在AndroidManifest.xml文件中,把application节点的android:name属性设置为 com.zeus.core.api.base.ZeusApplication

<!-- 配置云步SDK的Application -->
<application
	android:allowBackup="true"
	android:icon="@drawable/ic_launcher"
	android:label="@string/app_name"
	android:name="com.zeus.core.api.base.ZeusApplication" >
</application>

b. 如果游戏需要配置自己的Application,则游戏的Application继承ZeusApplication,然后在AndroidManifest.xml文件中配置成游戏的Application即可:

<!-- 配置游戏的Application,游戏的Application继承ZeusApplication -->
<application
	android:allowBackup="true"
	android:icon="@drawable/ic_launcher"
	android:label="@string/app_name"
	android:name="com.zeus.core.demo.GameApplication" >
</application>

游戏的Application类需要覆写一下onCreate()方法:

public class GameApplication extends ZeusApplication {
    @Override
    public void onCreate() {
        super.onCreate();

# 2.3 全面屏适配

a. 在AndroidManifest.xml文件中的application节点下配置meta-data:

<application
	android:allowBackup="true"
	android:icon="@drawable/ic_launcher"
	android:label="@string/app_name"
	android:name="com.zeus.core.api.base.ZeusApplication" >
	<!-- 全面屏适配(参考) -->
	<meta-data
        android:name="android.max_aspect"
        android:value="2.2" />
</application>

# 2.4 如果开启了依赖包也迁移到androidx,配置关闭

修改项目根目录的gradle.properties文件:

android.enableJetifier=false

android.enableJetifier=false 表示依赖包不迁移到 androidx

# 2.5 适配Android 9.0 不支持HTTP明文传输数据的问题

方法1(推荐):

在AndroidManifest.xml文件下的application标签增加以下属性:android:usesCleartextTraffic="true"

<application
	android:usesCleartextTraffic="true"
	.... />

或者

方法2:

在AndroidManifest.xml文件下的application标签增加以下属性:android:networkSecurityConfig="@xml/network_security_config"

<application
	android:networkSecurityConfig="@xml/network_security_config"
	.... />

network_security_config.xml (opens new window) 文件放到res/xml目录下(可右键-->链接另存为下载network_security_config.xml)

内容如下:

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
	<!--允许所有url使用http明文请求-->
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

# 2.6 Android SDK 版本要求

  • targetSdkVersion 设置为26或以上

  • minSdkVersion 建议设置为17

# 3. 接口调用

# 3.1 初始化相关接口

# 3.1.1 基础SDK初始化(必须)

  • 初始化接口必须调用,否则SDK无法正常工作。

  • 初始化SDK,必须在游戏启动Activity的onCreate()中调用该方法

ZeusPlatform.getInstance().init(Activity activity);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 当前Activity对象

例示:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 云步SDK初始化
        ZeusPlatform.getInstance().init(this);

# 3.1.2 权限申请

  • 如果游戏需要在启动时就动态申请权限,必须使用以下接口添加需要申请的权限,先判断是否需要申请权限,再在初始化接口调用前添加,SDK内部会统一在初始化时去申请权限

例示:

    @Override
    public void onCreate(Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        // 如果游戏需要在启动时就动态申请权限,可在初始化前调用此接口
        // SDK会统一在调初始化时申请一次权限
        // 权限的申请结果可通过调用初始化所在Activity的onRequestPermissionsResult知道,requestCode为ZeusCode.PERMISSION_REQUEST_CODE
        if (Build.VERSION.SDK_INT >= Build.VERSION_CODES.M) {
            if (checkSelfPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE) != PackageManager.PERMISSION_GRANTED) {
                //没有此权限
                ZeusPlatform.getInstance().addPermission(Manifest.permission.WRITE_EXTERNAL_STORAGE);
        // 云步SDK初始化
        ZeusPlatform.getInstance().init(this);

# 3.1.3 Activity生命周期函数接口(必须)

  • Activity生命周期接口必须调用,否则SDK无法正常工作。

  • 以下生命周期接口为必接,在游戏主Activity(初始化SDK的Activity)的如下生命周期函数中,调用对应的方法。(重要!!!)

	@Override
    public void onStart() {
        super.onStart();
        ZeusPlatform.Lifecycle.onStart();
    @Override
    public void onRestart() {
        super.onRestart();
        ZeusPlatform.Lifecycle.onRestart();
    @Override
    public void onResume() {
        super.onResume();
        ZeusPlatform.Lifecycle.onResume();
    @Override
    public void onPause() {
        super.onPause();
        ZeusPlatform.Lifecycle.onPause();
    @Override
    public void onStop() {
        super.onStop();
        ZeusPlatform.Lifecycle.onStop();
    @Override
    public void onDestroy() {
        super.onDestroy();
        ZeusPlatform.Lifecycle.onDestroy();
    @Override
    public void onNewIntent(Intent newIntent) {
        super.onNewIntent(newIntent);
        ZeusPlatform.Lifecycle.onNewIntent(newIntent);
    @Override
    public void onActivityResult(int requestCode, int resultCode, Intent data) {
        super.onActivityResult(requestCode, resultCode, data);
        ZeusPlatform.Lifecycle.onActivityResult(requestCode, resultCode, data);
    @Override
    public void onConfigurationChanged(Configuration newConfig) {
        super.onConfigurationChanged(newConfig);
        ZeusPlatform.Lifecycle.onConfigurationChanged(newConfig);
    @Override
    public void onRequestPermissionsResult(int requestCode, String[] permissions, int[] grantResults) {
        ZeusPlatform.Lifecycle.onRequestPermissionsResult(requestCode, permissions, grantResults);

# 3.2 退出游戏(必须)

  • 退出弹窗接口必须调用,否则上线审核会被驳回。

  • 当玩家点击手机上返回键或者游戏中 退出游戏 按钮时,调用此接口。

  • 注意:当玩家触发退出游戏事件时,调用此接口,调用后会弹一个退出窗口给玩家选择是否退出游戏。

ZeusPlatform.getInstance().exitGame();

游戏退出监听:

ZeusPlatform.getInstance().exitGame(OnGameExitListener listener);

回调说明:

        @Override
        public void onGameExit() {
            // 游戏退出弹窗中,玩家选择确定退出游戏时,会回调此方法
            Log.d(TAG, "onGameExit");

# 3.3 支付相关接口

# 3.3.1 支付

ZeusPay.getInstance().pay(Activity activity, PayParams params, OnPayListener listener);

例示:

private void pay() {
	PayParams params = new PayParams();
    // 充值金额(默认单位:元)(必须)
    params.setPrice(1);
    // 金额单位,不设置默认为PayParams.UNIT.RMB_YUAN (可选)
    params.setUnit(PayParams.UNIT.RMB_YUAN);
    // 充值商品id,productId必须是数字(必须)
    params.setProductId("1");
    // 商品名称,比如:100元宝,不可包含特殊字符,只能包含中文、英文字母大小写、数字、下划线。(必须)
    params.setProductName("100元宝");
    // 商品描述,比如:充值100元宝,不可包含特殊字符,只能包含中文、英文字母大小写、数字、下划线。(必须)
    params.setProductDesc("获得3000金币");
    // 商品分类,如:破冰礼包(可选)
    params.setProductCategory("break_ice");
    // 透传参数,充值成功,回调通知游戏服务器的时候,会原封不动返回。(透传字段长度不超过64)(网游可选,单机不用传)
    //params.setDeveloperPayload("developerPayload");
    // 服务器发货模式的订单标识,订单ID要包含支付的信息,订单ID长度不能超过30个字符,订单号不可重复,必须唯一,且只能由英文字母大小写、数字和下划线组成,字母区分大小写(网游必须,单机不用传)
    //params.setOrderId("test123");
	ZeusPay.getInstance().pay(this, params, mOnPayListener);

PayParams说明:

参数名称 参数类型 是否必须 参数说明
productId String 必须 充值商品id, productId必须是数字
productName String 必须 商品名称,比如:100元宝, 不可包含特殊字符,只能包含中文、英文字母大小写、数字、下划线。
productDesc String 必须 商品描述,比如:充值100元宝, 不可包含特殊字符,只能包含中文、英文字母大小写、数字、下划线。
productCategory String 可选 商品分类,用于统计
price int 必须 充值金额(默认单位:元)
unit PayParams.UNIT 可选 充值金额的单位,PayParams.UNIT.RMB_YUAN:人民币元;PayParams.UNIT.RMB_FEN:人民币分;默认为PayParams.UNIT.RMB_YUAN
orderId String 采用服务器发货模式必须传订单id 订单id要包含支付的信息, 订单id长度不能超过30个字符,订单号不可重复,必须唯一,且只能由英文字母大小写、数字和下划线组成,字母区分大小写
developerPayload String 采用服务器发货模式可选 透传参数,充值成功,回调通知游戏服务器的时候,会原封不动返回。 (透传字段长度不超过64)

商品分类:

礼包类型 类型 对应的值
破冰类 PayParams.ProductCategory.BREAK_ICE break_ice
存钱罐类 PayParams.ProductCategory.BIGGY_BANK biggy_bank
技能类 PayParams.ProductCategory.SKILLS skills
关卡内类 PayParams.ProductCategory.IN_STAGE in_stage
连胜类 PayParams.ProductCategory.CONTINUOUS_WIN continuous_win
去广告类 PayParams.ProductCategory.NO_AD no_ad
限时类 PayParams.ProductCategory.TIME_LIMIT time_limit
订阅类 PayParams.ProductCategory.SUBSRIBE subscribe
商店道具类 PayParams.ProductCategory.SHOP_PROPS shop_props
商店礼包类 PayParams.ProductCategory.SHOP_PACK shop_pack
解锁类 PayParams.ProductCategory.UNLOCK unlock
主页弹窗类 PayParams.ProductCategory.HOME_POPUP home_popup
关卡弹窗类 PayParams.ProductCategory.STAGE_POPUP stage_popup

回调说明:

  • 接入时,未经过渠道打包,为了方便测试,每次调用默认返回支付成功。
		@Override
        public void onPaySuccess(PayOrderInfo payOrderInfo) {
            Log.d(TAG, "onPaySuccess: " + payOrderInfo);
            // 发货成功后,调用订单核销,此接口必须调用
            ZeusPay.getInstance().reportOrderComplete(payOrderInfo, false);
        @Override
        public void onPayCancel() {
            Log.d(TAG, "onPayCancel: ");
        @Override
        public void onPayFailed(int code, String msg) {
            Log.e(TAG, "onPayFailed: code=" + code + ",msg=" + msg);

PayOrderInfo说明:

参数名称 参数类型 参数说明
productId String 支付时传入的商品id
productName String 支付时传入的商品名称
orderId String 支付时传入的订单id
zeusOrderId String SDK内部生成的订单id
developerPayload String 支付时传入的透传参数

# 3.3.2 订单核销接口

  • 当游戏收到支付成功后或者补单成功后,且已经发货,调用此接口通知SDK核销订单

  • 订单核销接口必须调用,否则有的渠道支付订单无法正常核销,导致重复发货!

// isReOrder表示是否补单,是补单传true,正常支付传false
ZeusPay.getInstance().reportOrderComplete(PayOrderInfo payOrderInfo,boolean isReOrder);

# 3.3.3 每次启动验证是否存在支付掉单

  • 每次游戏启动时,在适当的时候,调用此接口验证是否存在支付后异常退出、网络原因导致未到账的订单.

  • 在开始游戏进入到主游戏页面后调用,确保收到验证成功后可以正常发货.

  • 注意:此接口不是在支付成功时调用,而是在用户进入游戏后调用.

  • 服务器发货也需要调用,可以不处理此接口的回调

ZeusPay.getInstance().queryPayOrderInfo(OnQueryPayOrderListener listener);

回调说明:

			@Override
            public void onQuerySuccess(List<PayOrderInfo> list) {
                //验证成功,根据PayOrderInfo中的商品id补发游戏道具
                // 发货成功后,调用订单核销,此接口必须调用
                ZeusPay.getInstance().reportOrderComplete(payOrderInfo, true);
            @Override
            public void onQueryFailed(int code, String msg) {
  • 接入时,未经过渠道打包,为了方便测试,每次调用默认返回成功。

# 3.4 用户相关接口

# 3.4.1 登录接口(可选)

  • 注意:网游必须接此接口,单机游戏可选接。

  • 登录成功后会返回用户的唯一标识和用户昵称,网游根据信息登录游戏服务器。

ZeusUser.getInstance().login(Activity activity, OnLoginListener listener);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 当前Activity对象
listener OnLoginListener 必须 登录回调listener

回调函数:

    @Override
        public void onLoginSuccess(UserInfo userInfo) {
            Log.d(TAG, "onLoginSuccess: " + userInfo);
        @Override
        public void onLoginFailed(int code, String msg) {
            Log.e(TAG, "onLoginFailed: code=" + code + ",msg=" + msg);

UserInfo说明:

参数名称 参数类型 参数说明
userId String 用户id
userName String 用户昵称
token String Token
dependableUserId boolean 判断用户id是否是可靠的,如果是以单机游戏上线,因为有的渠道不支持使用渠道的账号功能,或者玩家拒绝登录渠道的账号,则登录返回的是一个以设备标识生成的用户id,此id是不可靠的,为游客id;如果游戏用于资产相关绑定,可能存在风险,悉知!(网游忽略)

# 3.4.2 账号绑定

# 3.4.2.1 判断是否支持渠道账号绑定的接口
  • 单机游戏,当登录的是游客账号时,可以判断是否支持渠道账号绑定,如果支持,可以提供给玩家账号绑定的引导;
boolean b = ZeusUser.getInstance().isSupportBindAccount();
# 3.4.2.2 绑定渠道账号接口
  • 单机游戏,当登录的是游客账号时,先判断是否支持绑定渠道账号,如果支持,可调此方法进行渠道账号绑定;

  • 如果渠道账号登录成功,会返回新的用户信息,游戏自行处理账号绑定和游戏数据继承;

ZeusUser.getInstance().bindAccount(Activity activity, OnLoginListener listener);

参数说明:

参数名称 参数类型 是否必须 参数说明
activity Activity 必须 当前Activity对象
listener OnLoginListener 必须 登录回调listener

3.4.3 上传玩家信息(可选)

  • 注意:网游必须接此接口,单机游戏不用接。
ZeusUser.getInstance().submitPlayerInfo(ExtraPlayerInfo playerInfo);

例示:

    private void submitPlayerInfo(int type) {
        ExtraPlayerInfo playerInfo = new ExtraPlayerInfo();
        //在一下几个场景调用
        //1.选择服务器:ExtraPlayerInfo.TYPE_SELECT_SERVER
        //2.创建角色:ExtraPlayerInfo.TYPE_CREATE_ROLE
        //3.进入游戏:ExtraPlayerInfo.TYPE_ENTER_GAME
        //4.等级提升:ExtraPlayerInfo.TYPE_LEVEL_UP
        //5.退出游戏:ExtraPlayerInfo.TYPE_EXIT_GAME
        playerInfo.setType(type);
        //当前角色身上拥有的游戏币数量
        playerInfo.setCoinNum(100);
        //单位是秒,此处是参考,请传真实的角色创建时间,并且每次传递的值固定,建议从游戏服务器获取真实的角色创建时间,不能传随机值或当前系统时间值
        long roleCreateTime = System.currentTimeMillis() / 1000;
        playerInfo.setRoleCreateTime(roleCreateTime);
        //角色id
        playerInfo.setRoleId("role_100");
        //角色名称
        playerInfo.setRoleName("test_112");
        //角色等级
        playerInfo.setRoleLevel("10");
        //服务器id
        playerInfo.setServerId("10");
        //服务器名称
        playerInfo.setServerName("server_10");
        //VIP等级
        playerInfo.setVip("vip1");
        ZeusUser.getInstance().submitPlayerInfo(playerInfo);

调用场景:

  • 需要在以下几种情况下调用:
  1. 选择服务器:ExtraPlayerInfo.TYPE_SELECT_SERVER
  2. 创建角色:ExtraPlayerInfo.TYPE_CREATE_ROLE
  3. 进入游戏:ExtraPlayerInfo.TYPE_ENTER_GAME
  4. 等级提升:ExtraPlayerInfo.TYPE_LEVEL_UP
  5. 退出游戏:ExtraPlayerInfo.TYPE_EXIT_GAME

选择服务器时,因为还没有进入游戏,无法知道角色数据,playerInfo只需要传入服务器信息即可

ExtraPlayerInfo说明:

参数名称 参数类型 是否必须 参数说明
type int 必须 调用场景
serverId String 必须 玩家所在服务器的ID
serverName String 必须 玩家所在服务器的名称
roleId String 必须 玩家角色ID
roleName String 必须 玩家角色名称
roleLevel String 必须 玩家角色等级
coinNum int 必须 当前角色身上拥有的游戏币数量
roleCreateTime long 必须 角色创建时间,从1970年到现在的时间,单位:秒;必须传入真实的数据,否则UC审核不过
vip String 可选 玩家VIP等级
extraInfo Map<String, Integer> 可选 额外信息

# 3.4.4 打开游戏社区接口

  • 跳转渠道应用商店的论坛接口,需要联系渠道人员开通权限,目前只有oppo、vivo支持
ZeusUser.getInstance().gameForum();

# 3.4.5 打开游戏互推界面接口

  • 跳转渠道应用商店的互推界面,需要联系渠道人员开通权限,目前只有oppo支持
ZeusUser.getInstance().gameRecommend();

# 3.4.6 跳转休闲游戏专区接口

  • 跳转渠道应用商店的超休闲专区接口,需要联系渠道人员开通权限,目前只有oppo支持
ZeusUser.getInstance().leisureGameSubject();

# 3.5 防沉迷与实名认证相关接口

# 3.5.1 判断当前渠道是否支持调起实名认证

  • 不支持实名认证的渠道,由渠道SDK内部控制,无法知道用户是否实名

  • 判断当前渠道是否支持调用实名认证弹窗,目前oppo、华为和使用云步支付的渠道支持,其他的渠道是渠道SDK自行处理

boolean isSupportRealName = ZeusRealNameCertification.getInstance().isSupportRealNameCertification();

# 3.5.2 判断当前用户是否实名

boolean isRealName = ZeusRealNameCertification.getInstance().isRealNameCertification();

# 3.5.3 调起实名认证弹窗

  • 目前oppo、华为和使用云步支付的渠道支持调起实名认证弹窗,其他渠道是渠道SDK内部自行处理

  • 一般不需要调用,SDK启动后,默认调用

ZeusRealNameCertification.getInstance().realNameCertification(OnRealNameCertificationListener listener);

例示:

        ZeusRealNameCertification.getInstance().realNameCertification(new OnRealNameCertificationListener() {
            @Override
            public void onCertificationSuccess(int age) {
                // 实名认证成功
                Log.d(TAG, "onCertificationSuccess: " + age);
            @Override
            public void onCertificationFailed(int code) {
                Log.d(TAG, "onCertificationFailed: " + code);
                if(code == IZeusRealNameCertification.NOT_SUPPORT){
                    // 不支持主动调起实名认证
                }else{
                    // 实名认证失败

# 3.5.4 关闭SDK内部默认在启动时调起实名认证弹窗

  • 由于SDK内部会在启动后,默认调起实名认证弹窗,游戏可以关闭默认调起,然后根据游戏实际情况,在适当时机调用实名认证
ZeusRealNameCertification.getInstance().closeAutoShowRealNameCertification(true);

# 3.5.5 获取年龄

int age = ZeusRealNameCertification.getInstance().getAge();
  • 如果已实名认证,则返回年龄,否则默认返回0

  • 只在支持实名认证的渠道能获取到年龄

# 3.5.6 开启游戏时长和支付防沉迷限制

  • 只能在支持实名认证的渠道生效,oppo、华为和云步支付的渠道,其他渠道是渠道SDK自行限制

  • 可以选择调用此接口开启防沉迷的游戏时长和支付限制,不需要限制的可以不调用,游戏根据实际情况调用

// 传true,则开启限制,传false,则关闭限制
ZeusIndulgence.getInstance().openIndulgenceLimit(true);

# 3.6 兑换码相关接口

# 3.6.1 使用兑换码

  • 使用兑换码兑换游戏道具
ZeusCdkey.getInstance().useCdKey("TestCode123", new OnUseCdKeyListener() {
    @Override
    public void onSuccess(String productId) {
        resultView.setText("发货,兑换商品ID:" + productId);
    @Override
    public void onFailed(int code, String msg) {
        Log.e(TAG, "Failed,code:" + code + " ,msg:" + msg);

增加透传参数:透传参数会在兑换码使用成功后回调给游戏服务器(有游戏服务器的可接)

ZeusCdkey.getInstance().useCdKey("TestCode123", "extra", new OnUseCdKeyListener() {
    @Override
    public void onSuccess(String productId) {
        resultView.setText("发货,兑换商品ID:" + productId);
    @Override
    public void onFailed(int code, String msg) {
        Log.e(TAG, "Failed,code:" + code + " ,msg:" + msg);

参数说明:

  • extra: 透传参数,会在兑换码使用成功后回调给游戏服务器

  • cdKey: 兑换码,开发阶段未经过打包可以使用 11111 22222 33333 44444 55555 进行调试,分别对应的发货商品ID为1,2,3,4,5 (注意:兑换码不要做字符限制,比如:长度,空格,下划线等)

  • callback: 结果回调,成功的则返回商品id(须跟运营一起协定),失败则返回失败原因。

回调说明:

  • onSuccess(String productId): 成功,返回商品ID

  • onFailed(int code, String msg): 失败

# 4. 其它

# 4.1 获取SDK版本号

int versionCode = ZeusPlatform.getInstance().getZeusSdkVersionCode();

# 4.2 获取SDK版本名

String versionName = ZeusPlatform.getInstance().getZeusSdkVersionName();

# 4.3 获取渠道号

  • 获取当前渠道,用作友盟统计渠道标识等

  • 注意:游戏自己集成友盟的话,友盟的渠道号标识必须通过此接口获取,然后初始化友盟的时候作为参数,否则渠道统计会不准确

String channel = ZeusPlatform.getInstance().getChannelName();

返回值:

  • channel: 渠道号,如oppo、huawei等

# 4.4 是否测试环境

  • SDK服务器区分测试环境和正式环境,为true时,表示连接的是SDK的测试服务器
boolean testMode = ZeusPlatform.getInstance().isTestEnv();

返回值:

  • testMode: 返回true表示当前使用的是测试环境,false 正式环境

# 4.5 获取标准时间

  • 获取世界标准时间,返回自 1970 年 1 月 1 日 00:00:00 GMT 以来的毫秒数。 注意:此接口不要在Android主线程中调用
long time = ZeusPlatform.getInstance().getStandardTime();

返回值:

  • time: 世界标准时间 (单位:毫秒)

# 4.6 获取自定义参数

  • 获取开发者自定义参数,以字符串形式返回,此参数填写在打包工具中的自定义参数,打包后会把自定义参数打包到apk中。
String customParams = ZeusPlatform.getInstance().getCustomParam();

返回值:

  • customParams: 开发者自定义参数

# 4.7 调起QQ聊天界面

  • 跳转指定QQ的聊天界面
boolean b = ZeusPlatform.getInstance().skipQQChat(String number);
if (b) {
    //调起成功
} else {
    // 未安装手Q或安装的版本不支持

参数说明:

  • number: QQ号码

# 4.8 调起添加QQ群界面

  • 跳转添加指定QQ群的界面
boolean b = ZeusPlatform.getInstance().joinQQGroup(String key);
if (b) {
    //调起成功
} else {
    // 未安装手Q或安装的版本不支持

参数说明:

# 4.9 调起手机拨号盘

  • 调起手机拨号界面
ZeusPlatform.getInstance().callPhone(String phoneNumber);

参数说明:

  • phoneNumber: 电话号码

# 4.10 调起微信

  • 复制内容,并跳转微信
ZeusPlatform.getInstance().skipWeiChat(String text);

参数说明:

  • text: 复制到粘贴板的内容

# 4.11 敏感词屏蔽

  • 游戏中,涉及填写昵称、聊天、公会命名等,可以输入字符串的地方,需要调用此接口,验证是否包含敏感内容,如果包含,则会用*符号屏蔽敏感内容;
ZeusPlatform.getInstance().sensitiveWordsCheck(content, ContentType.CHAT, new OnSensitiveWordsCheckListener() {
    @Override
    public void onSuccess(String content) {
        //验证通过,返回屏蔽敏感内容后的字符串
    @Override
    public void onFailed(int code, String msg) {
        //验证不通过,不能使用此内容,可提示用户内容违规                  

参数说明:

参数名称 参数类型 是否必须 参数说明
content String 必须 需验证的字符串内容
contentType ContentType 必须 内容类型,聊天传ContentType.CHAT,玩家昵称、公会名字传ContentType.NICKNAME,其他的传ContentType.OTHER
listener OnSensitiveWordsCheckListener 必须 验证的结果回调

回调说明:

回调方法 回调说明
void onSuccess(String content) 验证通过,返回屏蔽敏感内容后的字符串
void onFailed(int code, String msg) 验证失败,code为状态码,msg为失败的原因描述

# 5. 注意事项

# 5.1 代码混淆

  • 如果您的游戏使用了混淆,请添加
-dontwarn com.zeus.**
-keep class com.zeus.**{ *; }
-keepattributes *Annotation*
-keep public class * extends android.app.Activity
-keep public class * extends android.app.Service
-dontwarn android.**
-keep class android.** { *; }
-dontwarn com.android.**
-keep class com.android.** { *; }
        打包工具使用手册
        PI ads SDK集成文档_Android(v5.0.0)