[2] 引入 SDK

SDK 说明

DDSDK 开发包包含目录与文件内容如下:

DDSDK
├─[1] 必须引入 ------------------------- 必须要引入工程的 aar
├─[2] 穿山甲 (可选) -------------------- 如果使用穿山甲聚合,则里面的 aar 要引入工程
├─[3] 广点通 (可选) -------------------- 如果使用广点通聚合,则里面的 aar 要引入工程
├─[4] MTG (可选) ----------------------- 如果使用 MTG 聚合,则里面的 aar 要引入工程
├─[5] 混淆参考 (如项目混淆则必须) -------- 如项目使用混淆,则需要合并该混淆文件到工程
├─Demo --------------------------------- 用于参考的 DDSDK Demo 工程
├─DDSDK Demo.apk ----------------------- DDSDK Demo APK 成品,供参考
└─DDSDK 接入文档 ------------------------ DDSDK 在线接入文档 URL,即本文档

引入 SDK

  1. [1] 必须引入 文件夹中包含两个 DDSDK 的 aar,请根据您的项目需要 选择其一 引入;
  2. 如果您使用聚合广告,请将 所需要聚合的平台文件夹内所有的 aar 都引入到项目。

  请将 aar 放在您的工程的 libs 目录中。如果没有,请创建该目录。位置示例如下:


添加依赖

// 必须 (如果您使用 Android X)
implementation 'androidx.appcompat:appcompat:1.3.0-rc01'
implementation 'androidx.constraintlayout:constraintlayout:2.0.4'
implementation 'com.permissionx.guolindev:permissionx:1.4.0'

// 必须 (如果您使用 Android Support)
implementation 'com.android.support:appcompat-v7:28.0.0'
implementation 'com.android.support.constraint:constraint-layout:2.0.4'
implementation 'com.permissionx.guolindev:permission-support:1.4.0' // 如果此版本编译报 asm 相关错误,请换成 1.3.0 版本 

// DDSDK 依赖
implementation fileTree(include: ['*.jar', '*.aar'], dir: 'libs')
implementation 'tv.danmaku.ijk.media:ijkplayer-java:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-armv7a:0.8.8'
implementation 'tv.danmaku.ijk.media:ijkplayer-exo:0.8.8'
implementation 'com.lzy.net:okgo:3.0.4'
implementation 'com.google.code.gson:gson:2.8.6'
implementation('com.facebook.fresco:fresco:0.12.0') {
    exclude module: 'support-v4'
    exclude group: 'com.android.support'
}
implementation('com.facebook.fresco:animated-gif:0.12.0') {
    exclude module: 'support-v4'
    exclude group: 'com.android.support'
}
implementation('com.facebook.fresco:animated-webp:0.12.0') {
    exclude module: 'support-v4'
    exclude group: 'com.android.support'
}
implementation('com.facebook.fresco:webpsupport:0.12.0') {
    exclude module: 'support-v4'
    exclude group: 'com.android.support'
}

配置证书:

请在您的工程 res 目录下建立 xml 文件夹,再建立 network_security_config.xml 文件,填入以下内容 (请务必配置,否则可能无法请求广告):

<?xml version="1.0" encoding="utf-8"?>
<network-security-config>
    <base-config cleartextTrafficPermitted="true" />
</network-security-config>

再在您的工程的 AndroidManifest.xmlapplication 节点中增加 android:networkSecurityConfig="@xml/network_security_config",如下所示:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
    package="com.weaction.ddsdk.demo">

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

配置 targetSdkVersion

DDSDK 基于 API 28 构建,为保证各项功能正常,请开发者工程如下设置,否则高版本 Android 容易因为权限收紧导致报错:

android {
    compileSdkVersion 28

    defaultConfig {
        minSdkVersion 17
        targetSdkVersion 28
        ...
    }
}

配置 NDK:

android {
    ...

    ndk {
        abiFilters 'armeabi-v7a'
    }
}

  引入完毕后,请 clean 工程并同步依赖 (该按钮默认在 Android Studio 窗体右上方):