Android SDK下载与集成

开始之前

我们支持Android系统版本Version 4.1 (API Level 16) 及以上。请确保满足以下要求:

使用Android Studio 2.0 版本及以上

Target Android API level 28

MinSdkVersion level 16 及以上

1. 概述

本手册介绍如何将JADYun SDK集成到您的Android应用中。

JADYun支持开屏、插屏、横幅、信息流等丰富的广告类型。

注意:针对 2.0.0 以前升级用户
广告接口更改,详情见接口升级说明文档

2. Ads ID

在进行SDK集成之前,您得先有一个 京媒合作平台 的账号,然后注册您的应用、创建广告位等操作,得到集成所必要的信息:APP_ID 和 Slot ID。

APP_ID: APP_ID 是给开发者应用分配的唯一标识,您可以在京媒合作平台创建应用后即可获取APP_ID。

Slot ID: 是广告位的唯一标识。开发者可以创建多个广告位。 JADYun广告位类型支持开屏、插屏、横幅、信息流四种广告类型。

3. 添加SDK到开发项目中

方式一:整包接入

下载SDK后,解压将本SDK压缩包内的jad_yun_sdk_x.x.x.aar复制到Application Module/libs文件夹(没有的话须手动创建), 并将以下代码添加到您app的build.gradle中:

repositories {
    flatDir {
        dirs 'libs'
    }
}
depedencies {
    implementation(name: 'jad_yun_sdk_x.x.x', ext: 'aar')
}

方式二:分包接入

将开屏、信息流、横幅、插屏、自渲染5种广告类型的组件化,您可以按实际业务场景接入所需的广告组件。 下载SDK后,解压将本SDK压缩包内您需要的aar复制到Application Module/libs文件夹(没有的话须手动创建), 并将以下代码添加到您app的build.gradle中:

repositories {
    flatDir {
        dirs 'libs'
    }
}
depedencies {
    implementation(name: 'jad_yun_core_x.x.x', ext: 'aar')         //必选
    implementation(name: 'jad_yun_splash_x.x.x', ext: 'aar')       //可选,模版开屏
    implementation(name: 'jad_yun_feed_x.x.x', ext: 'aar')         //可选,模版信息流
    implementation(name: 'jad_yun_banner_x.x.x', ext: 'aar')       //可选,模版横幅
    implementation(name: 'jad_yun_interstitial_x.x.x', ext: 'aar') //可选,模版插屏
    implementation(name: 'jad_yun_native_x.x.x', ext: 'aar')       //可选,自渲染广告(开屏、信息流、横幅、插屏)

}

4. AndroidManifest.xml配置

接下来需要添加配置到您的AndroidManifest.xml 文件中.

<!--必要权限 用户SDK可访问网络-->
<uses-permission android:name="android.permission.INTERNET"/>

<!--可选权限-->
<!--用于SDK可获取网络状态变化,更及时的更新媒体广告位配置-->
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<!--用于SDK,在媒体允许的情况下,获取IMEI 标识用户的唯一性,有助于广告填充-->
<uses-permission android:name="android.permission.READ_PHONE_STATE" />
<!--用于SDK,在媒体允许的情况下,获取位置信息,更精确的推送最有价值的广告-->
<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
<!--用于模版广告图片缓存 -->
<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
<!--建议添加“query_all_package”权限,京东广告将通过此权限在Android R系统上判定广告对应的应用是否在用户的app上安装,
避免投放错误的广告,以此提高用户的广告体验。若添加此权限,需要在您的用户隐私文档中声明!-->
<uses-permission android:name="android.permission.QUERY_ALL_PACKAGES" />

注意: 广告SDK不强制获取以上权限,即使没有获取可选权限SDK也能正常运行;获取以上权限将帮助优化投放广告精准度和广告填充率,提高收益。

5. Proguard

-keep class com.jd.ad.sdk.** { *; }

6. 初始化SDK

建议开发者在Application#onCreate()方法中调用以下代码来初始化JADYun SDK

        //初始化SDK
        JADYunSdkConfig config = new JADYunSdkConfig
                .Builder()
                .setAppId(Constants.APP_ID) //媒体在平台申请的 APP ID
                .setEnableLog(BuildConfig.DEBUG) //测试阶段打开,可以通过日志排查问题,上线时去除该调用
                .setPrivateController(createPrivateController()) //隐私信息控制设置,此项必须设置!!
                .build();

        JADYunSdk.init(this, config);

