文件
设置全局属性
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; |
使用示例 |
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
}
- (SingularConfig *)getConfig {
// (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.
NSString* thirdPartyKey = @"anonymousID";
NSString* thirdPartyID = @"2ed20738-059d-42b5-ab80-5aa0c530e3e1";
// Singular Config Options
SingularConfig* config = [[SingularConfig alloc] initWithApiKey:APIKEY
andSecret:SECRET];
//...
// Using Singular Global Properties feature to capture 3rd-party identifiers
[config setGlobalProperty:thirdPartyKey withValue:thirdPartyID overrideExisting:YES];
//...
return config;
}
|
初始化后设置全局属性
使用以下方法可在应用程序运行过程中随时设置、取消设置和检索全局属性。
注意
- 如果属性尚未存在,且已有 5 个其他全局属性,则不会添加该属性。
- 如果属性已被设置,overrideExisting 参数将决定是否覆盖现有值。
- 如果属性设置成功,该方法返回 true,否则返回 false。
setGlobalProperty 方法 |
方法描述 |
将全局属性设置为给定值。 |
特征 |
(BOOL) setGlobalProperty:(NSString*)key andValue:(NSString*)value overrideExisting:(BOOL)overrideExisting |
使用示例 |
var result = Singular.setGlobalProperty("propertyName",
andValue: "propertyValue", overrideExisting: true)
BOOL result = [Singular setGlobalProperty:@"propertyName"
andValue:@"propertyValue" overrideExisting:YES];
|
getGlobalProperties 方法 |
说明 |
以 Map 形式读取所有全局属性及其当前值。 |
特征 |
NSDictionary*) getGlobalProperties |
使用示例 |
var globalProperties = Singular.getGlobalProperties()
NSDictionary* globalProperties = [Singular getGlobalProperties];
|
unsetGlobalProperty 方法 |
说明 |
删除全局属性。 |
签名 |
(void) unsetGlobalProperty:(NSString*)key |
使用示例 |
Singular.unsetGlobalProperty("propertyName")
[Singular unsetGlobalProperty:@"propertyName"];
|
clearGlobalProperties 方法 |
说明 |
删除所有全局属性。 |
签名 |
(void) clearGlobalProperties |
使用示例 |
Singular.clearGlobalProperties()
[Singular clearGlobalProperties];
|