事件(Events)
public struct Events
Realm 事件记录可用于记录在 Realm 上执行的所有读取和写入,并将它们报告给服务器。 通过设置用于打开 Realm 的Realm.Configuration
的eventConfiguration
属性来启用事件记录,然后在Realm
上使用events
属性获取Events
实例。
-
开始记录具有给定活动名称的事件。
当范围结束时,在事件范围内运行的所有查询和实例化的所有对象都将自动报告为“读取”事件。 在事件范围内修改的所有对象都会产生“写入”事件,这些事件报告对象的初始状态以及所有更改的属性的新值。
声明
Swift
public func beginScope(activity: String) -> Scope
返回值
用于提交或取消作用域的作用域对象。
-
记录自定义事件。
该函数将事件保存到本地磁盘,然后异步发送到服务器。 当事件数据成功持久保存时,而不是在实际上传完成时,会调用可选的完成函数。
此函数不与事件作用域交互,并且可以在没有活动作用域的情况下调用。
声明
Swift
public func recordEvent(activity: String, eventType: String? = nil, data: String? = nil, completion: ((Swift.Error?) -> Void)? = nil)
参数
activity
活动名称。 这是存储在
activity
事件属性中的任意字符串。eventType
事件的类型。 这是存储在
eventType
事件属性中的任意字符串。data
此事件的数据有效负载。 如果提供,则为存储在
data
事件属性中的字符串。 请注意,虽然自动生成的事件都在此字段中存储 JSON,但自定义事件不需要这样做。completion
一个可选的完成处理程序,一旦事件保存到事件 Realm(但不一定上传到服务器)或发生错误,就会调用该处理程序。 nil 错误表示成功。
-
将事件配置中提供的元数据替换为新值。
如果在事件作用域处于活动状态时调用,则在下一个事件作用域开始之前不会使用新的元数据。
有关事件元数据的更多详细信息,请参阅
EventConfiguration.metadata
。声明
Swift
public func updateMetadata(_ newMetadata: [String : String])
-
表示活动事件范围的对象,可用于提交或取消范围。
查看更多声明
Swift
public class Scope
-
记录自定义事件。
此函数将事件保存到本地磁盘,然后异步发送到服务器。 返回的未来在事件数据成功持久化时完成,而不是在实际上传完成时完成。
此函数不与事件作用域交互,并且可以在没有活动作用域的情况下调用。
声明
Swift
@_disfavoredOverload func recordEvent(activity: String, eventType: String? = nil, data: String? = nil) -> Future<Void, Error>
参数
activity
活动名称。 这是存储在
activity
事件属性中的任意字符串。eventType
事件的类型。 这是存储在
eventType
事件属性中的任意字符串。data
此事件的数据有效负载。 如果提供,则为存储在
data
事件属性中的字符串。 请注意,虽然自动生成的事件都在此字段中存储 JSON,但自定义事件不需要这样做。