SDK 接口类介绍与广告接入示例代码
配置隐私设置,需要在用户同意隐私授权后,且调用 SDK 初始化前,根据合规的需要下配置
https://doc.sigmob.com/Sigmob使用指南/SDK集成说明/Android/高级设置/隐私设置/
SDK 初始化,请在用户同意隐私授权后并根据合规需要进行隐私设置后再进行SDK 初始化调用
init 仅进行初始化,不会获取个人信息,如果要展示广告,需要再调用 WindAds 的 start 方法
OnInitializationListener 初始化回调接口定义
java
public interface OnInitializationListener {
// 初始化成功
void onInitializationSuccess();
// 初始化失败
void onInitializationFail(String error);
}初始化示例代码
java
WindAds ads = WindAds.sharedAds();
WindAdOptions options = new WindAdOptions(appId, appKey);
// 设置自定义设备信息控制器(可选)
options.setCustomController(new WindCustomController() {
/**
* 是否允许 SDK 主动获取地理位置信息
*
* @return true 可以获取,false 禁止获取。默认为 true
*/
public boolean isCanUseLocation() {
return true;
}
/**
* 当 isCanUseLocation=false 时,Sigmob 使用开发者传入的地理位置信息
*
* @return 地理位置参数
*/
public Location getLocation() {
return null;
}
/**
* 是否允许 SDK 主动获取 IMEI
*
* @return true 可以使用,false 禁止使用。默认为 true
*/
public boolean isCanUsePhoneState() {
return true;
}
/**
* 当 isCanUsePhoneState=false 时,Sigmob 使用开发者传入的 IMEI 信息
*
* @return IMEI
*/
public String getDevImei() {
return null;
}
/**
* 是否允许 SDK 主动获取 OAID
*
* @return true 可以使用,false 禁止使用。默认为 true
*/
public boolean isCanUseOaid() {
return true;
}
/**
* 当 isCanUseOaid=false 时,Sigmob 使用开发者传入的 OAID 信息
*
* @return OAID
*/
public String getDevOaid() {
return null;
}
/**
* 是否允许 SDK 主动获取 AndroidId
*
* @return true 可以使用,false 禁止使用。默认为 true
*/
public boolean isCanUseAndroidId() {
return true;
}
/**
* isCanUseAndroidId=false 时,Sigmob 使用开发者传入的 AndroidId 信息
*
* @return AndroidId
*/
public String getAndroidId() {
return null;
}
/**
* 是否允许 SDK 查询已安装应用列表
*
* @return true 可以使用,false 禁止使用
*/
public boolean isCanUseAppList() {
return true;
}
/**
* isCanUseAppList=false 时,Sigmob 使用开发者传入的已安装应用列表信息
*/
public List<PackageInfo> getInstallPackageInfoList() {
return null;
}
/**
* 是否允许 SDK 查询运营商编码(4.22.0 版本新增)
*
* @return true 可以使用,false 禁止使用
*/
public boolean isCanUseSimOperator() {
return true;
}
/**
* isCanUseSimOperator=false 时,Sigmob 使用开发者传入的运营商编码,例如:46000(4.22.0 版本新增)
*/
public String getDevSimOperatorCode() {
return null;
}
/**
* isCanUseSimOperator=false 时,Sigmob 使用开发者传入的运营商名称,例如:中国移动(4.22.0 版本新增)
*/
public String getDevSimOperatorName() {
return null;
}
});
ads.init(context, options, new OnInitializationListener(){
@Override
public void onInitializationSuccess() {
// 初始化成功
}
@Override
public void onInitializationFail(String error) {
// 初始化失败
}
});应用列表查询示例代码
java
public List < PackageInfo > getInstallPackageInfoList(Context ctx) {
PackageManager pm = ctx.getPackageManager();
List < PackageInfo > result = pm.getInstalledPackages(0);
return result;
}运营商信息查询示例代码
java
public String[] getNetworkOperator() {
Context context = getApplicationContext();
TelephonyManager tm = (TelephonyManager) context.getSystemService(Context.TELEPHONY_SERVICE);
if (tm == null) return null;
// 运营商编码号,例如:46000
String operatorCode;
int phoneType = tm.getPhoneType();
int simState = tm.getSimState();
Log.d(TAG, "getNetworkOperator: phoneType = " + phoneType + ", simState = " + simState);
if (phoneType == TelephonyManager.PHONE_TYPE_CDMA && simState == TelephonyManager.SIM_STATE_READY) {
operatorCode = tm.getSimOperator();
Log.d(TAG, "getNetworkOperator: simOperator = " + operatorCode);
} else {
operatorCode = tm.getNetworkOperator();
Log.d(TAG, "getNetworkOperator: networkOperator = " + operatorCode);
}
// 运营商名称,例如:中国移动
String operatorName = tm.getNetworkOperatorName();
return new String[] {
operatorCode, operatorName
};
}SDK 启动(如需展示广告,需要调用 start 启动 SDK)
OnStartListener 启动回调定义
java
public interface OnStartListener {
// 启动成功
void onStartSuccess();
// 启动失败
void onStartFail(String error);
}启动示例代码
java
WindAds ads = WindAds.sharedAds();
ads.start(content,new OnStartListener(){
@Override
public void onStartSuccess() {
// 启动成功
}
@Override
public void onStartFail(String error) {
// 启动失败
}
});开启/关闭 Debug 日志
java
WindAds ads = WindAds.sharedAds();
// 是否开启 Debug 日志,true:开启;false:关闭
ads.setDebugEnable(true);中国大陆权限授权接口(仅针对中国大陆)
java
// 发起 READ_PHONE_STATE 权限授权请求
WindAds.requestPermission(actvity);