Skip to content

5. 自定义广告SDK渠道

luyao edited this page Dec 21, 2021 · 3 revisions

2.5 自定义支持更多广告SDK渠道

我能不能把小米广告SDK也集成进来,聚合统一管理?可以。

您可以通过自定义SDK渠道,来拓展需要支持的任意广告SDK。参考demo示例工程中的HuaWeiSplashAdapterXiaoMiSplashAdapter类了解具体实现。

自定义核心步骤:

第一步:新建自定义支持的渠道类文件,假设命名为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策略中的suppliertag一致。

第三步:修改策略json,添加该自定义的渠道的supplierrules信息

为保证广告正常执行,自定义时有以下注意事项

  • 1.在doLoadAD()方法内执行广告请求方法时,一定要保证广告SDK已经执行过初始化方法了,如需获取渠道的appId,可以通过基类的getAppID()方法获取到。

  • 2.一定要在广告成功、曝光、点击、失败时,调用基类对应handleXXX方法,否则无法在统一回调中响应回调事件。