(Gromore)优推自定义适配器接入说明文档
(Gromore)优推自定义适配器接入说明文档
文档日志
版本 | 更新日期 | 更新记录 |
---|---|---|
1.0 | 2024-10-10 | 初版 |
参考链接
优推ADN接入文档:
优推adn接入文档:https://lemon.gameley.com/flowdocs/
Gromore聚合自定义广告网络文档(需要登陆后方可查看):
Gromore聚合提供的自定义广告网络文档:https://www.csjplatform.com/supportcenter/5878
优推自定义适配器接入示例:
优推adn适配器参考Demo:优推自定义适配器接入Gromore聚合示例Demo-Android端
优推adn适配器参考Demo:优推自定义适配器接入Gromore聚合示例Demo-Android端
Gromore自定义广告网络基类方法说明:
Gromore提供的自定义广告网络基类方法说明-Android:https://www.csjplatform.com/union/media/union/download/detail?id=161&docId=27724&osType=android
Gromore提供的自定义广告网络基类方法说明-IOS:
1.主要流程说明
1.1 在项目中构建各广告类型和初始化的Adapter类:
类名可参考下图示例(类名可自定义,图中示例仅供参考),保证各广告类型对应一个类即可,并额外需要一个负责初始化SDK的类,如示例中的YtCustomerInit
广告类型:
Reward | |
Interstitial | |
Banner | |
Feed |
1.2 在Gromore聚合后台配置信息:
相关信息
💡 请先阅读Gromore聚合提供的自定义广告网络文档:https://www.csjplatform.com/supportcenter/5878
根据Gromore聚合自定义广告网络文档中的步骤,创建自定义广告网络,并在填写自定义广告平台信息,【Adapter类名】填写1.1中创建的Adapter类名;Android需要填写全路径,IOS则只需填写类名;
向应用添加广告网络时,AppId填写优推后台创建的应用id,Appkey忽略即可;
在代码中,继承 MediationCustomInitLoader 并重写 initializeADN 时,可从参数 mediationCustomInitConfig 中获取到该配置,用于初始化优推sdk:
ios则是实现 BUMCustomConfigAdapter 协议后,在 initializeAdapterWithConfiguration 的参数 initConfig 中获取;
在【瀑布流管理】中【添加代码位】时,选择创建好的自定义广告网络,【代码位ID】填写优推后台创建的代码位id,【代码位类型】选择代码位id对应的广告类型。
在代码中,继承 MediationCustomXXLoader 并重写 loadAd 后,可以从参数 mediationCustomServiceConfig 中获取到该配置,用于加载广告对象;
ios则是实现对应协议后,在加载广告函数的
1.3 根据Gromore聚合自定义广告网路基类方法说明实现协议:
Gromore聚合将会通过运行Adapter适配器类的方式来实现adn加载广告的操作,因此需要在适配器中完成adn加载广告的操作,并通过Gromore聚合提供的回调函数将各阶段状态通知到聚合;
Gromore提供的自定义广告网络基类方法说明-Android:https://www.csjplatform.com/union/media/union/download/detail?id=161&docId=27724&osType=android
Gromore提供的自定义广告网络基类方法说明-IOS:
适配器代码可参考目录【参考链接】中提供的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); //聚合容器添加中间层