使用Adobe Experience SDK发布事件
使用Adobe体验SDK跟踪Adform平台的营销事件。
功能
- 所有发送到Adobe平台的事件也将路由到Adform。
- 轻松将Adform的
TrackPoint
转换为Adobe事件。
要求
- iOS 10
- Adobe核心库
- Adform跟踪SDK
设置Adobe体验平台
- 设置Adobe体验平台
- 然后在Adobe体验云平台中安装
Adform移动扩展
。
集成Adform扩展
1. 使用CocoaPods
我们使用CocoaPods进行依赖管理。因此,请将此Pod添加到您的podfile中
pod 'AdformAdobeExtension'
然后运行pod install
或pod update
以安装扩展的最新版本。
2. 手动集成
如果您希望手动集成此扩展,请按照以下步骤操作
- 复制
AdformAdobeExtension
文件夹,并将其添加到您的项目中。 - 集成必需的依赖项:AdformTracking和ACPCore。
3. 注册Adform扩展
您应在app代理的didFinishLaunchingWithOptions
方法中注册Adform扩展,如下所示
...
- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
...
[AdformAdobeExtension registerExtension];
...
}
发送事件
通过Adobe Experience SDK发送事件有几种方式。如果您已经集成了Adform,可以使用便利方法将当前的跟踪点转换为事件数据,或者从头开始创建事件数据,使用提供的关键常量。
1. 使用跟踪点适配器
要最小化迁移到Adobe Experience SDK所需的代码更改,可以使用AFTEventAdapter
类将AFTrackPoint
类的实例转换为事件数据,并通过Adobe SDK发送它。以下示例显示了如何操作。
- (void)sendTrackPoint {
AFTrackPoint *trackPoint = [[AFTrackPoint alloc] initTrackPoint:123456789];
[trackPoint setAppName:@"DemoAdobe-iOS"];
AFOrder *order = [AFOrder new];
order.orderId = @"1";
order.sale = 15;
order.currency = @"Eur";
order.orderStatus = @"Sold";
order.country = @"Lithuania";
order.gender = @"Male";
[trackPoint setOrder:order];
AFProduct *product1 = [AFProduct new];
product1.categoryId = @"1";
product1.categoryName = @"Category";
product1.productId = @"2";
product1.productName = @"Product";
product1.weight = 5;
product1.step = AFEcomerceStepView;
product1.productCount = 3;
[trackPoint addProduct:product];
NSDictionary *data = [AFTEventAdapter makeContextDataFrom:trackPoint];
[ACPCore trackAction: @"Demo-action" data: data];
}
您还可以始终使用Adobe的'.trackState()',尽管在Adform跟踪SDK中它的工作方式与使用'.trackAction()'完全相同。
- (void)sendTrackPoint {
AFTrackPoint *trackPoint = [[AFTrackPoint alloc] initTrackPoint:123456789];
[trackPoint setAppName:@"DemoAdobe-iOS"];
NSDictionary *data = [AFTEventAdapter makeContextDataFrom:trackPoint];
[ACPCore trackState: @"Demo-State" data: data];
}
2. 直接发送事件数据
如果您之前没有为Adform创建事件,有一种更通用的方法来发送这些事件
- (void)sendTrackPoint {
NSString *trackingPointId = [NSString stringWithFormat:@"%ld", [AdformAdobeExtension trackingPointId];
NSDictionary *data = @{
kTrackPointIdKey: trackingPointId,
kTrackPointAppNameKey: @"DemoAdobe-iOS",
kTrackPointOrderIdKey: @"1",
kTrackPointOrderSaleKey: @"15",
kTrackPointOrderCurrencyKey: @"Eur",
kTrackPointOrderStatusKey: @"Sold",
kTrackPointOrderCountryKey: @"Lithuania",
kTrackPointOrderGenderKey: @"Male",
// Product
kTrackPointProductCategoryIdKey: @"1",
kTrackPointProductCategoryNameKey: @"Category",
kTrackPointProductIdKey: @"2",
kTrackPointProductNameKey: @"Product",
kTrackPointProductWeightKey: @"5",
kTrackPointProductStepKey: @"1",
kTrackPointProductCountKey: @"3"
}
[ACPCore trackAction: @"Demo-action" data: data];
}