SDK初始化说明

1. 准备工作

2. Demo示例

点击查看 ADSDK Demo

3. 添加依赖

3.1 本地依赖


dependencies {
    implementation(name: 'adgain-sdk-xxx-release', ext: 'aar')
}

3.2 远程依赖

maven {
    url "http://nexus.datads.cn/repository/maven-releases"
    allowInsecureProtocol = true
    credentials {
        username = "maven-reader"
        password = "maven-reader"
    }
}
dependencies {
    implementation 'com.adgain:adgain-sdk:xxx'
}

4. SDK初始化配置

        // 个性化广告开关设置
        AdGainSdk.getInstance().setPersonalizedAdvertisingOn(true);
        
        Map<String, Object> customData = new HashMap<>();
        customData.put("custom_key", "custom_value");

        AdGainSdk.getInstance().init(this, new AdGainSdkConfig.Builder()
                .appId("")       //必填,向广推商务获取
                .userId("")      // 用户ID,有就填
                .showLog(false)   // 是否展示adsdk内部日志,正式环境务必为false
                .addCustomData(customData)  //自定义数据
                .customController(new CustomController() {
                    // 是否允许SDK获取位置信息
                    @Override
                    public boolean canReadLocation() {
                        return true;
                    }

                    // 是否允许SDK获取手机信息
                    @Override
                    public boolean canUsePhoneState() {
                        return true;
                    }
                    
                    // 是否允许SDK使用AndoridId
                    @Override
                    public boolean canUseAndroidId() {
                        return true;
                    }
                    // 是否允许SDK获取Wifi状态
                    @Override
                    public boolean canUseWifiState() {
                        return true;
                    }
                    // 为SDK提供oaid
                    @Override
                    public String getOaid() {
                        return "";
                    }
                })
                .setInitCallback(new InitCallback() {
                    // 初始化成功回调,初始化成功后才可以加载广告
                    @Override
                    public void onSuccess() {
                        Log.d(Constants.LOG_TAG, "init--------------onSuccess-----------");
                    }

                    // 初始化失败回调
                    @Override
                    public void onFail(int code, String msg) {
                        Log.d(Constants.LOG_TAG, "init--------------onFail-----------" + code + ":" + msg);
                    }
                }).build());
        

2 初始化相关类说明

1. AdGainSdkConfig

com.adgain.sdk.api.AdGainSdkConfig.Builder

方法名 方法介绍
appId(String appId) 必须,每个应用单独一个appid
showLog(boolean isLog) sdk是否开启debug日志打印信息,默认开启。
userId(String userId) 用户Id(非必填)
addCustomData(Map customData) 初始化传入的自定义数据。
customController(CustomController custom) 设置自定义设备信息,具体可参考下方CustomController实体类
setInitCallback(InitCallback callBack) 初始化回调通知,具体可参考InitCallback实体类

2.CustomController

com.adgain.sdk.api.CustomController

方法名 方法介绍
canReadLocation() 是否可以读取设备位置信息
getLocation() 如果不能获取地理位置,APP内部有获取位置信息,可在该方法回传
canUsePhoneState() 是否可以获取设备IMEI等信息。
canUseAndroidId() 是否可以获取设备AndroidID
getImei() 如果 canUsePhoneState为false,在Android低版本系统中获取到的Imei进行回传
getMacAddress() 回传MacAddrerss信息
canUseWifiState() 是否可以获取设备WIFI状态等信息。
String getOaid() 传入通过信通院的OAID库获取到的oaid值

3.InitCallback

com.adgain.sdk.api.InitCallback

方法名 方法介绍
void onSuccess() sdk初始化成功回调
void onFail(int code, String msg) sdk初始化失败回调

4. 个性化广告设置(可选)

AdGainSdk.getInstance().setPersonalizedAdvertisingOn(boolean personal);    

5. 在AndroidManifest.xml文件中添加如下权限

    <!--必要权限-->
    <uses-permission android:name="android.permission.INTERNET" />


        <!--可选权限-->
    <!--获取当前网络类型及状态-->
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <!--仅用于获取IMEI或者运营商信息-->
    <uses-permission android:name="android.permission.READ_PHONE_STATE" />
    <!--拉新下载类广告需要-->
    <uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" />