EasyAds-iOS 开源聚合 SDK 广告软件开源项目

我要开发同款
匿名用户2021年12月28日
62阅读
开发技术Object-c
所属分类Objective-C、手机开发工具、手机/移动开发
授权协议GPL

作品详情

EasyAds-iOS 是开源聚合SDK广告软件。帮助App开发者便捷接入国内多家主流广告SDK。

EasyAds-iOS快速指引1.支持的SDK平台及广告位SDK平台开屏激励视频横幅插屏(弹窗)模板信息流全屏视频draw信息流穿山甲✅✅✅✅✅✅❌优量汇✅✅✅✅✅✅❌百青藤✅✅✅❌✅✅❌快手✅✅❌✅✅✅❌2.快速接入下面介绍EasyAds的快速接入方法,开发中也可以参考Example下的示例工程,快速了解。

2.1开发环境准备开发工具:推荐使用Xcode12及以上版本部署目标:iOS9.0及以上版本开发管理工具:CocoaPods,CocoaPods安装方法及问题参考2.2引入SDK根据需要将相关的渠道SKAdNetworkID添加到info.plist中,保证SKAdNetwork的正确运行。示例如下:

<key>SKAdNetworkItems</key><array><dict><key>SKAdNetworkIdentifier</key><string>238da6jt44.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>22mmun2rn5.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>f7s53z58qe.skadnetwork</string></dict><dict><key>SKAdNetworkIdentifier</key><string>r3y5dwb26t.skadnetwork</string></dict></array>2.3SDK分发策略配置配置SDK的分发策略,可方便的实现流量的切分操作,实现多SDK的混合执行策略。

在EasyAds中,我们通过JSON文件的方式配置SDK的分发策略,开发者可根据自身流量分发的需求,按照EasyAds中提供的JSON配置格式及方法设置流量分发策略。

以开屏广告对接穿山甲和优量汇两个SDK为例,配置选择80%流量穿山甲->优量汇的顺序请求,20%流量优量汇->穿山甲的顺序请求,配置如下所示。

其中,suppliers字段下配置媒体在穿山甲和优量汇平台申请的广告代码位信息,rules字段下配置流量分发策略及比例;

策略JSON的配置说明详细见:SDK策略配置JSON说明

不同广告位的JSON策略配置示例见:不同广告位JSON配置示例

{"rules":[{"tag":"A","sort":[1,2],"percent":80},{"tag":"B","sort":[2,1],"percent":20}],"suppliers":[{"tag":"csj","adspotId":"穿山甲广告位ID","appId":"穿山甲应用ID","index":1},{"tag":"ylh","adspotId":"优量汇广告位ID","appId":"优量汇应用ID","index":2}]} 注: 为了方便开发者配置流量分发策略,我们也提供了在线可视化的便捷工具EasyTools,方便生成广告位的策略配置JSON。

2.3获取广告以下步骤,为获取广告的必要步骤,适用于所有广告位。不同广告位置的不同实现,可参考Example示例;

2.3.1获取执行策略从SDK策略配置的JSON文件获取分发策略并转换成NSDictionary,可参考Demo中的AdDataJsonManager文件

-(NSDictionary*)loadAdDataWithJsonName:(NSString*)jsonName{if(!jsonName){returnnil;}@try{NSString*path=[[NSBundlemainBundle]pathForResource:jsonNameofType:@"json"];NSData*data=[[NSDataalloc]initWithContentsOfFile:path];return[NSJSONSerializationJSONObjectWithData:dataoptions:NSJSONReadingMutableContainerserror:nil];}@catch(NSException*exception){}}2.3.2使用执行策略初始化广告对象使用获取的执行策略初始化广告对象EasyAdXXX,以开屏为例

EasyAdSplash*splashAd=[[EasyAdSplashalloc]initWithJsonDic:self.dicviewController:self];2.3.3设置代理splashAd.delegate=self2.3.4设置其他属性(可选)App根据自生需要设置以下参数

//是否必须展示Logo默认:NO注意:强制展示Logo可能会影响收益!!!splashAd.showLogoRequire=YES;//Applogo图片splashAd.logoImage=[UIImageimageNamed:@"app_logo"];//开屏广告未加载完成时,所展示的背景图(建议设置为启动页图片)splashAd.delegate.backgroundImage=[UIImageimageNamed:@"LaunchImage_img"];//超时时间splashAd.delegate.timeout=5;2.3.5调用获取广告方式一:请求并展示广告。

[splashAdloadAndShowAd];方式二:先发起请求广告:

[splashAdloadAd];待广告成功拉取后,开发者可根据业务需求在合适的时机,决定调用展示广告方法。(注意:广告会存在有效期,过久未调用展示,会导致广告失效)

[splashAdshowAd];2.3.4各广告位集成实现开屏广告:EasyAdSplash

插屏广告:EasyAdInterstitial

横幅广告:EasyAdBanner

原生模板、信息流广告:EasyAdNativeExpress

激励视频广告:EasyAdRewardVideo

全屏视频广告:EasyAdFullScreenVideo

3.SDK错误码&常见问题调试遇到问题?欢迎查询SDK错误码及常见问题FAQ,帮助你快速解决对接中遇到的问题。

SDK错误码

常见问题

声明:本文仅代表作者观点,不代表本站立场。如果侵犯到您的合法权益,请联系我们删除侵权资源!如果遇到资源链接失效,请您通过评论或工单的方式通知管理员。未经允许,不得转载,本站所有资源文章禁止商业使用运营!
下载安装【程序员客栈】APP
实时对接需求、及时收发消息、丰富的开放项目需求、随时随地查看项目状态

评论