Skip to content

Navigation Menu

Sign in
Appearance settings

Search code, repositories, users, issues, pull requests...

Provide feedback

We read every piece of feedback, and take your input very seriously.

Saved searches

Use saved searches to filter your results more quickly

Appearance settings

bayescom/EasyAds-iOS

Open more actions menu

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 

History

49 Commits
49 Commits
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

levelup

🚀🚀EasyAds项目全面升级,Pro版本全面开源,搭建媒体属于自己的聚合SDK管理平台。

了解更多请点击: EasyAds Pro 主页,开启您的安全、高效、全面的商业化之路。


❗️❗原EasyAds项目将停止维护❗️❗

EasyAds-iOS 快速指引

目前版本: 2.0.0

1. 支持的SDK平台及广告位

SDK平台 版本号 开屏 激励视频 横幅 插屏(弹窗) 模板信息流 全屏视频 draw信息流
穿山甲 4.9.0.6
优量汇 4.14.02
百青藤 5.101
快手 3.3.36

注意: EasyAds不对各SDK的版本号进行限制, 上图中的版本号的意义是该版本的EasyAds是基于上述SDK平台版本进行开发的

2. 快速接入

下面介绍EasyAds的快速接入方法,开发中也可以参考Example下的示例工程,快速了解。

2.1 开发环境准备

2.2 引入SDK

根据需要将相关的渠道SKAdNetwork ID添加到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.3 SDK分发策略配置

配置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) {
        return nil;
    }
    
    @try {
        NSString *path = [[NSBundle mainBundle] pathForResource:jsonName ofType:@"json"];
        NSData *data = [[NSData alloc] initWithContentsOfFile:path];
        
        return [NSJSONSerialization JSONObjectWithData:data options:NSJSONReadingMutableContainers error:nil];

    } @catch (NSException *exception) {}
}

2.3.2 使用执行策略初始化广告对象

使用获取的执行策略初始化广告对象EasyAdXXX,以开屏为例

EasyAdSplash *splashAd = [[EasyAdSplash alloc] initWithJsonDic:self.dic viewController:self];

2.3.3 设置代理

splashAd.delegate = self

2.3.4 设置其他属性(可选)

App根据自生需要设置以下参数

// 是否必须展示Logo 默认: NO 注意: 强制展示Logo可能会影响收益 !!!
splashAd.showLogoRequire = YES;
// App logo图片
splashAd.logoImage = [UIImage imageNamed:@"app_logo"];
// 开屏广告未加载完成时,所展示的背景图(建议设置为启动页图片)
splashAd.delegate.backgroundImage = [UIImage imageNamed:@"LaunchImage_img"];
// 超时时间
splashAd.delegate.timeout = 5;

2.3.5 调用获取广告

方式一:请求并展示广告

[splashAd loadAndShowAd];

方式二:先发起请求广告:

[splashAd loadAd];

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

[splashAd  showAd];

2.3.4 各广告位集成实现

3. SDK错误码 & 常见问题

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

SDK错误码

常见问题

技术支持

QQ群: EasyAds开源社区群

QQ群二维码:

image

邮件技术支持:easyads@bayescom.com

About

🔥持续更新🔥EasyAds,全球热门的开源聚合SDK广告软件。帮助App开发者便捷接入国内多家主流广告 SDK包括:字节穿山甲、腾讯优量汇、百度百青藤、快手联盟。几行代码就可以快速实现开屏、Banner横幅、插屏、激励视频、原生信息流、全屏等广告形式。

Topics

Resources

Stars

Watchers

Forks

Releases

Packages

Contributors

Languages

Morty Proxy This is a proxified and sanitized view of the page, visit original site.