我正在尝试更新我的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;
的不可变表达式
答案 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])