簡體   English   中英

GA for iOS和自定義尺寸

[英]GA for iOS and custom dimensions

我們已經在iOS應用中設置了Google Analytics(分析),該應用會發送供應商標識符以區分報告中的用戶。 這是我們所做的:

在Google Analytics(分析)中,我們設置了“自定義維度”,如下所示:

名稱:用戶標識符范圍:用戶有效:True

在應用程序中,我們在AppDelegate中添加以下內容:

[tracker set:[GAIFields customDimensionForIndex:1] value:uuidString]; // uuidString is the device identifier

在日志記錄窗口中,我可以看到cd1的值是正確的值,但我們的自定義報告未顯示該自定義維度的數據。

我們正在使用Google Analytics 3.02。

有誰知道我們要去哪里錯了?

您要發送跟蹤器嗎?

這是來自iOS SDK自定義維度和指標的示例

// May return nil if a tracker has not yet been initialized with a property ID.
id tracker = [[GAI sharedInstance] defaultTracker];

// Set the custom dimension value on the tracker using its index.
[tracker set:[GAIFields customDimensionForIndex:1]
       value:@"Premium user"]

[tracker set:kGAIScreenName
       value:@"Home screen"];

// Send the custom dimension value with a screen view.
// Note that the value only needs to be sent once, so it is set on the Map,
// not the tracker.
[tracker send:[[[GAIDictionaryBuilder createAppView] set:@"premium"
                                                  forKey:[GAIFields customDimensionForIndex:1]] build]];

首先,您需要創建所需的詞典構建器,然后在該構建器上設置自定義維度,最后從構建器進行構建,並調用tracker的send方法發送構建


    //MARK:- CUSTOM EXCEPTION TRACKING
    func doTrackCustomExceptionWithGA(message:String, customDimensionValue:String, isFatal:Bool = false) {

        guard let tracker = GAI.sharedInstance()?.defaultTracker else { return }

        guard let exceptionBuilder = GAIDictionaryBuilder.createException(withDescription: message, withFatal: NSNumber(value: isFatal)) else { return }
        if !customDimensionValue.isEmpty {
            exceptionBuilder.set(customDimensionValue, forKey: GAIFields.customDimension(for: 15))
        }

        guard let build = exceptionBuilder.build() as? [AnyHashable : Any] else { return }
        tracker.send(build)

        // ADDING DUMMY EVENT TO TRACK PREVIOUS EVENT QUICKLY, AS GA EVENTS ARE TRACKED ON NEXT EVENT CALLS ONLY
        let event = GAIDictionaryBuilder.createScreenView()
        tracker.send(event?.build() as! [NSObject: Any])
    }

希望這對一些人有所幫助。

暫無
暫無

聲明:本站的技術帖子網頁,遵循CC BY-SA 4.0協議,如果您需要轉載,請注明本站網址或者原文地址。任何問題請咨詢:yoyou2525@163.com.

 
粵ICP備18138465號  © 2020-2024 STACKOOM.COM