移动事件的语义约定

状态: 开发中

本文档定义了在移动平台上发出事件的仪表的相关语义约定。所有移动事件必须在 `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.stateDevelopment有条件必需,当且仅当 `os.name` 为 `android` 时字符串此属性表示应用程序的状态。[1]created
ios.app.stateDevelopment有条件必需,当且仅当 `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() 之后的任何时间。Development
created首次在应用程序中调用 Activity.onResume() 之前,或者,如果应用程序没有 Activity,在首次调用 Context.startService() 之前。Development
foreground在调用 Activity.onResume() 之后,或者,如果应用程序没有 Activity,在应用程序首次调用 Context.startService() 时,当应用程序处于 created 或 background 状态时。Development

ios.app.state 具有以下已知值列表。如果其中一个适用,则必须使用相应的值;否则,可以使用自定义值。

描述Stability
active应用程序已变为 active。与 UIKit 通知 applicationDidBecomeActive 相关联。Development
background应用程序现在位于后台。此值与 UIKit 通知 applicationDidEnterBackground 相关联。Development
foreground应用程序现在位于前台。此值与 UIKit 通知 applicationWillEnterForeground 相关联。Development
inactive应用程序现在处于 inactive 状态。与 UIKit 通知 applicationWillResignActive 相关联。Development
terminate应用程序即将终止。与 UIKit 通知 applicationWillTerminate 相关联。Development