自定义adapter第2篇,
为什么自定义adapter?
一个原因:某家渠道证明过数据不错,在换聚合时不支持,需要想办法通过自定义的方式接入。如:19年,mopub不支持csj,gdt,mintegral;admob目前在官网中没有找到支持pangle。
另一个原因:是某些ssp渠道,想通过adapter的方式接入开发者的流量。这里对arpu的提升是正向的还是负向的,需要通过AB测试,才能验证。
自定adapter,主要内容可以分成2部分
一部分,运营或者商业化在后台配置正确的参数;另一部分,开发或者码农,负责业务逻辑的实现,具体表现就是在具体app上能展示这一家的广告,并且没有崩溃,同时后台能看到展示数据。注意,这部分至少包含这3个部分的验证。
下面以,基于admob自定义pangle为例来说明(之前在实现这个逻辑时候,在官网中没有找到直接的直接,需要通过自定义)
后台参数的配置
下面是配置自定义adapter的官方方法:
官方网址:
https://developers.google.com/admob/android/custom-events
要创建新的自定义事件,请完成以下步骤:
访问 https://apps.admob.com 并登录您的 AdMob 帐号。
点击边栏中的中介。
点击相应中介组的名称。
在“瀑布流中的广告来源”表格中,点击添加自定义事件。
为该事件输入描述性标签。
输入用于该自定义事件的人工有效每千次展示费用。该自定义事件会在中介链中就填充广告请求与其他广告来源进行竞争,而您设置的有效每千次展示费用会影响到该事件在中介链中的动态排名。
点击继续。
为每个广告单元输入类名(必填)和参数(选填)。如果您的类是在 Swift 中实现的,则您需要添加其应用/框架模块名称作为类名称的前缀(如 appName.className)。
点击完成。
点击保存。中介组将会被保存。
如果您还未在应用代码中植入自定义事件,请立即使用您在 AdMob 中创建该事件时所用的统一名称、类和参数植入该事件。
官方文档已经写的非常详细了,注意一个点,配置类名时,注意,需要包含完整的类名。
开发实现自定义adapter的逻辑
下面以插屏为例来说明
自定义插屏,
需要继承自CustomEventInsterstitial
实现requestInterstitialAd方法,完成广告的请求
重写showInterstitial方法
在onDestroy中销毁掉当前插屏的对象
关联上回调,将当前渠道的状态,通过回调,将广告的状态发送出去
注意点:
在请求广告时,需要注意SDK的初始化,对于既有插屏,也有banner或者激励视频的自定义;对于某些渠道,是需要先初始化SDK,再请求对应的广告。当有3种类型的广告时,初始化SDK注意控制只初始化1次。
关联回调,是指,当自定义渠道的广告加载成功,需要调用mAdmobAdListener.onAdLoaded();
当广告加载失败,需要调用mAdmobAdListener.onAdFailedToLoad(new AdError(i, "Pangle Ad Failed to load.", s));
同理,其他回调,如果需要,也需要将对应的回调传递出去。
到这里核心内容已经写完,下面有一个官方的github demo,对于实现有困难的开发来说,可以参考。注意,仅仅是官方demo,需要自取;这里设置一个门槛。

