この記事は英語の原文を日本語に翻訳したものです。原文: https://opentelemetry.io/docs/specs/semconv/mobile/mobile-events/
翻訳元: open-telemetry/semantic-conventions v1.44.0(コミット e10a930)
モバイルイベントに関するセマンティック規約
ステータス: Development
この文書では、モバイルプラットフォーム上でイベントを発行する計装のためのセマンティック規約を定義します。すべてのモバイルイベントは、EventNameのLogRecordプロパティにdeviceという名前空間を使わなければなりません(MUST)。
ライフサイクル計装
この節では、アプリケーションのライフサイクルを計装するときのセマンティック規約の適用方法を定義します。
イベント: device.app.lifecycle
Status:
イベント名はdevice.app.lifecycleでなければなりません(MUST)。
このイベントは、AndroidまたはiOSプラットフォーム上でのライフサイクル遷移の発生を表します。
イベントのbodyフィールドは、イベント発生時点のアプリケーションの状態を記述するために使用しなければなりません(MUST)。このイベントは、モバイルOS(Android、iOSなど)を識別するos.name リソースセマンティック規約と併用することを意図しています。android.app.stateフィールドとios.app.stateフィールドは相互排他的であり、併用してはなりません(MUST NOT)。各フィールドは、対応するos.nameの値とともに使用しなければなりません(MUST)。
Attributes:
| Key | Stability | Requirement Level | Value Type | Description | Example Values |
|---|---|---|---|---|---|
android.app.state | Conditionally Required if and only if os.name is android | string | この属性は、アプリケーションの状態を表します。[1] | created | |
ios.app.state | Conditionally Required if and only if os.name is ios | string | この属性は、アプリケーションの状態を表します。[2] | active; inactive; background |
[1] android.app.state: Androidのライフサイクル状態はActivity lifecycle callbacksで定義されており、そこからOS identifiersが導出されます。
[2] ios.app.state: iOSのライフサイクル状態はUIApplicationDelegateのドキュメントで定義されており、そこからOS terminology列の値が導出されます。
android.app.stateには、次のよく知られた値の一覧があります。これらのいずれかが該当する場合は、対応する値を使用しなければなりません(MUST)。そうでない場合は、独自の値を使用してもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
background | アプリがフォアグラウンド状態にあったときに、Activity.onPause()が呼び出された後、またはアプリにActivityがない場合はContext.stopService()が呼び出された後の任意の時点。 | |
created | アプリで初めてActivity.onResume()が呼び出される前、またはアプリにActivityがない場合はContext.startService()が呼び出される前の任意の時点。 | |
foreground | アプリがcreated状態またはbackground状態にあったときに、Activity.onResume()が呼び出された後、またはアプリにActivityがない場合はContext.startService()が呼び出された後の任意の時点。 |
ios.app.stateには、次のよく知られた値の一覧があります。これらのいずれかが該当する場合は、対応する値を使用しなければなりません(MUST)。そうでない場合は、独自の値を使用してもかまいません(MAY)。
| Value | Description | Stability |
|---|---|---|
active | アプリがactiveになりました。UIKit通知applicationDidBecomeActiveに対応します。 | |
background | アプリが現在バックグラウンドにあります。この値はUIKit通知applicationDidEnterBackgroundに対応します。 | |
foreground | アプリが現在フォアグラウンドにあります。この値はUIKit通知applicationWillEnterForegroundに対応します。 | |
inactive | アプリが現在inactiveです。UIKit通知applicationWillResignActiveに対応します。 | |
terminate | アプリが終了しようとしています。UIKit通知applicationWillTerminateに対応します。 |