当前位置: 首页 > 知识库问答 >
问题:

Firebase Analytics-按操作系统主要版本划分的受众

戈博易
2023-03-14

难道没有人知道什么才是正确的条件吗?谢谢

共有1个答案

罗华翰
2023-03-14

因为在iOS版本(major.minor.patch)中有两个小数点,所以属性是字符串而不是数字。最简单的做法是在Firebase web控制台中创建一个名为“IOSMajorVersion”的用户属性。转到Analytics:User Properties进行此操作。然后在您的代码中,获取主要版本并向Firebase报告。确保您在每个用户会话中只执行一次此操作会有帮助。在Objective-C中,可以通过块或异步GDC调度来完成。

您没有提到您使用的是Objective-C还是Swift,但下面是您如何做到这一点的方法。

目标-C

@import Foundation;
@import Firebase;
@import UIKit;


+ (void)sendMajorOSVersionToFirebase
{
    // This can only be executed once per app session.

    UIDevice *myDevice = [UIDevice currentDevice];
    NSString *iOSVersion = [myDevice systemVersion];
    NSString *majorVersionNum;

    // Two methods of getting the major version from the string
    // Method 1: componentsSeparatedByString
    NSArray *systemVersionArray = [iOSVersion componentsSeparatedByString:@"."];
    majorVersionNum = [systemVersionArray firstObject];

    // Method 2: range and substringToIndex
    NSRange range = [iOSVersion rangeOfString:@"." options: nil];
    majorVersion = [iOSVersion substringToIndex: range.location];

    static dispatch_once_t onceToken;

    dispatch_once(&onceToken, ^{
        [FIRAnalytics setUserPropertyString:majorVersion forName:@"iOSMajorVersion"];
    });
}
import Firebase
import Foundation
import UIKit

class func sendMajorOSVersionToFirebase() {
    // This can only be executed once per app session.

    let myDevice = UIDevice.current
    let iOSVersion = myDevice.systemVersion
    var majorVersionNum: String

    // Two methods of getting the major version from the string
    // Method 1: componentsSeparatedByString
    let systemVersionArray = iOSVersion.components(separatedBy: ".")
    majorVersionNum = systemVersionArray.first ?? ""

    // Method 2: range and substringToIndex
    let range: NSRange = (iOSVersion as NSString).range(of: ".", options: nil)
    majorVersion = (iOSVersion as? NSString)?.substring(to: range.location)

    // TODO: ensure that the code below is executed only once.
    {
        FIRAnalytics.setUserPropertyString(majorVersion, forName: @"iOSMajorVersion")
    }
}
 类似资料:
  • 0.00 (1991.2-4?) 两个进程分别显示AAA BBB 0.01 (1991.9?)第一个正式向外公布的Linux 内核版本。 0.02 (1991.10.5)该版本以及0.03 版是内部版本,目前已经无法找到。 0.03 (1991.10.5) 0.10 (1991.10)由Ted Ts'o 发布的Linux 内核版本。 0.11 (1991.12.8)基本可以正常运行的内核版本。 0

  • 问题内容: 我想确定正在执行的某些脚本是否正在运行Mac OSX的特定版本。我意识到我可以执行/产生命令: 有没有办法在没有node-exec-sync的情况下同步执行此操作(类似于process.arch)?我意识到同步生成/执行它是一个公认的坏习惯,但是我看不到其他方法。 问题答案: 您可以这样使用 OS模块: 然后将发行版本映射到Mac OS X的特定版本。 达尔文到Mac OS X的映射可

  • 本文向大家介绍C#如何检测操作系统版本,包括了C#如何检测操作系统版本的使用技巧和注意事项,需要的朋友参考一下 本文实例为大家分享了C#检测操作系统版本的方法,供大家参考,具体内容如下 我们通过System.Environment.OSVersion.Version获得操作系统的版本号,然后再根据版本号进行判断操作系统是什么版本。 Version 类的属性 参考于:https://msdn.mic

  • 本文向大家介绍Python脚本获取操作系统版本信息,包括了Python脚本获取操作系统版本信息的使用技巧和注意事项,需要的朋友参考一下 查看系统版本信息是一件家常便饭的事情,有时候需要将版本信息录入到资产管理系统中,如果每次手动的去查询这些信息再录入系统那么是一件令人呢头疼的事情,如果采用脚本去完成这件事情,那么情况就有所不同了。 在Python的世界里,获取Windows版本信息和Linux的版

  • 引用脚本的内容: /*判断当前win操作系统版本 By:Ansifa*/ SetCompressor /SOLID lzma XPStyle on OutFile "判断当前win操作系统.EXE" Name "判断当前win操作系统" Section ReadRegStr $1 HKLM "SOFTWARE\Microsoft\Windows NT\CurrentVersion" "Curre

  • 操作系统提供的服务 操作系统的五大功能,分别为:作业管理、文件管理、存储管理、输入输出设备管理、进程及处理机管理 中断 所谓的中断就是在计算机执行程序的过程中,由于出现了某些特殊事情,使得CPU暂停对程序的执行,转而去执行处理这一事件的程序。等这些特殊事情处理完之后再回去执行之前的程序。中断一般分为三类: 内部异常中断:由计算机硬件异常或故障引起的中断; 软中断:由程序中执行了引起中断的指令而造成