如何在NativeFirst的原生iOS中使用自定义分析?

时间:2015-07-03 12:25:55

标签: objective-c ibm-mobilefirst mobilefirst-analytics

在哪里可以找到有关如何在IBM MobileFirst的原生iOS应用中使用Objective-C使用自定义分析的示例?

我希望能够在MobileFirst分析控制台中创建自定义价值分析图表。

我尝试了不同的编码版本,但它不起作用

NSDictionary *stringInventory = @{
                                  @"GERMANY" : @"1",
                                  @"USA" : @"2",
                                  @"GREECE" : @"3",
                                  @"UK" : @"4",
                                  };
NSDictionary *inventory = @{
                            @"GERMANY" : [NSNumber numberWithInt:1],
                            @"USA" : [NSNumber numberWithInt:2],
                            @"GREECE" : [NSNumber numberWithInt:3],
                            @"UK" : [NSNumber numberWithInt:3],
                            };
// OPTION 1
// *******
OCLogger *logger = [OCLogger getInstanceWithPackage:@"CalculatorViewController"];  // IBM MF LOGGER
[OCLogger setCapture:TRUE]; // IBM MF LOGGER 
[OCLogger setAutoSendLogs:TRUE]; // IBM MF LOGGER
[logger log:@"success - online"]; // IBM MF LOGGER
[logger log:@"Using OCLogger for WL Analytis"]; // IBM MF LOGGER  
[logger logWithLevel:OCLogger_ANALYTICS message:@"This is a Analyitics Message CalculatorViewController:onSuccess" args:@"USA" userInfo:inventory];  // IBM MF LOGGER
[logger logWithLevel:OCLogger_ANALYTICS message:@"This is a Analyitics Message CalculatorViewController:onSuccess" args:@"GERMANY" userInfo:stringInventory];  // IBM MF LOGGER

// Option 2
// ********
WLAnalytics *doAnaylitics = [WLAnalytics sharedInstance]; // IBM MF ANALYTICS
[doAnaylitics enable]; // IBM MF ANALYTICS
[doAnaylitics log:@"MY ANALYITIS LOG" withMetadata:inventory[@"GERMANY"]]; // IBM MF ANALYTICS
[doAnaylitics send]; // IBM MF ANALYTICS
//[doAnaylitics setValuesForKeysWithDictionary:stringInventory]; // IBM MF Analytics
[doAnaylitics log:@"MY ANALYITIS LOG" withMetadata:stringInventory[@"USA"]];
[doAnaylitics send];    // IBM MF ANALYTICS
[doAnaylitics disable]; // IBM MF ANALYTICS

我找到this getting started,但没有Objective-C的样本。

1 个答案:

答案 0 :(得分:4)

您遇到的问题是您尝试发送的日志数据。使用NSDictionary,您希望它是一个键值对,现在您只是尝试发送一个值。您可以拥有任意数量的键值对,但其中一个是最简单的。

NSDictionary *inventory = @{
    @"GERMANY" : [NSNumber numberWithInt:1],
};

使用这个NSDictionary我的自定义图表属性将是德国,我的名词将是数字1。

要使用WLAnalytics API发送此NSDictionary,您可以进行这些API调用。

[[WLAnalytics sharedInstance] log:@"Hello" withMetadata:inventory];
[[WLAnalytics sharedInstance] send];