您可以集成 Adjust SDK 和 Sociomantic 事件。
设置环境
添加下列行至您的 Cartfile
:
github "adjust/ios_sdk" "sociomantic"
通过源代码安装
您可以通过以下方法手动将 Adjust Sociomantic 插件加入项目中:
- 在从发布页面下载的存档中找到
plugin/Sociomantic
文件夹。
- 将
ADJSociomantic.h
和 ADJSociomantic.m
文件拖拽至您项目中的 Adjust 文件夹。
- Choose options for adding these files (选择添加文件选项)对话框出现时,勾选 Copy items if needed 并选择 Create groups 。
Sociomantic 事件
安装 Sociomantic 插件后,您就能调用 Sociomantic 事件方法和下列常量。您应当将它们用作目录中的属性名称。
NSString *const SCMCategory;
NSString *const SCMProductName;
NSString *const SCMSalePrice;
NSString *const SCMProductURL;
NSString *const SCMProductImageURL;
NSString *const SCMBrand;
NSString *const SCMDescription;
NSString *const SCMTimestamp;
NSString *const SCMValidityTimestamp;
NSString *const SCMQuantity;
NSString *const SCMScore;
NSString *const SCMProductID;
NSString *const SCMAmount;
NSString *const SCMCurrency;
NSString *const SCMActionConfirmed;
NSString *const SCMActionConfirmed;
NSString *const SCMCustomerAgeGroup;
NSString *const SCMCustomerEducation;
NSString *const SCMCustomerGender;
NSString *const SCMCustomerID;
NSString *const SCMCustomerMHash;
NSString *const SCMCustomerSegment;
NSString *const SCMCustomerTargeting;
在发送任何 Sociomantic 事件之前,您应当按照下方呈现的方式设置合作伙伴 ID:
ADJSociomantic.injectPartnerId(intoSociomanticEvents: "{sociomanticPartnerId}")
#import "ADJSociomantic.h"
[ADJSociomantic injectPartnerIdIntoSociomanticEvents:@"{sociomanticPartnerId}"];
设置好合作伙伴 ID 后,就可以集成不同的 Sociomantic 事件了。
示例
客户事件
let event = ADJEvent(eventToken: ANY_TOKEN)
ADJSociomantic.injectCustomerData(into: event, withData: customerData)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:ANY_TOKEN];
NSDictionary *customerData = @{
[ADJSociomantic injectCustomerDataIntoEvent:event withData:customerData];
[Adjust trackEvent:event];
查看主页
let event = ADJEvent(eventToken: HOMEPAGE_TOKEN)
ADJSociomantic.injectHomePage(into: event)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:HOMEPAGE_TOKEN];
[ADJSociomantic injectHomePageIntoEvent:event];
[Adjust trackEvent:event];
查看产品页面
let event = ADJEvent(eventToken: LISTING_TOKEN)
let categories = ["category_1", "category_2", "category_3"]
ADJSociomantic.injectViewListing(into: event, withCategories: categories)
// You also can provide a date like this
ADJSociomantic.injectViewListing(into: event, withCategories: categories, withDate: date)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:LISTING_TOKEN];
NSArray *categories = @[@"category_1", @"category_2", @"category_3"];
NSString *date = @"1427792434";
[ADJSociomantic injectViewListingIntoEvent:event withCategories:categories];
// You also can provide a date like this
[ADJSociomantic injectViewListingIntoEvent:event withCategories:categories withDate:date];
[Adjust trackEvent:event];
浏览产品
let event = ADJEvent(eventToken: PRODUCT_VIEW_TOKEN)
SCMCategory: ["cat1", "cat2"],
SCMDescription: "pure awesomeness"
ADJSociomantic.injectViewProduct(into: event, productId: "productId_4", withParameters: params)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:PRODUCT_VIEW_TOKEN];
NSDictionary *params = @{
SCMCategory : @[@"cat1", @"cat2"],
SCMProductName : @"stuff",
SCMDescription : @"pure awesomeness"
[ADJSociomantic injectViewProductIntoEvent:event productId:@"productId_4" withParameters:params];
[Adjust trackEvent:event];
可用产品参数
参数名称 | 要求 | 描述 | 请注意 |
---|
SCMCategory | 必要参数 | 产品类别 (整个类别路径) | 类别或列表页面跟踪代码中提供的类别信息,应当与动态或产品页面跟踪代码中的类别信息一致。 |
SCMProductName | 必要参数 | 产品名称 | 特殊字符不需要编码,但应当以正确的 UTF-8 格式发送。请不要使用任何 HTML 标记。 |
SCMSalePrice | 必要参数 | 十进制值促销价格 (例如:2.99) | 请使用点 (.) 作为小数分隔符,不要使用任何千位数分隔符。 |
SCMAmount | 必要参数 | 十进制值正常价格 (例如:3.99) | 请使用点 (.) 作为小数分隔符,不要使用任何千位数分隔符。 |
SCMCurrency | 必要参数 | ISO 4217 格式货币代码 (例如:EUR) | 固定货币代码。应当已在跟踪代码示例中为您提供。 |
SCMProductURL | 必要参数 | 产品 URL (深度链接) | 请提供能够正常运作的深度链接,最好不要带有任何点击跟踪参数 (如 Google Analytics、HURRA、Eulerian 等),务必始终使用带 http:// 的深度链接 http:// |
SCMProductImageURL | 必要参数 | 产品图片 URL | 请提供大小适宜的图片。为了在广告中达到最佳展示效果,图片应当至少为 200x200px,并保持相同的长宽比。 |
SCMBrand | 必要参数 | 产品品牌 | 特殊字符不需要编码,但应当以正确的 UTF-8 格式发送 (与上文 SCMProductName 相同)。请不要使用任何 HTML 标记。 |
SCMDescription | 可选 | 简短产品描述 | 特殊字符不需要编码,但应当以正确的 UTF-8 格式发送 (与上文 SCMProductName 相同)。请不要使用任何 HTML 标记。 |
SCMTimestamp | 可选 | 产品可用期限的截止时间戳 (请使用格林尼治标准时间) | 请提供访客搜索过的日期。该时间戳应当为包装在 NSNumber 中的 NSTimeInterval (参见示例)。 |
SCMValidityTimestamp | 可选 | 产品可用期限的截止时间戳 (请使用格林尼治标准时间) | 请提供产品可用期限的截止 unix 时间戳。对于始终可用的产品,请使用 0。该时间戳应当为包装在 NSNumber 中的 NSTimeInterval (与上文 SCMTimestamp 相同)。 |
SCMQuantity | 可选 | 库存产品数量 | 请先与您的 Sociomantic 联系人讨论,确定后再集成该字段 |
SCMScore | 可选 | 产品优先级分数 ( 0 - 10.0 之间的值) | 请先与您的 Sociomantic 联系人讨论,确定后再集成该字段 |
购物车
let event = ADJEvent(eventToken: CART_TOKEN)
SCMAmount: NSNumber(value: 100),
SCMQuantity: NSNumber(value: 1),
SCMProductID: "productId_5"
let product6 = "productId_6"
SCMProductID: "productId_7"
let productList = [product5, product6, product7]
ADJSociomantic.injectCart(into: event, cart: productList)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:CART_TOKEN];
NSDictionary *product5 = @{
SCMProductID : @"productId_5",
NSString *product6 = @"productId_6";
NSDictionary *product7 = @{
SCMProductID : @"productId_7"
NSArray * productList = @[product5, product6, product7];
[ADJSociomantic injectCartIntoEvent:event cart:productList];
[Adjust trackEvent:event];
可用购物车参数
参数名称 | 要求 | 描述 | 请注意 |
---|
SCMProductID | 必要参数 | 产品 ID | 该产品 ID 不应包含任何色彩与尺寸衍类的子 ID。 |
SCMAmount | 可选 | 十进制值产品价格 (例如:2.99) | 请使用点 (.) 作为小数分隔符,不要使用任何千位数分隔符。即便产品数量值大于 1,也请提供单个产品价格。 |
SCMCurrency | 可选 | ISO 4217 格式货币代码 (例如:EUR) | 固定货币代码。应当已在跟踪代码示例中为您提供。 |
SCMQuantity | 可选 | 选定产品数量 | 请使用整数值。 |
未确认交易
let event = ADJEvent(eventToken: TRANSACTION_TOKEN)
let product5 = "productId_5"
SCMQuantity: NSNumber(value: 3),
SCMProductID: "productId_6"
let productList = [product5, product6]
ADJSociomantic.injectTransaction(into: event, transactionId: "123456", withProducts: productList)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:TRANSACTION_TOKEN];
NSString *product5 = @"productId_5";
NSDictionary *product6 = @{
SCMProductID : @"productId_6"
NSArray * productList = @[product5, product6];
[ADJSociomantic injectTransactionIntoEvent:event transactionId:@"123456" withProducts:productList];
[Adjust trackEvent:event];
或带参数:
let event = ADJEvent(eventToken: TRANSACTION_TOKEN)
let product5 = "productId_5"
SCMQuantity: NSNumber(value: 3),
SCMProductID: "productId_6"
let productList = [product5, product6]
SCMQuantity: NSNumber(value: 4 /* 3 times product6 and 1 product5 */)
ADJSociomantic.injectTransaction(into: event, transactionId: "123456", withProducts: productList, withParameters: parameters)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:TRANSACTION_TOKEN];
NSString *product5 = @"productId_5";
NSDictionary *product6 = @{
SCMProductID : @"productId_6"
NSArray *productList = @[product5, product6];
NSDictionary *parameters = @{
SCMQuantity: @4 // 3 times product6 and 1 product5
[ADJSociomantic injectTransactionIntoEvent:event transactionId:@"123456" withProducts:productList withParameters:parameters];
[Adjust trackEvent:event];
已确认交易
let event = ADJEvent(eventToken: TRANSACTION_TOKEN)
let product5 = "productId_5"
SCMQuantity: NSNumber(value: 3),
SCMProductID: "productId_6"
let productList = [product5, product6]
ADJSociomantic.injectConfirmedTransaction(into: event, transactionId: "123456", withProducts: productList)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:TRANSACTION_TOKEN];
NSString *product5 = @"productId_5";
NSDictionary *product6 = @{
SCMProductID : @"productId_6"
NSArray * productList = @[product5, product6];
[ADJSociomantic injectConfirmedTransactionIntoEvent:event transactionId:@"123456" withProducts:productList];
[Adjust trackEvent:event];
或带参数:
let event = ADJEvent(eventToken: TRANSACTION_TOKEN)
let product5 = "productId_5"
SCMQuantity: NSNumber(value: 3),
SCMProductID: "productId_6"
let productList = [product5, product6]
SCMQuantity: NSNumber(value: 4 /* 3 times product6 and 1 product5 */)
ADJSociomantic.injectConfirmedTransaction(into: event, transactionId: "123456", withProducts: productList, withParameters: parameters)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:TRANSACTION_TOKEN];
NSString *product5 = @"productId_5";
NSDictionary *product6 = @{
SCMProductID : @"productId_6"
NSArray *productList = @[product5, product6];
NSDictionary *parameters = @{
SCMQuantity: @4 // 3 times product6 and 1 product5
[ADJSociomantic injectConfirmedTransactionIntoEvent:event transactionId:@"123456" withProducts:productList withParameters:parameters];
[Adjust trackEvent:event];
可用购物车参数
参数名称 | 要求 | 描述 | 请注意 |
---|
SCMAmount | 可选 | 十进制值产品价格 (例如:2.99) | 请使用点 (.) 作为小数分隔符,不要使用任何千位数分隔符。即便产品数量值大于 1,也请提供单个产品价格。 |
SCMCurrency | 可选 | ISO 4217 格式货币代码 (例如:EUR) | 固定货币代码。应当已在跟踪代码示例中为您提供。 |
SCMQuantity | 可选 | 选定产品数量 | 请使用整数值。 |
Lead 事件
let event = ADJEvent(eventToken: LEAD_TOKEN)
ADJSociomantic.injectLead(into: event, leadID: "123456789")
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:LEAD_TOKEN];
[ADJSociomantic injectLeadIntoEvent:event leadID:@"123456789"];
[Adjust trackEvent:event];
或已确认的 lead:
let event = ADJEvent(eventToken: LEAD_TOKEN)
ADJSociomantic.injectLead(into: event, leadID: "123456789", andConfirmed: true)
#import "ADJSociomantic.h"
ADJEvent *event = [ADJEvent eventWithEventToken:LEAD_TOKEN];
[ADJSociomantic injectLeadIntoEvent:event leadID:@"123456789" andConfirmed:YES];
[Adjust trackEvent:event];