客户端接入指南


本文档面向 Android 开发者,描述的接入方式适合运营在 4399 平台、只需要防沉迷功能的 的游戏。

SDK 说明

用户信息与隐私策略

SDK 中使用的用户信息及隐私策略参考:4399 通行证用户服务协议

Android SDK 支持的编译配置 android:minSdkVersion >= 16
从SDK 3.2.0开始,优先支持aar接入方式,发布结构遵循 Android Studio(as) 规范
若游戏只能以 jar+res 方式接入,请参考 jar+res 依赖引入

集成流程

准备

首次接入 SDK,要在 4399 开放平台 注册应用,主要是提交游戏包、游戏素材等信息。
完成后,开发者将得到 SDK 的基础参数:game keyGameKey,游戏在 4399 平台的运营标识

引入依赖

repositories {
    maven {
        // 4399 SDK 开放仓库:正式
        url 'https://mvn.4399doc.com/repository/maven-releases'
    }
    maven {
        // 4399 SDK 开放仓库:快照
        url 'https://mvn.4399doc.com/repository/maven-snapshots'
    }
}

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar', '*.aar'])
    
    // 运营 SDK:建议使用最新版本,可通过浏览仓库地址或向运营咨询版本
    implementation "cn.m4399.sdk:operate:3.2.0"
    
    // volley 和 support 是 SDK 使用的外部依赖,若接入方已有,可忽略
    implementation 'com.android.volley:volley:1.2.0'
    //noinspection GradleCompatible
    implementation "com.android.support:support-v4:28.0.0"
}
operate/libs/volley-v1.2.0.jar
operate/libs/support-v13-23.2.1.jar

Gradle 文件中注意添加本地依赖

dependencies {
    implementation fileTree(dir: 'libs', include: ['*.jar','*.aar'])
}

abi 适配与 so 库

若游戏不需要支持所有 abi ,可以按需选用

android {
    defaultConfig {
        ndk {
            // 根据游戏需要选择
            abiFilters "armeabi", "armeabi-v7a", "x86", "arm64-v8a"
        }
    }
}

jar+res依赖引入 比较繁琐,但是完成后,后续接口调用仍然是一样的。

接口调用:初始化(必须)

// 初始化选项,传入游戏配置,更多说明见接入文档
OperateConfig config = new OperateConfig.Builder(this)
        // 设置游戏运营 key,此参数需要在原创开放平台注册应用后得到
        .setGameKey(GAME_KEY)
        // 设置SDK页面方向,应与游戏方向一致,部分第三方页面需要在AndroidManifest中设置
        .setOrientation(SCREEN_ORIENTATION)
        // 设置游戏是否兼在高于Android 9.0版本系统容全面屏,默认不兼容
        .compatNotch(COMPACT_NOTCH)
        .build();

// 初始化SDK
AdGame.init(this, config, new OpeInitedListener() {
    @Override
    public void onInitFinished() {
        // 验证通过,可以进入游戏
    }
});