初始化SDK

接入事例

      //setp1.1:聚合SDK初始化
        val initSDKConfig: InitSDKConfig = InitSDKConfig.Builder()
            .AppId("****")//聚合后台申请的appid
            .appName("广告demo")//后台注册的应用名称
            //.setChannel("demo")//渠道,方便后续统计,可以不填
            // 竖屏 - AdConfig.REWARD_VIDEO_SCREEN_VERTICAL
            // 横屏 - AdConfig.REWARD_VIDEO_SCREEN_x`HORIZONTAL
          .RewardVideoScreenDirection(AdConfig.REWARD_VIDEO_SCREEN_VERTICAL) // 设置激励视频播放页面的横竖屏
            .debug(true)//上线需要设置false
            .setDeniedUpDeviceInfo(object : DeniedUpDeviceInfo() {

                /**
                 * 是否允许SDK主动使用地理位置信息
                 * */
                override fun isCanUseLocation(): Boolean {
                    return super.isCanUseLocation()
                }

                /**
                 * 获取应用列表
                 * */
                override fun appList(): Boolean {
                    return super.appList()
                }

                /**
                 * 是否允许SDK主动使用手机硬件参数
                 * */
                override fun isCanUsePhoneState(): Boolean {
                    return super.isCanUsePhoneState()
                }

                /**
                 * 当isCanUsePhoneState=false时,可传入IME信息
                 * */
                override fun getDevImei(): String? {
                    return super.getDevImei()
                }

                /**
                 * 是否允许SDK主动使用ACCESS_WIFI_STATE权限
                 * */
                override fun isCanUseWifiState(): Boolean {
                    return super.isCanUseWifiState()
                }

                /**
                 * 当isCanUseWifiState=false时,可传入Mac地址信息
                 * */
                override fun getMacAddress(): String? {
                    return super.getMacAddress()
                }

                /**
                 * 是否允许SDK主动使用WRITE_EXTERNAL_STORAGE权限
                 * */
                override fun isCanUseWriteExternal(): Boolean {
                    return super.isCanUseWriteExternal()
                }

                /**
                 * 开发者可以传入OAID
                 * */
                override fun getDevOaid(): String? {
                    return super.getDevOaid()
                }

                /**
                 * 是否能获取android ID
                 * */
                override fun isCanUseAndroidId(): Boolean {
                    return super.isCanUseAndroidId()
                }


                /**
                 * 开发者可以传入android ID
                 * */
                override fun getAndroidId(): String? {
                    return super.getAndroidId()
                }

                /**
                 * 是否允许SDK在申明和授权了的情况下使用录音权限
                 * */
                override fun isCanUsePermissionRecordAudio(): Boolean {
                    return super.isCanUsePermissionRecordAudio()
                }
            })
            .setOaidProvider { "test_oaid" } //传入 OAID 获取器,建议集成 OAID SDK的应用设置
            .build()
         AdView.initSDK(this, initSDKConfig, object : InitSDKListener {
            override fun initializeSucceed() {
                //初始化成功
            }

            override fun initializeFail() {
                //初始化失败
            }
        })

DeniedUpDeviceInfo

隐私设置权限许可setDeniedUpDeviceInfo(object : DeniedUpDeviceInfo())来设置

方法名 说明
boolean isCanUseLocation() 是否允许SDK主动使用地理位置信息
boolean alist() 是否允许sdk上报手机app安装列表
boolean isCanUsePhoneState() 是否允许SDK主动使用手机硬件参数
String getDevImei() 当isCanUsePhoneState=false时,可传入IME信息
boolean isCanUseWifiState() 是否允许SDK主动使用ACCESS_WIFI_STATE权限
String getMacAddress() 当isCanUseWifiState=false时,可传入Mac地址信息
boolean isCanUseWriteExternal() 是否允许SDK主动使用WRITE_EXTERNAL_STORAGE权限
String getDevOaid() 开发者可以传入OAID
boolean isCanUseAndroidId() 是否能获取android ID
String getAndroidId() 开发者可以传入android ID
boolean isCanUsePermissionRecordAudio() 是否允许SDK在申明和授权了的情况下使用录音权限

SDK初始化说明

注意事项

①初始化在广告请求之前,不然会导致广告无填充。

②只支持在主进程初始化

