-
Notifications
You must be signed in to change notification settings - Fork 46
5. 自定义广告SDK渠道
luyao edited this page Dec 21, 2021
·
3 revisions
我能不能把小米广告SDK也集成进来,聚合统一管理?可以。
您可以通过自定义SDK渠道,来拓展需要支持的任意广告SDK。参考demo示例工程中的HuaWeiSplashAdapter
和XiaoMiSplashAdapter
类了解具体实现。
自定义核心步骤:
第一步:新建自定义支持的渠道类文件,假设命名为ABCAdapter
,根据其广告类型继承不同的自定义基类,如果是开屏,那么需要让ABCAdapter
继承EASplashCustomAdapter
开屏自定义基类。然后必需要实现父类中的下列抽象方法:
/**
* 抽象基础方法,子类仅关注对应的广告处理逻辑
*/
//抽象方法,此方法内应执行广告加载方法
protected abstract void doLoadAD();
//抽象方法,此方法内应执行广告展示方法(如有)
protected abstract void doShowAD();
//抽象方法,此方法内应执行广告销毁操作(如有)
protected abstract void doDestroy();
第二步:通过EasyAdXXX
广告的addCustomSupplier(String sdkTag, EABaseSupplierAdapter adapter)
方法将自定义的ABCAdapter
添加到广告位上去,然后如果策略命中了该自定义渠道,会自动使用自定义的ABCAdapter
来处理广告加载逻辑。注意sdkTag
需要和json策略中的supplier
内tag
一致。
第三步:修改策略json,添加该自定义的渠道的supplier
和 rules
信息
为保证广告正常执行,自定义时有以下注意事项:
-
1.在
doLoadAD()
方法内执行广告请求方法时,一定要保证广告SDK已经执行过初始化方法了,如需获取渠道的appId,可以通过基类的getAppID()
方法获取到。 -
2.一定要在广告成功、曝光、点击、失败时,调用基类对应
handleXXX
方法,否则无法在统一回调中响应回调事件。