SDK 集成

SDK 集成

此章节将演示如何集成ZJSDK到您的cocos creator项目中。

接入完成后,在正式上线前需要提供测试包,测试广告正常展现

测试信息

提示

SDK 不支持模拟器运行,需要使用真机调试

请联系运营人员获取正式的应用ID和广告位ID,测试广告位信息如下:

媒体IDapplicationId
Z2845395984com.zj.daylottery.addemo
类型ID类型ID
开屏广告J2190459774激励广告J9378481911
半屏插屏J7208384505全屏插屏J1556676069

注意

广告ID与包名是绑定关系,使用测试广告位信息时需要修改包名。

集成 SDK

SDK 需要在 cocos 项目中导入插件包,并在导出的原生工程中配置 build.gradle

提示

SDK 接入错误事项见常见问题

SDK 可运行于 Android5.0 (API Level 21) 及以上版本

导入插件包

将SDK压缩包内的 zjsdk_cocos_plug.zip 文件全部导入

导入脚本

配置 AndroidGradle

仓库和依赖

在导出的原生工程 module 中配置仓库与依赖

// module/build.gradle
import org.apache.tools.ant.taskdefs.condition.Os

apply plugin: 'com.android.application'

RES_PATH = RES_PATH.replace("\\", "/")
COCOS_ENGINE_PATH = COCOS_ENGINE_PATH.replace("\\", "/")

buildDir = "${RES_PATH}/proj/build/${project.name ==~ /^[_a-zA-Z0-9-]+$/ ? project.name : 'CocosGame'}"

/* 在此处添加仓库配置 */
rootProject.allprojects {
    repositories {
        maven {
            credentials {
                username '6409a2015d66d6f07e3b4611'
                password '(F(8W_UPpBj6'
            }
            url 'https://packages.aliyun.com/maven/repository/2029504-snapshot-5MgYio'
        }
        maven {
            url 'https://artifact.bytedance.com/repository/pangle'
        }
        maven {
            url "https://jfrog.takuad.com/artifactory/china_sdk"
        }
    }
}

android {
  // ...
}

dependencies {
    // ...
    /* 在此处添加 SDK 依赖项 */

    // x5内核,如已引入,可忽略
    implementation 'com.tencent.tbs:tbssdk:44286'
    // 微信 OpenSdk ,建议引入,提高收益
    implementation 'com.tencent.mm.opensdk:wechat-sdk-android:6.8.30'
    // 设备OAID,如已引入,可忽略
    implementation 'com.zj.zjsdk:oaid_sdk:1.0.25'
    // SDK需要集成
    implementation "com.squareup.okhttp3:okhttp:4.12.0"
    implementation "com.squareup.okio:okio:3.6.0"
    implementation "com.google.code.gson:gson:2.8.5"

    // SDK包
    implementation 'com.zj.zjsdk:zjsdk-cocos-bridge:2.5.61.61'
    implementation 'com.qq.e.union:union:4.671.1541'
    implementation 'com.zj.zjsdk:kssdk-ct:4.12.20.4'
    implementation 'com.baidu:mobads:9.43.2'
    // 2.4.16起穿山甲单独集成
    implementation 'com.pangle.cn:mediation-sdk:7.4.2.1'  // 融合SDK
    implementation 'com.zj.zjsdk:wind-common:1.9.4'
    implementation 'com.zj.zjsdk:wind-sdk:4.25.11'
    implementation 'com.zj.zjsdk:beizi_fusion_sdk:5.2.3.10'
    implementation 'com.zj.zjsdk:octopus_ad_c:2.6.1.23'
    implementation 'com.zj.zjsdk:jy:2.0.125'

    // Optional
//    implementation "com.tanx:TanxUISDK:3.6.2"
    implementation "com.zj.zjsdk:ms-sdk:3.0.4.0"
    implementation "com.zj.zjsdk:qiming:2.2.6.3"

    // Taku
    implementation "com.anythink.sdk:core-taku:6.5.52"
    implementation "com.anythink.sdk:adapter-taku-sdm:6.5.54.1.0"
    implementation "com.smartdigimkttech.sdk:sdm-sdk-cn:6.5.54"
}


配置 gradle.properties

由于 Cocos 项目默认使用了 AndroidX,需要额外在build/android/proj/gradle.properties文件中增加一行配置

# ...

# 项目导出自带的配置
android.useAndroidX=true

# 新增这一行配置
android.enableJetifier=true
# 新增这一行配置

# ...

配置 AndroidManifest

主 module->AndroidManifest.xml-><Application节点下添加以下组件配置

        <!-- com.pangle.cn:mediation-sdk -->
        <!--穿山甲Provider配置,移除穿山甲时需要同时删除以下配置,否则应用会在初始化时崩溃-->
        <provider
            android:name="com.bytedance.sdk.openadsdk.TTFileProvider"
            android:authorities="${applicationId}.TTFileProvider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/zj_tt_file_paths" />
        </provider>
        <!--穿山甲Provider配置,移除穿山甲时需要同时删除以上配置,否则应用会在初始化时崩溃-->
        <!-- com.pangle.cn:mediation-sdk -->

        <!-- com.qq.e.union:union -->
        <!-- 如果您打包 App 时的 targetSdkVersion>=24 -->
        <!-- 为了让 SDK 能够正常下载、安装App类广告,必须按照下面的步骤做兼容性处理。 -->
        <provider
            android:name="com.qq.e.comm.GDTFileProvider"
            android:authorities="${applicationId}.gdt.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/gdt_file_path" />
        </provider>
        <!-- com.qq.e.union:union -->

        <!-- com.beizi.fusion:sdk -->,
        <!-- 如果项目中已经存在FileProvider,则将beizi_file_path.xml文件中的内容拷贝到自己项目中xml文件中即可 -->
        <provider
            android:name="androidx.core.content.FileProvider"
            android:authorities="${applicationId}.fileprovider"
            android:exported="false"
            android:grantUriPermissions="true">
            <meta-data
                android:name="android.support.FILE_PROVIDER_PATHS"
                android:resource="@xml/beizi_file_path" />
        </provider>
        <!-- com.beizi.fusion:sdk -->

android:label 冲突

请在主 module->AndroidManifest.xml-><Application节点下添加android:lable="YOUR_LABEL"配置,然后追加tools:replace="android:label配置以覆盖

如果提示找不到 tools 的 NS,在<Manifest节点追加xmlns:tools="http://schemas.android.com/tools"

android:allowBackup 冲突

请在主 module->AndroidManifest.xml-><Application节点下添加android:allowBackup="YOUR_STRATEGY"配置,然后追加tools:replace="android:allowBackup配置以覆盖

如果提示找不到 tools 的 NS,在<Manifest节点追加xmlns:tools="http://schemas.android.com/tools"