7.初始化接口说明

    /**
     * @param context Context 上下文
     * @param config 初始化配置信息
     */
    public static void init(@NonNull Context context, @NonNull JADYunSdkConfig config);

8.隐私信息控制开关

请媒体用户设置OAID参数, 否则可能影响广告填充
1、OAID的获取请查看移动安全联盟文档, 将获取的OAID值按照如下进行设置:
2、设置其他控制权限(位置,IMEI等)

JADYunSdkConfig config = new JADYunSdkConfig.Builder()
                ...
                .setPrivateController(new JADPrivateController() {
                    @Override
                    public String getOaid() {
                        return mIdSupplier.getOAID();
                    }

                    @Override
                    public boolean isCanUsePhoneState() {
                        return true;
                    }
                })
                ...

3、隐私信息控制类说明: 重要!!重要!!

创建隐私信息控制类的实例,媒体可以自主控制是否提供权限给广告SDK使用
为了保证广告的填充率,注意oaid和imei的配置:
(1)oaid配置项必须实现,并传入有效值
(2)imei的配置与isCanUsePhoneState有关(isCanUsePhoneState配置项默认为true)
当isCanUsePhoneState 配置为false,不允许SDK主动获取imei,但是需要接入方主动传入imei
当isCanUsePhoneState 配置为true,允许SDK主动获取imei,但必须保证接入方已经动态申请了 Manifest.permission.READ_PHONE_STATE,否则SDK会获取失败
其他采用可以采用默认配置(可以不用实现相关方法,默认都是支持SDK主动获取的)

    private JADPrivateController createPrivateController() {
        return new JADPrivateController() {
            /**
             * 是否允许SDK主动使用手机硬件参数,如:imei
             *
             * @return true可以使用,false禁止使用。默认为true
             */
            public boolean isCanUsePhoneState() {
                return true;
            }

            /**
             * 当 isCanUsePhoneState=false 时,
             * 可传入 imei 信息,sdk使用您传入的 imei 信息
             *
             * @return imei信息
             */
            public String getImei() {
                return "";
            }

            /**
             * 开发者可以传入oaid
             *
             * @return oaid
             */
            @Override
            public String getOaid() {
                return mIdSupplier != null ? mIdSupplier.getOAID() : "";
            }

            /**
             * 是否允许SDK主动使用地理位置信息
             *
             * @return true可以获取,false禁止获取。默认为true
             */
            public boolean isCanUseLocation() {
                return true;
            }

            /**
             * 当isCanUseLocation=false时,可传入地理位置信息,sdk使用您传入的地理位置信息
             *
             * @return 地理位置参数
             */
            public JADLocation getLocation() {
                return new JADLocation();
            }

            /**
             * 是否允许SDK主动使用IP信息
             * @return true可以使用,false禁止使用。默认为true
             */
            @Override
            public boolean isCanUseIP() {
                return true;
            }

            /**
             * 当 isCanUseIP=false 时,
             * 可传入 IP 信息,SDK使用您传入的 IP 信息
             *
             * @return IP
             */
            @Override
            public String getIP() {
                return "";
            }

        };
    }

9.重点说明

为了广告SDK正常使用,请对所有广告SDK 接口的调用, 都放在主线程中,如广告的创建,广告的加载等

注意: 1.集成移动安全联盟SDK需要将 supplierconfig.json 拷贝到项目 assets 目录下 2.appid 只与 VAID(开发者匿名设备标识符) 的获取有关,用于判断是否为同一开发者,如不需获取 vaid 可 不填写。目前只需设置 vivo 的 appid。 3.其他注意事项可参考移动广告联盟SDK F&Q文档

恭喜您完成了JADYun SDK的集成。接下来请在您的应用中完集成开屏 、插屏、横幅、信息流广告。

© JD.COM all right reserved,powered by Gitbook该文档最后更新: 2023-05-15 17:54:53

results matching ""

    No results matching ""