iOS SDK - 设置全局属性

文件

设置全局属性

Singular SDK 可让您定义自定义属性,以便与应用程序发送的每个会话和事件一起发送到 Singular 服务器。这些属性可以代表有关用户、应用程序模式/状态或其他任何信息。

你最多可以定义 5 个全局属性。它们会在应用程序运行期间持续存在(使用您给定的最新值),直到您取消设置或用户卸载应用程序。

使用案例

全局属性的一些用例如下

  • 从第三方 SDK 传递一个标识符,然后将其从 Singular 回传给第三方以进行匹配。
  • 在游戏应用程序中,可以定义一个名为 "Level "的属性,并将其初始设置为 "0"。从应用程序发送的任何会话和事件都将使用 "Level "发送:"0".一旦用户等级提高,就会将属性重置为 "1",以此类推。

注释

  • 全局属性目前反映在 Singular 的用户级事件日志(请参阅导出属性日志)和回传中。未来将在 Singular 的汇总报告(报告页面或报告 API)中添加对全局属性的支持。如果您对此功能有疑问,或对全局属性支持的更新感兴趣,请联系您的 Singular 客户成功经理。
  • 每个属性名称和值最多可包含 200 个字符。如果传递的属性名称或值较长,将被截断为 200 个字符。

通过配置对象设置全局属性

要在初始化 SDK 之前设置全局属性,请使用 Config 对象中的setGlobalProperty方法。

请注意,由于全局属性及其值会在应用程序运行期间持续存在,因此您要设置的属性可能已被设置为不同的值。使用overrideExisting参数可告诉 SDK 是否用新值覆盖现有属性。

setGlobalProperty 方法
说明 设置全局属性。
特征 (void)setGlobalProperty:(NSString*)key withValue:(NSString*)value overrideExisting:(BOOL)overrideExisiting;
使用示例
SwiftObjective-C
func getConfig() -> SingularConfig? {         
  // (Optional) Get 3rd-party identifiers to set in Global Properties:     


  // If 3rd-party SDKs are providing any identifiers to Singular, the


  // respective SDK must be initialized before Singular.     


  let thirdPartyKey = "anonymousID"     
  let thirdPartyID = "2ed20738-059d-42b5-ab80-5aa0c530e3e1"     
  
  // Singular Config Options     


  guard let config = SingularConfig(apiKey: Constants.APIKEY, 
    andSecret: Constants.SECRET) else {
      return nil
      }
  //...     
  // Using Singular Global Properties feature to capture third party identifiers


  config.setGlobalProperty(thirdPartyKey, withValue: thirdPartyID, overrideExisting: true)     
  //...
  return config 
}

初始化后设置全局属性

使用以下方法可在应用程序运行过程中随时设置、取消设置和检索全局属性。

注意

  • 如果属性尚未存在,且已有 5 个其他全局属性,则不会添加该属性。
  • 如果属性已被设置,overrideExisting 参数将决定是否覆盖现有值。
  • 如果属性设置成功,该方法返回 true,否则返回 false。
setGlobalProperty 方法
方法描述 将全局属性设置为给定值。
特征 (BOOL) setGlobalProperty:(NSString*)key andValue:(NSString*)value overrideExisting:(BOOL)overrideExisting
使用示例
SwiftObjective-C
var result = Singular.setGlobalProperty("propertyName",
  andValue: "propertyValue", overrideExisting: true)
getGlobalProperties 方法
说明 以 Map 形式读取所有全局属性及其当前值。
特征 NSDictionary*) getGlobalProperties
使用示例
SwiftObjective-C
var globalProperties = Singular.getGlobalProperties()
unsetGlobalProperty 方法
说明 删除全局属性。
签名 (void) unsetGlobalProperty:(NSString*)key
使用示例
SwiftObjective-C
Singular.unsetGlobalProperty("propertyName")
clearGlobalProperties 方法
说明 删除所有全局属性。
签名 (void) clearGlobalProperties
使用示例
SwiftObjective-C
Singular.clearGlobalProperties()