移动事件的语义约定
状态: 开发中
本文档定义了在移动平台上发出事件的仪表的相关语义约定。所有移动事件必须在 `EventName` LogRecord 属性中使用 `device` 命名空间。
生命周期仪表
本节定义了在仪表应用程序生命周期时如何应用语义约定。
事件: device.app.lifecycle
状态:
事件名称必须是 device.app.lifecycle。
此事件代表 Android 或 iOS 平台上发生的生命周期转换。
事件正文字段必须用于描述事件发生时应用程序的状态。此事件旨在与 `os.name` 资源语义约定结合使用,以标识移动操作系统(例如 Android、iOS)。 `android.app.state` 和 `ios.app.state` 字段是互斥的,不得一起使用,每个字段必须与对应的 `os.name` 值一起使用。
Attributes
| 键 | Stability | 需求级别 | Value Type | 描述 | Example Values |
|---|---|---|---|---|---|
android.app.state | 有条件必需,当且仅当 `os.name` 为 `android` 时 | 字符串 | 此属性表示应用程序的状态。[1] | created | |
ios.app.state | 有条件必需,当且仅当 `os.name` 为 `ios` 时 | 字符串 | 此属性表示应用程序的状态。[2] | active; inactive; background |
[1] android.app.state: Android 生命周期状态定义在 Activity 生命周期回调 中,并从中派生 `OS 标识符`。
[2] ios.app.state: iOS 生命周期状态定义在 UIApplicationDelegate 文档 中,并从中派生 `OS 术语` 列值。
android.app.state 具有以下已知值列表。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
background | 在调用 Activity.onPause() 之后,或者,如果应用程序没有 Activity,在应用程序在前台状态时调用 Context.stopService() 之后的任何时间。 | |
created | 首次在应用程序中调用 Activity.onResume() 之前,或者,如果应用程序没有 Activity,在首次调用 Context.startService() 之前。 | |
foreground | 在调用 Activity.onResume() 之后,或者,如果应用程序没有 Activity,在应用程序首次调用 Context.startService() 时,当应用程序处于 created 或 background 状态时。 |
ios.app.state 具有以下已知值列表。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。
| 值 | 描述 | Stability |
|---|---|---|
active | 应用程序已变为 active。与 UIKit 通知 applicationDidBecomeActive 相关联。 | |
background | 应用程序现在位于后台。此值与 UIKit 通知 applicationDidEnterBackground 相关联。 | |
foreground | 应用程序现在位于前台。此值与 UIKit 通知 applicationWillEnterForeground 相关联。 | |
inactive | 应用程序现在处于 inactive 状态。与 UIKit 通知 applicationWillResignActive 相关联。 | |
terminate | 应用程序即将终止。与 UIKit 通知 applicationWillTerminate 相关联。 |