(Taku/TopOn)优推自定义适配器接入说明文档
(Taku/TopOn)优推自定义适配器接入说明文档
文档日志
版本 | 更新日期 | 更新记录 |
---|---|---|
1.0 | 2024-10-09 | 初版; |
2.0 | 2025-01-02 | demo适配taku新版本; 更新操作流程; |
参考链接
优推ADN接入文档:
优推adn接入文档:https://lemon.gameley.com/flowdocs/
Taku聚合自定义广告文档:
Taku聚合提供的自定义广告平台文档:https://help.takuad.com/docs/fRMh7C
优推Adapter适配器demo:
Android:https://gameley.coding.net/public/youtuiadsdk/adn_network_topon/git/files
IOS:https://gameley.coding.net/public/youtuiadsdk/adn_network_topon_ios/git/files
Taku自定义Adapter类继承类说明文档:
1.主要流程说明
1.1 在项目中构建各广告类型Adapter类:
类名可参考下图示例(图中示例仅供参考,具体路径和名称由媒体方自行创建,Adapter类中的方法实现可参考优推提供的适配器demo或聚合提供的继承类说明文档),保证各广告类型对应一个类即可;
广告类型:
Reward | |
Interstitial | |
Banner | |
Feed |
1.2 在Taku聚合后台配置信息:
相关信息
💡 请先阅读Taku聚合提供的自定义广告平台文档:https://help.takuad.com/docs/fRMh7C
根据Taku聚合自定义广告平台文档中的步骤,创建自定义广告网络,并在填写自定义广告平台信息
在【应用及广告源参数】中,创建用于存放应用id和广告位id的参数key;
在【Adapter类名】中填写1.1中创建的Adapter类名;Android需要填写全路径,IOS则只需填写类名(下图仅为示例);
在【广告源管理】中,选择【添加广告源】
此处,可以看到在创建广告平台时添加的参数“应用ID”和“广告位ID”,分别填写优推后台创建的appid和代码位id(注意代码位id的类型要和聚合广告位类型一致),配置成功后,可以看到【下发配置】出现对应内容。
之后在代码中,继承CustomXXAdapter,并重写 startBiddingRequest 或 loadCustomNetworkAd 时,可从参数 serverExtra 中获取到下发配置;app_id用于初始化优推 ADN SDK,unit_id用于加载广告对象;(聚合后台配置完成后,需等待一段时间生效)
ios 通过 serverInfo 参数获取:
注意:模版渲染和自渲染广告由同一个Adapter类加载,因此需要在下发配置中添加可区分类型的标识;加载模版广告需要填入宽度,单位dp,可在代码中动态创建或和标识一起由聚合后台下发。
1.3 根据Taku聚合自定义适配器接入说明实现协议:
Taku聚合将会通过运行Adapter适配器类的方式来实现adn加载广告的操作,因此需要在适配器中完成adn加载广告的操作,并通过Taku聚合提供的回调函数将各阶段状态通知到聚合;
Taku提供的自定义适配器继承类说明-Android:https://help.takuad.com/docs/4M5AIa
Taku提供的自定义适配器继承类说明-IOS:https://help.takuad.com/docs/iHxZQZ
适配器代码可参考目录【参考链接】中提供的Demo;
2.常见问题说明:
2.1 广告无填充
- 确认优推 ADN SDK 是否完成初始化,适配器load函数是否被正常调用;若调用失败,请检查后台配置的Adapter类是否正确(详见目录1.2);
- 打印并确认下发的appid和代码位id是否正确,是否和优推后台创建的一致。
- 确认代码位id对应的广告类型和请求广告所用的load函数是否正确对应;
2.2 开屏广告未铺满屏幕
优推adn开屏展示将会铺满提供的容器宽高;
若发现开屏广告未铺满容器,请按以下方式修改(增加中间层,来避免不同布局方式之间的冲突):
FrameLayout frameLayout = new FrameLayout(SplashShowActivity.this);
frameLayout.setLayoutParams(new FrameLayout.LayoutParams(ViewGroup.LayoutParams.MATCH_PARENT, ViewGroup.LayoutParams.MATCH_PARENT));
saAllianceAd.showSplash(frameLayout); //将中间层传给adn
splashContainer.addView(frameLayout); //聚合容器添加中间层