dependencies {
implementation(name: 'adgain-sdk-xxx-release', ext: 'aar')
}
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'
}
// 个性化广告开关设置
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());
com.adgain.sdk.api.AdGainSdkConfig.Builder
方法名 | 方法介绍 |
---|---|
appId(String appId) | 必须,每个应用单独一个appid |
showLog(boolean isLog) | sdk是否开启debug日志打印信息,默认开启。 |
userId(String userId) | 用户Id(非必填) |
addCustomData(Map |
初始化传入的自定义数据。 |
customController(CustomController custom) | 设置自定义设备信息,具体可参考下方CustomController实体类 |
setInitCallback(InitCallback callBack) | 初始化回调通知,具体可参考InitCallback实体类 |
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值 |
com.adgain.sdk.api.InitCallback
方法名 | 方法介绍 |
---|---|
void onSuccess() | sdk初始化成功回调 |
void onFail(int code, String msg) | sdk初始化失败回调 |
AdGainSdk.getInstance().setPersonalizedAdvertisingOn(boolean personal);
<!--必要权限-->
<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" />