adbutler-ios-sdk
要求
- iOS 9.0+
- Xcode 8.1+
- Swift 3.0.1+ 或 Objective-C
安装
CocoaPods
使用 CocoaPods 将 adbutler-ios-sdk 集成到您的 Xcode 项目中,请在您的 Podfile
中指定它
source 'https://github.com/CocoaPods/Specs.git'
platform :ios, '9.0'
use_frameworks!
target '<Your Target Name>' do
pod 'AdButler', '~> 1.0.8'
end
如果您想使用最新的 master 分支
pod 'adbutler-ios-sdk', github: 'adbutler/adbutler-ios-sdk', branch: 'master'
然后运行 pod install
以下载代码并将其集成到项目中。
Carthage
为了使用Carthage将adbutler-ios-sdk集成到您的Xcode项目中,请在您的Cartfile
中指定它。
github "adbutler/adbutler-ios-sdk" ~> 1.0.6
如果您想使用最新的 master 分支
github "adbutler/adbutler-ios-sdk" "master"
然后,运行carthage update
来构建框架,并将构建好的AdButler.framework
拖动到您的Xcode项目中。
手动
可以通过构建并将框架复制到您的项目中来手动安装adbutler-ios-sdk。
另一种方法是添加AdButler/AdButler
文件夹下的所有swift文件到您的项目中。
使用
请求单独定位
要请求一个定位,您可以构建一个PlacementRequestConfig
的实例,并指定您想要发送的属性。
let config: PlacementRequestConfig
AdButler.requestPlacement(with: config) { response in
// handle response
}
请求多个定位
要请求多个定位,您需要一个PlacementRequestConfig
的数组,每个数组元素对应一个定位。
let configs: [PlacementRequestConfig]
AdButler.requestPlacements(with: configs) { response in
// handle response
}
处理响应
定位请求将接受一个包含Response
实例的完成块,这是一个Swift枚举,将指示请求的成功或其他状态。
AdButler.requestPlacements(with: configs) { response in
switch response {
case .success(let responseStatus, let placements): // ...
case .badRequest(let httpStatusCode, let responseBody): //...
case .invalidJson(let responseStr): //...
case .requestError(let error): //..
}
}
根据应用程序的实际情况处理每个案例。在.success
的情况下,您将获得一个包含每个请求的放置位置的Placement
列表。
请求像素
您可以通过提供URL来简单地请求像素。
let url: URL
AdButler.requestPixel(with: url)
记录印象
当您有Placement
时,您可以通过以下方式记录印象:
let placement: Placement
placement.recordImpression()
记录印象的最佳实践是在放置内容可见于屏幕/已被用户看到时进行。
记录点击
类似地,您可以记录Placement
的点击。
let placement: Placement
placement.recordClick()
关于 Objective-C 的说明
对于 Objective-C 项目,还提供了基于回调的附加替代方法。如果您从一个 Objective-C 项目中使用此 SDK,您可以这样请求放置位置:
PlacementRequestConfig *config = [[PlacementRequestConfig alloc] initWithAccountId:153105 zoneId:214764 width:300 height:250 keywords:@[@"sample2"] click:nil];
[AdButler requestPlacementWithConfig:config success:^(NSString * _Nonnull status, NSArray<Placement *> * _Nonnull placements) {
// :)
} failure:^(NSNumber * _Nullable statusCode, NSString * _Nullable responseBody, NSError * _Nullable error) {
// :(
}];
示例项目
请查看此存储库内的Swift 示例
和ObjC 示例
项目,了解更多有关如何使用此 SDK 的示例代码。
许可协议
此SDK采用Apache 2.0许可协议发布。有关更多信息,请参阅LICENSE。