For AI agents: a documentation index is available at /docs/llms.txt. Append .md to any page URL for markdown, or send Accept: text/markdown.
Ampli for Java SDK
Amplitudeデータは、Java(6以上)で記述されたJREプログラムからのアナリティクスイベントの追跡をサポートしています。
クイックスタート
- java
implementation 'com.amplitude:java-sdk:[1.8.0,2.0)' implementation 'org.json:json:20201115' - shell
npm install -g @amplitude/ampli - shell
ampli pull [--path ./src/main/java/com/amplitude/ampli] - java
import com.amplitude.ampli.*; Ampli.getInstance().load(new LoadOptions() .setClient(new LoadClientOptions().setApiKey(AMPLITUDE_API_KEY)) ); - java
Ampli.getInstance().identify("user-id", Identify.builder().userProp("A user property").build() ); 強力に型付けされたメソッドとクラスを使用してイベントを追跡する
javaAmpli.getInstance().songPlayed("user_id", SongPlayed.builder().songId("song-1").build() ); Ampli.getInstance().track("user_id", SongFavorited.builder().songId("song-2").build() );- java
Ampli.getInstance().flush() - shell
ampli status [--update]
Amplitude SDKをインストールする
まだインストールしていない場合は、コアとなるAmplitude SDKの依存関係をインストールしてください。
<dependencies>内に以下を追加します。
<dependency>
<groupId>com.amplitude</groupId>
<artifactId>java-sdk</artifactId>
<version>[1.8.0,2.0)</version>
</dependency>
<dependency>
<groupId>org.json</groupId>
<artifactId>json</artifactId>
<version>20201115</version>
</dependency>
Ampli CLIをインストールする
HomebrewまたはnpmからAmpli CLIをインストールします。
brew tap amplitude/ampli
brew install ampli
Ampliラッパーをプロジェクトに組み込む
Ampli CLI pullコマンドを実行してAmplitudeデータにログインし、トラッキングプラン用の強く型付けされたAmpliラッパーをダウンロードしてください。プロジェクトのルートディレクトリからAmpli CLIコマンドを実行します。
ampli pull
ロード
コードでAmpliを初期化します。load()メソッドは設定オプション引数を受け入れます。
import com.amplitude.ampli.*;
Ampli.getInstance().load(new LoadOptions()
.setClient(new LoadClientOptions().setApiKey(AMPLITUDE_API_KEY))
);
| アルグ | 概要 |
|---|---|
LoadOptions | 必須です。 Ampliラッパーの設定オプションを指定します。 |
disabled | オプションです。Ampliラッパーが何らかの処理を実行するかどうかを指定します。trueの場合、Ampliラッパーへのすべての呼び出しはno-opになります。ローカル環境や開発環境で役立ちます。 |
client.instance | client.apiKeyが設定されていない場合は必須です。 Amplitudeインスタンスを指定します。デフォルトでは、Ampliはユーザーのためにインスタンスを作成します。 |
client.apiKey | client.instanceが設定されていない場合は必須です。 APIキーを指定します。このオプションは、デフォルト値であるトラッキングプランで設定されたAPIキーを上書きします。 |
Identify
ユーザープロパティを設定するにはidentify()を呼び出します。
Ampli は、イベントとそのプロパティのタイプを作成するのと同じ方法でユーザープロパティのタイプを作成します。
identify()関数はオプションのuserId、オプションのユーザープロパティ、およびオプションのoptionsを受け入れます。
たとえば、トラッキングプランにuserPropというユーザープロパティが含まれているとします。プロパティのタイプは文字列です。
Ampli.getInstance().identify("user-id", Identify.builder()
.userProp("A user property")
.build()
);
options引数を使用すると、この呼び出しのAmplitudeフィールド(deviceIdなど)を渡すことができます。
Ampli.getInstance().identify(
userId,
Identify.builder().userProp("A trait associated with this user").build(),
new EventOptions().setDeviceId(deviceId).setUserId("some-user"),
);
グループ
ユーザーをグループ(部署や会社など)に関連付けるには、setGroup()を呼び出します。setGroup()関数は、必須のgroupTypeとgroupNameを受け入れます。
Ampli.getInstance().setGroup("user-id", "GroupType", "GroupName");
Amplitudeでは、ユーザーをグループに割り当てたり、それらのグループに対して「Count by Distinct(ユニーク数による集計)」などのクエリを実行したりすることができます。グループの少なくとも 1 人のメンバーが特定のイベントを実行した場合、そのグループもカウントに含まれます。
たとえば、ユーザーを組織ごとにグループ化するには、orgIdを使用します。ジョーはorgIdが10のグループに所属し、スーはorgIdが15のグループに所属しています。SueとJoeはどちらも特定のイベントを実行します。 イベントセグメンテーションチャートでその組織をクエリできます。
グループを設定する際には、groupTypeとgroupNameを定義してください。前の例では、orgId は groupTypeであり、10 と 15はgroupName の値です。groupTypeのもう1つの例としてはsportがあり、tennisおよびbaseballのような値を持つgroupNameがあります。
グループを設定すると、groupType:groupNameもユーザープロパティとして設定され、そのユーザーのgroupTypeに設定されている既存のgroupNameの値と対応するユーザープロパティ値が上書きされます。groupTypeは文字列であり、groupNameにはユーザーが複数のグループに属していることを示す文字列または文字列の配列のいずれかを指定できます。
たとえば、JoeがorgId 10および20に属する場合、groupNameは[10, 20]になります。
コードは次のようになります:
Ampli.getInstance().setGroup("user-id", "orgID", ["10", "20"]);
追跡
イベントを追跡するには、そのイベントに対応する関数を呼び出します。 トラッキングプラン内のすべてのイベントは、Ampliラッパー内で独自の関数を持っています。この呼び出しは次の構造を使用します。
Ampli.getInstance().track(String userId, Event event, EventOptions options, MiddlewareExtra extra)
options引数を使用すると、price、quantityおよびrevenueなどのAmplitudeフィールドを渡すことができます。extra引数を使用すると、データをミドルウェアに渡すことができます。
たとえば、次のコードでは、トラッキングプランにsongPlayedというイベントが含まれています。このイベントにはsongIdおよびsongFavoritedという2つの必須プロパティがあります。songIdのプロパティタイプは文字列で、songFavoritedはブール値です。
このイベントはAmplitudeフィールドを1つ定義します:deviceId。このイベントでは、1つのMiddlewareExtraも定義されています:extra。詳細については、ミドルウェアを参照してください。
MiddlewareExtra extra = new MiddlewareExtra();
extra.put("extra-key", "extra-value");
Ampli.getInstance().songPlayed("user-id",
SongPlayed.builder()
.songId('songId') // String
.songFavorited(true) // Boolean
.build(),
new EventOptions().setDeviceId(deviceId),
extra
);
また、Ampli はイベントごとにクラスを生成します。
SongPlayed event = SongPlayed.builder()
.songId('songId') // String
.songFavorited(true) // Boolean
.build()
汎用トラックメソッドを使用してイベントオブジェクトを送信します。
Ampli.getInstance().track("user-id", SongPlayed.builder()
.songId('songId') // String
.songFavorited(true) // Boolean
.build()
);
フラッシュ
Ampliラッパーはイベントをキューに入れ、設定に基づく間隔でイベントを送信します。
保留中のイベントをすぐに送信するには、flush()を呼び出します。
flush()メソッドは、Promiseを返します。このPromiseは、Ampliが処理を続行する前にすべての保留中のイベントを確実に送信するために使用できます。アプリケーションが終了する前にflush()を呼び出します。
AmpliはバッファリングされたイベントがflushQueueSizeまたはflushIntervalに到達すると自動的にフラッシュします。
Ampliはflush()を呼び出さずにイベントを自動的に送信します。アプリケーションが終了する前にイベントを送信する必要がある場合は、flush()を使用します。
Ampli CLI
Pull
pullコマンドはAmpliラッパーコードをプロジェクトにダウンロードします。プロジェクトのルートからpullコマンドを実行します。
ampli pull
Ampliは、ワークスペースにログインしてソースを選択するよう求めます。
➜ ampli pull
Ampli project is not initialized. No existing `ampli.json` configuration found.
? Create a new Ampli project here? Yes
? Organization: Amplitude
? Workspace: My Workspace
? Source: My Source
ステータス
statusコマンドを使用して、コードがすべてのトラッキングプランイベントを実装していることを確認します。
ampli status [--update]
出力にはステータスと、どのイベントが欠落しているかが示されます。
➜ ampli status
✘ Verifying event tracking implementation in source code
✔ Song Played (1 location)
✘ Song Stopped Called when a user stops playing a song.
Events Tracked: 1 missed, 2 total
ampli statusの詳細をご覧ください。
Was this helpful?