簡體   English   中英

flurry分析如何跟蹤我的應用版本號?

[英]How does flurry analytics track my apps version number?

我正在為我的應用程序查看我最常用的版本號。 看來flurry正在我的plist中使用內部版本號字段(包版本)來報告特定應用程序的版本。 這是真的? 如果是這樣,我可以在我的plist中使用不同的字段嗎? (即Bundle Version string short)怎么樣? 我經常更改內部版本號,我希望看到像1.0.1(一個版本)而不是28(一個內部版本號)的東西。

我對此也有所了解,對我來說似乎很奇怪他們會默認使用內部版本號。 我添加了一個自動遞增的內部版本號腳本,當我下次檢查Flurry時,它顯示了大約100個不同的“版本”,每個只是一個新版本。 呃,真是一團糟。

好消息是Flurry API提供了一種在運行時顯式設置報告的應用版本的方法。 我的前綴文件中有#define鏈接到“短版本字符串”,在Apple的系統中基本上是面向用戶的應用程序版本(例如“1.0.2”),可能是您想要跟蹤的那個在亂舞。

#define kAppVersion [[NSBundle mainBundle] objectForInfoDictionaryKey:@"CFBundleShortVersionString"]

這樣做意味着您不必記住在多個位置設置版本。 將其設置在目標的“身份”部分或Info.plist文件中,您就完成了。

然后在我的app delegate的應用程序:didFinishLaunchingWithOptions:方法,當我啟動Flurry集合時,我告訴它使用它。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    [Flurry setCrashReportingEnabled:YES];
    [Flurry setAppVersion:kAppVersion]; // <-- will now report your short version string
    [Flurry startSession:kFlurryAPIKey];
    // ...
}

不推薦使用上述方法,而不是以下用戶。

    if let version = Bundle.main.infoDictionary?["CFBundleShortVersionString"] as? String {
        Flurry.startSession("xxxxxxxxxxxxxxxxxxx", with: FlurrySessionBuilder
            .init()
            .withCrashReporting(true)
            .withLogLevel(FlurryLogLevelAll).withAppVersion(version))
    }

暫無
暫無

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

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