この記事は英語の原文を日本語に翻訳したものです。原文: 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: Development

イベント名は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:

KeyStabilityRequirement LevelValue TypeDescriptionExample Values
android.app.stateDevelopmentConditionally Required if and only if os.name is androidstringこの属性は、アプリケーションの状態を表します。[1]created
ios.app.stateDevelopmentConditionally Required if and only if os.name is iosstringこの属性は、アプリケーションの状態を表します。[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)。

ValueDescriptionStability
backgroundアプリがフォアグラウンド状態にあったときに、Activity.onPause()が呼び出された後、またはアプリにActivityがない場合はContext.stopService()が呼び出された後の任意の時点。Development
createdアプリで初めてActivity.onResume()が呼び出される前、またはアプリにActivityがない場合はContext.startService()が呼び出される前の任意の時点。Development
foregroundアプリがcreated状態またはbackground状態にあったときに、Activity.onResume()が呼び出された後、またはアプリにActivityがない場合はContext.startService()が呼び出された後の任意の時点。Development

ios.app.stateには、次のよく知られた値の一覧があります。これらのいずれかが該当する場合は、対応する値を使用しなければなりません(MUST)。そうでない場合は、独自の値を使用してもかまいません(MAY)。

ValueDescriptionStability
activeアプリがactiveになりました。UIKit通知applicationDidBecomeActiveに対応します。Development
backgroundアプリが現在バックグラウンドにあります。この値はUIKit通知applicationDidEnterBackgroundに対応します。Development
foregroundアプリが現在フォアグラウンドにあります。この値はUIKit通知applicationWillEnterForegroundに対応します。Development
inactiveアプリが現在inactiveです。UIKit通知applicationWillResignActiveに対応します。Development
terminateアプリが終了しようとしています。UIKit通知applicationWillTerminateに対応します。Development