③默认仅支持初始化SDK一次,多次初始化SDK以第一次初始化为准。

④appId为必填内容,若appid是通过服务端下发的,那么在初始化前需要做不为空的判断。

⑤开发者需确保在success回调之后再去请求广告。

⑥SDK初始化API:该API必须在主线程中调用,SDK会将初始化操作放在子线程执行。

接入事例

class MyApplicatio : Application(){

    private val mContext: Context? = null

    override fun attachBaseContext(base: Context?) {
        super.attachBaseContext(base)
//        MultiDex.install(this);

        //聚合SDK初始化
        val initSDKConfig: InitSDKConfig = InitSDKConfig.Builder()
            .AppId("767881")
            .appName("广告demo")//SDK后台注册的应用名称               
            .setChannel("demo")//渠道
            // 竖屏 - AdConfig.REWARD_VIDEO_SCREEN_VERTICAL
            // 横屏 - AdConfig.REWARD_VIDEO_SCREEN_x`HORIZONTAL
            .RewardVideoScreenDirection(AdConfig.REWARD_VIDEO_SCREEN_VERTICAL) // 设置激励视频播放页面的横竖屏
            .debug(true)////上线需要设置false
            .setDeniedUpDeviceInfo(object : DeniedUpDeviceInfo() {

                /**
                 * 是否允许SDK主动使用地理位置信息
                 * */
                override fun isCanUseLocation(): Boolean {
                    return super.isCanUseLocation()
                }

                /**
                 * 获取应用列表
                 * */
                override fun appList(): Boolean {
                    return super.appList()
                }

                /**
                 * 是否允许SDK主动使用手机硬件参数
                 * */
                override fun isCanUsePhoneState(): Boolean {
                    return super.isCanUsePhoneState()
                }

                /**
                 * 当isCanUsePhoneState=false时,可传入IME信息
                 * */
                override fun getDevImei(): String? {
                    return super.getDevImei()
                }

                /**
                 * 是否允许SDK主动使用ACCESS_WIFI_STATE权限
                 * */
                override fun isCanUseWifiState(): Boolean {
                    return super.isCanUseWifiState()
                }

                /**
                 * 当isCanUseWifiState=false时,可传入Mac地址信息
                 * */
                override fun getMacAddress(): String? {
                    return super.getMacAddress()
                }

                /**
                 * 是否允许SDK主动使用WRITE_EXTERNAL_STORAGE权限
                 * */
                override fun isCanUseWriteExternal(): Boolean {
                    return super.isCanUseWriteExternal()
                }

                /**
                 * 开发者可以传入OAID
                 * */
                override fun getDevOaid(): String? {
                    return super.getDevOaid()
                }

                /**
                 * 是否能获取android ID
                 * */
                override fun isCanUseAndroidId(): Boolean {
                    return super.isCanUseAndroidId()
                }


                /**
                 * 开发者可以传入android ID
                 * */
                override fun getAndroidId(): String? {
                    return super.getAndroidId()
                }

                /**
                 * 是否允许SDK在申明和授权了的情况下使用录音权限
                 * */
                override fun isCanUsePermissionRecordAudio(): Boolean {
                    return super.isCanUsePermissionRecordAudio()
                }
            })
            .setOaidProvider { "test_oaid" } //传入 OAID 获取器,建议集成 OAID SDK的应用设置
            .build()
         AdView.initSDK(this, initSDKConfig, object : InitSDKListener {
            override fun initializeSucceed() {
                //初始化成功
            }

            override fun initializeFail() {
                //初始化失败
            }
        })

        //今日头条屏幕适配
//        configUnits();
    }

    fun getContext(): Context? {
        return mContext
    }


}

InitSDKConfig

初始化SDK配置类

方法名 说明
AppId(String var1) 必选参数,设置应用ID
appName(String var1) 设置应用名称
TanxAppKey(String var1) 接入Tanx需要填写
setChannel(String var1) 设置渠道
RewardVideoScreenDirection(int var1) 设置激励视频播放页面的横竖屏
debug(boolean var1) 设置是否调试模式,上线前需要设置false
setDeniedUpDeviceInfo(DeniedUpDeviceInfo var1) 设置隐私权限控制
setOaidProvider(COaidProvider oaidProvider) 设置oaid收集器