显示广告
如果您的应用程序显示广告,您可以将整个广告管理重新定位到Finteza。可在iOS设备上及时推出广告宣传活动,同时面向所有用户。而无需更改应用程序,等待App Store中新版本的发布和所有设备的更新。
事实上,您只需要在应用程序中定义广告区,那么整个内容管理,详细统计和转化都可以在Finteza中使用。
虽然在Finteza中广告被称为横幅,但它们不局限于静态图像和GIF动图。横幅是一个信息集合,它可以包含多种内容类型,包括HTML5:登录页、轮播、弹出窗口等。
FintezaBannerView类负责下载和显示SDK中的横幅内容。 它由UIView派生而来,使得能够以标准的方式将其添加到iOS应用程序类型的层次结构中。
在Finteza创建一个广告区#
在应用程序中创建横幅之前,请在Finteza中配置一个广告区。这可以使您管理广告块内容。
转至Finteza面板的“网站”部分,找到您的应用程序并点击“新区域”:
- 设置名称和允许的内容格式。目前支持JPG、PNG、GIF和HTML文件。
- 请设置预先知道的区域大小或选择自动缩放区域大小。
- 保存更改并复制区域ID。它应该在应用程序中指定。
在应用程序中创建一个横幅#
您可以通过Interface Builder(界面生成器)或以编程方式创建横幅。
Interface Builder(界面生成器)
创建一个UIView类型的新界面元素。在“身份识别检查)选项卡的”自定义类“字段中设置FintezaBannerView。为横幅位置设置必要的限制。
横幅大小可以根据intrinsicContentSize进行定义。 |
以编程方式
使用以下代码创建一个具有特定尺寸的横幅:
Objective-C:
FintezaBannerView *banner = [[FintezaBannerView alloc] initWithFrame:bannerFrame]; |
Swift:
var banner = FintezaBannerView(frame: bannerFrame) |
使用以下代码创建一个占据整个视图的横幅(使用“自动布局”):
Objective-C:
FintezaBannerView *banner = [[FintezaBannerView alloc] initWithFrame:CGRectZero];
|
Swift:
let banner = FintezaBannerView(frame: .zero)
|
初始化#
为横幅设置区域ID和网站地址。
Objective-C和Swift:
banner.zoneID = @"{ZONE_ID}";
|
为{ZONE_ID},设置Finteza广告区ID。在{WEBSITE_URL},设置区域对应的应用程序名称或网站域名。
这些参数也可以在Interface Builder(界面生成器)中设置。为此,请选择FintezaBannerView类对象并转至“属性检查”选项卡:
下载内容#
调用load方法以启动内容下载。
Objective-C:
[banner load]; |
Swift:
banner.load() |
您可以指定一个委托对象来接收有关内容下载状态的通知。为此,请在委托属性中设置一个实施协议的对象:
@protocol FintezaBannerViewDelegate <NSObject>
|
例如,委托只允许在下载内容之后向父视图添加横幅。
根据intrinsicContentSize定义横幅大小#
如果您使用“自动布局”,则可以根据标准的intrinsicContentSize属性来设置横幅大小。
对于FintezaBannerView, intrinsicContentSize等于Finteza区域设置中的设置值。区域大小在横幅请求阶段即可知晓。
如果没有指定确切的区域大小(区域设置中选择了“自定义大小,使用横幅宽度\高度”),intrinsicContentSize根据上传的横幅内容来定义。对于JPG、PNG和GIF横幅,这里表示图像大小。
这种方法不适用于HTML和自适应横幅,因为无法明确确定它们的内容大小。 |
广告循环#
广告循环时间通过rotationTime属性以秒计算进行设置(默认值为10分钟)。对于循环横幅,load方法应该在每次显示包含横幅的父视图时调用(例如, viewWillAppear)。直到rotationTime中指定的时间到期,才会导致不必要的网络请求。
Objective-C和Swift:
banner.rotationTime = 60 // 每分钟循环 |
若要禁用循环,请设置rotationTime = 0。
rotationTime参数应在调用load方法之前指定。 |