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.
Java SDK용 Ampli
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))
);
| Arg | 설명 |
|---|---|
LoadOptions | 필수입니다. Ampli 래퍼에 대한 구성 옵션을 지정합니다. |
disabled | 선택 사항입니다. Ampli 래퍼가 작업을 수행할지 여부를 지정합니다. true일 경우, Ampli 래퍼에 대한 모든 호출은 no-ops입니다. 로컬 또는 개발 환경에서 유용합니다. |
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는 사용자를 그룹에 할당하고 Distinct 기준 수행 회수가와 같은 해당 그룹에 대한 쿼리를 실행하는 것을 지원합니다. 그룹 구성원 중 하나 이상이 특정 이벤트를 수행하는 경우 수행 회수가에 해당 그룹이 포함됩니다.
예를 들어 사용자를 조직별로 그룹화하려면 orgId을 사용합니다. Joe는 orgId 10에 속하고, Sue는 orgId 15에 속합니다. Sue와 Joe는 둘 다 특정 이벤트를 수행합니다. 이벤트 세분화 차트에서 해당 조직을 쿼리할 수 있습니다.
그룹을 설정할 때 groupType 및 groupName를 정의하십시오. 이전 예시에서 orgId는 groupType이고 10와 15은 groupName의 값입니다. groupTypea의 또 다른 예는 tennis및 baseball과 같은 groupName값을 사용하는 sport것입니다.
그룹을 설정하면 groupType:groupName이 사용자 속성으로도 설정되며, 해당 사용자의 TgroupType에 대한 기존 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. songId의 속성 유형은 문자열이며 songFavorited는 부울입니다.
이 이벤트는 하나의 Amplitude 필드를 정의합니다: deviceId. 이 이벤트는 또한 하나의 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() 메서드는 계속하기 전에 Ampli가 모든 보류 중인 이벤트를 전송했음을 확인하는 데 사용할 수 있는 Promise를 반환합니다. 애플리케이션이 종료되기 전에 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에 대해 자세히 알아보십시오.
이 내용이 도움이 되었나요?