Google Analytics:Swift 2中的createScreenView和createItemWithTransactionId

时间:2016-03-18 12:31:40

标签: ios swift google-analytics

我正在尝试更新我的Google Analytics代码,我发现的主题但是所有内容都不同,在某些文件中它会起作用而不在其他文件中,我不知道是否我也实现了它,代码的一部分:

/*******************************
 * Tracker écran
 ********************************/

let tracker = GAI.sharedInstance().defaultTracker

tracker.set(kGAIDescription, value: "Demande Envoyé")

let eventTracker: NSObject = GAIDictionaryBuilder.createScreenView().build()

tracker.send(eventTracker as! [NSObject : AnyObject])

/*******************************
 * Tracker transaction
 ********************************/


var rangeName = ""

if let startRange = String(xml).rangeOfString("<Logement>"), endRange = String(xml).rangeOfString("</Logement>") where startRange.endIndex <= endRange.startIndex {
    rangeName = String(xml)[startRange.endIndex..<endRange.startIndex]
} else {
    print("invalid input")
}

tracker.send(NSObject = GAIDictionaryBuilder.createItemWithTransactionId(String(format: (NSUserDefaults.standardUserDefaults().objectForKey("ApplicationUniqueIdentifier")!) as! String + String(id)), name: rangeName, sku: "", category: Configuration.MyVariables.typeForm, price: 1, quantity: 1, currencyCode: "").build() as! [NSObject : AnyObject])

screenView正在运行,但我对该事务是错误的:

  

无法分配类型&#39; NSObject.Type&#39;

的不可变表达式

1 个答案:

答案 0 :(得分:0)

在最后一行中,您试图将新创建的对象分配给NSObject类,因此Cannot assign to immutable expression of type 'NSObject.Type'错误。

您应该以与屏幕视图相同的方式创建交易项目,因此您应该更改代码,使其如下所示:

let eventTracker2: NSObject = GAIDictionaryBuilder.createItemWithTransactionId(String(format: (NSUserDefaults.standardUserDefaults().objectForKey("ApplicationUniqueIdentifier")!) as! String + String(id)), name: rangeName, sku: "", category: Configuration.MyVariables.typeForm, price: 1, quantity: 1, currencyCode: "").build()

tracker.send(eventTracker2 as! [NSObject : AnyObject])