개요
가이드에 대하여
이 문서는 다음 사항들에 대한 정보를 제공합니다:
- 권장 이벤트 및 파라메터 설명
- 테스트 프로세스
업종별 권장 이벤트
“user-flow”를 설명하는 모든 이벤트 전송을 권장합니다. 업종별 권장 이벤트는 다음과 같습니다:
Event Name | Description | Retail | Travel | Classified | Gaming | Streaming Entertainment | Finance | Dating Social | RideHailing |
---|---|---|---|---|---|---|---|---|---|
app open/app launch | 사용자가 앱을 설치할 때 | Y | Y | Y | Y | Y | Y | Y | Y |
home page / App open | 사용자가 앱을 열거나 홈페이지에 도착할 때 | Y | Y | Y | Y | Y | Y | Y | Y |
view item list / listing | 사용자가 품목/상품/제공 목록을 볼 때 | Y | Y | Y | Y | Y | |||
view item | 사용자가 하나의 특정 품목/상품 / 제공을 볼 때 | Y | Y | Y | Y | Y | Y | ||
add to cart | 사용자가 장바구니에 품목/제품을 추가 할 때 | Y | Y | ||||||
basket | 사용자가 장바구니에 품목/제품을 추가 할 때 | Y | Y | ||||||
purchase | 사용자가 구매할 때 | Y | Y | Y | Y | Y | Y | ||
add to wish list | 사용자가 위시리스트에 품목 / 제품을 추가 할 때 | Y | Y | ||||||
complete registration / create an account / sign up | 사용자가 계정을 만들거나 등록하거나 등록을 완료하면 | Y | Y | Y | Y | Y | Y | Y | Y |
login | 사용자가 로그인 할 때 | Y | Y | Y | Y | Y | Y | Y | Y |
add payment info | 사용자가 결제 정보를 추가 할 때 | Y | Y | Y | Y | ||||
begin checkout | 사용자가 구매 절차를 시작할 때 | Y | Y | Y | |||||
purchase cancelled / purchase refund | 사용자가 구매를 취소하거나 환불을 요청할 때 | Y | Y | Y | |||||
generate lead | 사용자가 리드를 생성하는 경우 : 연락처 세부 정보 요청 / 메시지 전송 (분류/작업 앱, 교육, 지역 거래, 부동산) | Y | |||||||
start trial | 사용자가 모바일 앱의 평가판을 시작할 때 | Y | Y | Y | Y | ||||
subscribe | 사용자가 구독 할 때 (반복 결제) | Y (예. 프라임 회원 프로그램 가입) | Y | Y | Y | ||||
select item / a user has selected an item | 사용자가 모바일 앱에서 콘텐츠를 선택한 경우 | Y | Y | ||||||
earn virtual currency | 사용자가 가상 화폐를받을 때 (Gaming Apps) | Y | |||||||
level up | 사용자가 레벨을 통과 할 때 (Gaming apps) | Y | |||||||
spend virtual currency/credit | 사용자가 가상 화폐를 사용할 때 (Gaming Apps) | Y | |||||||
tutorial begin | 사용자가 튜토리얼을 시작할 때(Gaming app) | Y | |||||||
tutorial complete | 사용자가 튜토리얼을 완료하면(Gaming app) | Y | |||||||
unlock achievement | 사용자가 목표를 달성할 때 (Gaming app) | Y | |||||||
search | Y | ||||||||
video/audio start or media play | 사용자가 모바일 앱에서 미디어를 재생하기 시작하면 (예 : 음악 스트리밍 앱, 비디오 스트리밍 앱 …) | Y |
앱에서 이벤트 구현
View Home
viewHome
이벤트는 앱이 실행될 때마다 자동으로 Adjust를 통해 전송됩니다. 각 사용자의 신규 세션에서 전송합니다.
View Listing
viewListing
이벤트는 카테고리 페이지 또는 검색 결과 페이지와 같은 제품 목록을 표시하는 페이지에서 전송되어야 합니다. 제품의 경우 목록에 표시된 상위 3 개 제품의 ID를 포함해야 합니다. 이러한 ID는 카탈로그 피드에서 전달 된 제품의 ID와 일치하고 또한 고유해야 합니다.
전송이 되도록 다음 예제 코드을 참조하여 구현 하십시오:
AdjustEvent event = new AdjustEvent("{viewListingEventToken}");
List<String> productIds = Arrays.asList("productId1", "productId2", "productId3");
event.addPartnerParameter("products", productIds.toString());
Adjust.trackEvent(event);
View Product
viewProduct
이벤트는 모든 제품 세부 정보 페이지에서 전송이 되어야 합니다. 페이지에 설명 된 제품 ID를 전송시켜야 합니다. 카탈로그 피드에 사용 된 동일한 상품의 ID와 일치하고 또한 고유해야 합니다
상품페이지 정보 전송이 되도록 다음 예제 코드을 참조하여 구현 하십시오:
AdjustEvent event = newAdjustEvent("{viewProductEventToken}");
event.addPartnerParameter("product", "productId1");
Adjust.trackEvent(event);
View Basket
viewBasket
이벤트는 장바구니 세부 정보 페이지에서 전송되어야 합니다. 장바구니 이벤트는 장바구니의 세부 정보를 보여주는 페이지에서 전송해야 합니다. 장바구니에 담겨있는 모든 상품의 상품 ID, 단일 가격(상품 1개 가격) 및 수량 정보를 전송해야 합니다.
AdjustEvent event = newAdjustEvent("{cartEventToken}");
List<String> productIds = Arrays.asList("productId1","productId2","productId3");
List<String> productPrice = Arrays.asList("200","2500","1200");
List<String> productQuantity = Arrays.asList("1","2","3");
event.addPartnerParameter("productids", productIds.toString());
event.addPartnerParameter("productPrice", productPrice.toString());
event.addPartnerParameter("productQuantity", productQuantity.toString());
Adjust.trackEvent(event);
Track Transaction
trackTransaction
이벤트는 주문 완료 페이지에서 전송되어야 합니다. 고유한 구매확정 ID 뿐만 아니라 거래에서 구매 한 제품의 ID, 가격 및 수량을 포함해야 합니다.
매개 변수로 트랜잭션 이벤트를 통해 선택적 매개 변수 “nc”(신규 고객)정보를 보낼 수 있습니다. 구매가 신규 고객 또는 기존 고객에 의해 수행되는지 여부를 표시해야 합니다. 신규 고객 인 경우 1, 기존 고객 인 경우 0, 알 수 없거나 사용할 수없는 경우 비워 두어야 합니다.
trackTransaction
이벤트 전송이 되도록 다음 예제 코드을 참조하여 구현 하십시오:
AdjustEvent event = newAdjustEvent("{transactionConfirmedEventToken}");
List<String> productIds = Arrays.asList("productId1","productId2","productId3");
List<String> productPrice = Arrays.asList("200","2500","1200");
List<String> productQuantity = Arrays.asList("1","2","3");
event.addPartnerParameter("productids", productIds.toString());
event.addPartnerParameter("productPrice", productPrice.toString());
event.addPartnerParameter("productQuantity", productQuantity.toString());
event.addPartnerParameter("transactionId", "1");
event.addPartnerParameter("currency", "AUD");
event.addPartnerParameter("setRevenue", "1.1");
Adjust.trackEvent(event);
여행 업종 날짜 지정
이벤트에 addPartnerParameter 메소드를 이용하여 check-in, check-out 날짜를 전송할 수 있습니다. 이 날짜의 형식은 “yyyy-mm-dd”이 되어야 합니다. 이 날짜 정보는 사용자가 날짜를 입력하여 상품을 검색하는 경우 설정이 되어야 합니다.
날짜 정보를 보내려면 다음 예제 코드를 참조하여 구현 하십시오:
event.addPartnerParameter("din", "2020-01-01");
event.addPartnerParameter("dout", "2020-01-07");
이 날짜 정보는 전체 앱이 실행 되고 있는 동안 전송이 되려면 앱이 재 실행이 될 때 마다 반드시 재 설정을 해 주어야 합니다. 날짜 정보를 제거하려면 injectViewSearchDatesIntoCriteoEventsdates
를 null로 설정합니다.
크로스 디바이스 타겟팅을 위한 이메일 해시
크로스 디바이스 타켓팅을 활성화하기 위해서 가능한 경우 앱 사용자의 해시 이메일을 Criteo로 전송해야 합니다.
해시 이메일을 보내려면 다음 예제 코드를 참조하여 구현 하십시오:
event.addPartnerParameter("criteo_email_hash", "72626798128bhbh283y2");
해시 이메일은 응용 프로그램 수명주기 동안 모든 Criteo 이벤트와 함께 전송되므로 응용 프로그램을 다시 시작할 때 다시 설정해야 합니다.
해시 이메일은 아래예제와 같이 빈값으로 설정하여 제거 할 수 있습니다.
event.addPartnerParameter("criteo_email_hash", "");
Criteo로 보내는 해시 이메일은 아래와 같이 생성합니다:
- 모든 문자를 소문자로 변환
- 공백을 제거하십시오
- UTF-8로 변환
- SHA256 알고리즘을 사용하여 해시
Customer ID
고객 ID는 모든 이벤트에 제공 될 수 있으며 각 플러그인 메소드의 마지막 인수입니다. 사용자가 광고주의 앱에 로그인 한 경우 고객 ID가 전달되어야 합니다.
고객 ID는 개인 식별 정보를 포함하지 않는 한 임의의 문자열이 될 수 있습니다.
다음과 같이 추가하여 Adjust 이벤트에 고객 ID를 전송할 수 있습니다:
event.addPartnerParameter("customer_id", "12323dsvhdsb23");
테스트 프로세스
이벤트가 구현되는 즉시 테스트 단계를 시작하려면 Criteo에 알려주어야 합니다.
Criteo에는 다음 사항이 필요합니다:
- Criteo에서 이벤트 수집을 테스트할 수 있는 앱 빌드.
- Criteo에서 앱 빌드를 테스트하기 위해서는 다음과 같이 앱에서 Sandbox 환경과 앱의 로그 수준을 설정할 것을 권장합니다.
public class YourApplicationClass extends Application {
@Override
public void onCreate() {
super.onCreate();
String appToken = "{YourAppToken}";
String environment = AdjustConfig.ENVIRONMENT_SANDBOX;
AdjustConfig config = new AdjustConfig(this, appToken, environment);
config.setLogLevel(LogLevel.VERBOSE);
Adjust.onCreate(config);
}
}