디파이너리(애드브릭스) 연동하기 [React Native]
팔로우
Note
[[인용:경고:보통]] System Requirement
디파이너리 리액트 네이티브 SDK는 다음의 버전에서 작동합니다.
1. react-native : 0.60 이상
Quick Start
React Native에 적용된 SDK 버전이 업그레이드 되었습니다. 3.0.0 버전 이전의 가이드를 확인하고 싶으시다면 아래 메일로 문의를 남겨주시기 바랍니다.
support: support-tracker@adbrixsupport.zendesk.com
SDK 다운로드
React Native 용 AdbrixRM SDK 는 npm 을 통해 다운로드 받습니다.
npm install react-native-adbrix-remaster --save
SDK 업데이트
npm 을 통해 React Native 용 AdBrixRM SDK 를 최신 버전으로 업데이트 할 수 있습니다. (현재 최신 버전 : 3.2.1)
npm update react-native-adbrix-remaster --save
[[인용:위험:보통]]* 3.0.0 버전에서 안드로이드, iOS 네이티브 설정이 대폭 수정되었으며 하위호환이 되지 않습니다. 이전 버전에서 업데이트 하시는 사용자께서는 반드시 가이드를 확인해주세요
* react-native 레벨의 javascript 코드는 타입스크립트를 활용한 더 명시적인 방법으로 수정 되었지만 딥링크관련 코드를 제외하고 하위호환이 가능합니다.
Android 설정
[[인용:안내:보통]] Android 관련 작업은 Android Stuido 에서 진행하는 것을 권장합니다.
1. SDK 구동 및 분석이 원할하게 진행될 수 있도록 app / proguard-rule.pro 에 아래 코드를 추가해 주시길 부탁드립니다.
# Add any project specific keep options here: -keep class com.google.android.gms.common.ConnectionResult { int SUCCESS; } -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient { com.google.android.gms.ads.identifier.AdvertisingIdClient$Info getAdvertisingIdInfo(android.content.Context); } -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$Info { java.lang.String getId(); boolean isLimitAdTrackingEnabled(); } -keep public class com.android.installreferrer.** { *; }
2. 안드로이드 Application 클래스에 SDK initialize 코드를 추가합니다.
import io.adbrix.reactnative.ReactAdbrix;
public class MyApplicationClass extends Application implements ReactApplication { ...
...
@Override public void onCreate() { super.onCreate(); ReactAdbrix.sdkInit(this, "APPKEY", "SECRET_KEY"); ...
... } }
[[인용:안내:보통]] 기존 build.gradle, AndroidManifest.xml 파일을 수정하는 방식은 이제 필요하지 않습니다.
iOS 설정
1. React Native 프로젝트에서 iOS 폴더로 넘어가 아래와 같이 터미널에 pod install 명령어를 입력하여 Cocoapods 를 통해 SDK 를 설치합니다.
$ cd ios
$ pod install
2. AppDelegate.m를 열어 SDK initialize 코드를 추가해주시기 바랍니다.
#import <AdSupport/AdSupport.h> #import <react-native-adbrix-remaster/ReactAdbrix.h> @implementation AppDelegate - (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { ...
... ReactAdbrix *adBrix = [ReactAdbrix sharedInstance];
[adbrix initAdBrixWithAppKey:@"APPKEY" secretKey:@"SECRET_KEY" launchOptions:launchOptions];
...
... return YES; }
3. 만약 ATT 팝업을 통해 IDFA 사용 승인이 필요한 경우 아래와 같이 사용 승인 및 거부에 대한 코드를 추가해주세요.
#import <AdSupport/AdSupport.h> #import <react-native-adbrix-remaster/ReactAdbrix.h> #import <AppTrackingTransparency/AppTrackingTransparency.h> @interface AppDelegate () @end @implementation AppDelegate . . . - (void)applicationDidBecomeActive:(UIApplication *)application { ReactAdbrix *adBrix = [ReactAdbrix sharedInstance]; if (@available(iOS 14, *)) { [ATTrackingManager requestTrackingAuthorizationWithCompletionHandler:^(ATTrackingManagerAuthorizationStatus status) { switch (status) { case ATTrackingManagerAuthorizationStatusAuthorized: [adBrix startGettingIDFA]; break; case ATTrackingManagerAuthorizationStatusDenied: [adBrix stopGettingIDFA]; break; case ATTrackingManagerAuthorizationStatusRestricted: [adBrix stopGettingIDFA]; break; case ATTrackingManagerAuthorizationStatusNotDetermined: [adBrix stopGettingIDFA]; break; default: [adBrix stopGettingIDFA]; break; } }]; } }
혹은 javascript 코드로 원하시는 타이밍에 다음과 같이 API를 호출해주시기 바랍니다.
//return Promise<ATTStatusType>
const status = await AdbrixRm.requestATTPermission()
console.log(status)
//ATTStatusType = unavailable | denied | authorized | restricted | notDetermined
react-native 설정
다음과 같이 sdk를 import 해주세요
import AdbrixRm from "react-native-adbrix-remaster"
[[인용:안내:보통]]앱키 & 시크릿키???
애드브릭스 리마스터에서 각 앱을 구분하기 위한 식별 값입니다.
SDK 연동을 위해서 반드시 필요한 값으로, 디파이너리(애드브릭스) 콘솔에서 앱 등록 후 확인할 수 있습니다.
[[인용:안내:보통]] 축하합니다!!!
디파이너리(애드브릭스) 이용을 위한 기본적인 연동이 완료되었습니다.
이용할 수 있는 기능은 다음과 같습니다.
1. DAU, MAU, 일별 리텐션 등의 지표를 확인할 수 있는 리포팅
2. NCPI 와 같은 앱 유입 캠페인
앱 내에서 발생하는 구매와 같은 이벤트를 분석하고자 한다면, 아래의 가이드를 참고하여 계속 연동을 진행하시면 됩니다.
SDK 추가설정
누적 이벤트 개수 기준
누적된 이벤트 건수에 따라 디파이너리(애드브릭스) 서버로, 이벤트 데이터를 전송하도록 설정합니다.
아래 값으로 이벤트 건수를 설정할 수 있습니다.
- AdbrixRm.UploadCountInterval.MIN : 10건
- AdbrixRm.UploadCountInterval.NORMAL: 30건
- AdbrixRm.UploadCountInterval.MAX : 60건
import AdbrixRm from 'react-native-adbrix-remaster'
useEffect(() => {
AdbrixRm.setEventUploadCountInterval(30)
}, [])
시간 기준
설정된 시간에 따라 이벤트 정보를 디파이너리(애드브릭스) 서버로 전송합니다.
아래 값으로 업로드 주기를 설정할 수 있습니다.
- AdbrixRm.UploadTimeInterval.MIN: 30 초
- AdbrixRm.UploadTimeInterval.NORMAL : 60 초
- AdbrixRm.UploadTimeInterval.MAX : 120 초
import AdbrixRm from 'react-native-adbrix-remaster'
useEffect(() => {
AdbrixRm.setEventUploadTimeInterval(60)
}, [])
딥링크 / 디퍼드 딥링크 이벤트 분석
React-Native와 Android / iOS 플랫폼에 각각 코드를 추가하여 딥링크 성과를 분석할 수 있습니다.
딥링크 설정
React-Native 에서 딥링크를 사용하기 위해서 Android / iOS 플랫폼 별로 추가 설정이 필요합니다.
Android
안드로이드의 경우 Androidmanifest.xml 에 MAIN/LAUNCHER 로 설정된 액티비티에 아래의 코드를 추가합니다. 액티비티의 launchMode는 singleTask로 설정해야 합니다.
<intent-filter> <action android:name="android.intent.action.VIEW" /> <category android:name="android.intent.category.DEFAULT" /> <category android:name="android.intent.category.BROWSABLE" /> <!--Add your deeplink scheme and host --> <data android:scheme="your_scheme" android:host="your_host" /> </intent-filter>
해당 Activity 에 아래 내용을 추가합니다.
import android.content.Intent; import android.os.Bundle; import io.adbrix.reactnative.ReactAdbrix;
public class MainActivity extends Activity { ...
...
@Override
protected void onResume() {
super.onResume();
ReactAdbrix.deeplinkEvent(this);
}
@Override protected void onNewIntent(Intent intent) { super.onNewIntent(intent); setIntent(intent); } }
iOS
Xcode 에서 프로젝트를 열고 [General > Target > Info > URL Types] 에 URL Schemes 값을 추가합니다.
DeeplinkDelegate 코드를 AppDelegate.m 에 아래와 같이 추가합니다.
#import <react-native-adbrix-remaster/ReactAdbrix.h>
// AppDelegate.m - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url options:(NSDictionary <UIApplicationOpenURLOptionsKey,id > *)options { return [[ReactAdbrix sharedInstance] deeplinkOpenWith:application openURL:url options:options];
} // If Universial Link is available - (BOOL)application:(UIApplication *)application
continueUserActivity:(nonnull NSUserActivity *)userActivity
restorationHandler:(nonnull void (^)(NSArray<id<UIUserActivityRestoring>> * _Nullable))restorationHandler
{ return [[ReactAdbrix sharedInstance] deeplinkOpenWith:application continueUserActivity:userActivity restorationHandler:restorationHandler];
}
React-Native
트래킹 링크에 설정된 딥링크 정보를 가져오기 위해 "setDeeplinkListener" 를 설정합니다.
// App.js import AdbrixRm from 'react-native-adbrix-remaster'
useEffect(() => { const deeplinkListener = AdbrixRm.deeplinkListener((e) => {
console.log(e.deeplink)
})
return () => {
deeplinkListener.remove()
} }, [])
디퍼드 딥링크
디퍼드 딥링크는 앱 설치 후 특정 화면으로 랜딩시킬 수 있도록 서버에서 해당 정보를 전달하여 랜딩시킬 수 있는 역할을 합니다.
[[인용:안내:보통]] 디퍼드 딥링크에서 전달되는 값은 다음과 같이 string 타입으로 전달됩니다.
예; myscheme://host?key=value
React-Native
트래킹 링크에 설정된 딥링크 정보를 가져오기 위해 "setDeferredDeeplinkListener" 를 설정합니다.
useEffect(()=>{ AdbrixRm.deferredDeeplinkListener((e) => { console.log(e.deeplink) })
return () => {
deferredDeeplinkListener.remove()
} }, [])
이벤트 분석
앱에서 발생하는 이벤트를 분석하여 리포트를 구성하고 포스트백을 전송할 수 있습니다.
이벤트 분석을 위해서는 이벤트가 발생하는 시점에 이벤트 분석 코드를 삽입하고 적절한 이벤트 정보를 전달하여야 합니다.
디파이너리(애드브릭스)는 크게 4가지의 이벤트 분석을 제공합니다.
- 유저 분석
- 로그인/로그아웃 이벤트
- 유저 정보
- 커스텀 이벤트 분석
- 공통(일반) 이벤트 분석
- 회원가입
- 앱 업데이트
- 사용자 초대
- 크레딧 사용
- 구매하기
- 커머스 이벤트 분석
- 홈(메인) 화면 진입
- 카테고리(기획전) 진입
- 상품 상세보기
- 장바구니 담기
- 관심 상품 추가
- 주문 확인하기
- 주문 취소하기
- 상품 검색하기
- 상품 공유하기
- 상품 목록 조회하기
- 장바구니 리스트 보기
- 결제 정보
- 게임 이벤트 분석
- 튜토리얼 완료
- 캐릭터 생성
- 스테이지 완료
- 레벨 달성
유저 분석
로그인/로그아웃 이벤트
앱 유저의 로그인/로그아웃 이벤트를 분석합니다.
로그인이 성공했을 때, 유저를 구분하는 식별 값(user id)를 다음과 같이 전달합니다.
[[인용:경고:보통]] 로그인 유의 사항
로그인에 사용되는 user id는 그로스액션 기능 사용 시 유저-기기간 매칭을 위해 사용됩니다. 로그인 후 로그아웃 없이 다시 로그인이 호출 될 경우 올바른 매칭이 되지 않을 수 있습니다.
user id에 개인정보가 포함되지 않도록 주의해주세요. 만약 user id에 이메일, 전화번호 등의 개인정보가 포함되는 경우에는 암호화처리를 하시는 것을 권장합니다.
onPress={() => { // LogIn AdbrixRm.login("your_user_id"); }}
유저 정보
유저의 나이, 성별, 기타 정보에 대해 분석할 수 있습니다.
onPress={() => { // Age AdbrixRm.setAge(30); // Gender AdbrixRm.setGender(AdBrixRm.Gender.FEMALE); // Other user properties var userProperties = new AdbrixRm.UserProperties(); userProperties.setProperty("user_nick", "peterPark"); userProperties.setProperty("place","Seoul"); userProperties.setProperty("height",180); userProperties.setProperty("married",false); AdbrixRm.saveUserProperties(userProperties); }}
[[인용:위험:보통]] UserProperty 및 AttrModel 설정 시 유의 사항
1.100 개 이상의 정보는 처리되지 않습니다.
2. Key 값의 데이터 타입은 string 이며 256자를 넘을 수 없고, 영문 소문자, 숫자를 제외한 나머지 문자는 사용할 수 없습니다.
3. Value 값의 데이터 길이는 byte 기준으로 1024byte를 넘을 수 없습니다.
커스텀 이벤트 분석
앱 내 유저의 일반적인 이벤트를 분석합니다. (구매 관련 이벤트 제외)
앱 내에서의 이벤트를 자유롭게 분석할 수 있습니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true) AdbrixRm.event("custom_event", eventAttr);
//AttrModel 없이 사용할 수 있습니다.
AdbrixRm.event("custom_event"); }}
※ 주의사항
아래 예시와 같이, 자연적으로 증가하는 값을 이벤트 명으로 설정하지 마십시오.
너무 많은 이벤트는 오히려 분석을 하는데 방해가 됩니다.
AdbrixRm.event("custom:count36 ,time:00:00:39.2343535");
그러므로 이 경우에는 이벤트 추가 정보를 설정(AdbrixRm.AttrModel)하여 커스텀 파라미터를 설정하여 이벤트를 호출해 주시길 부탁드립니다.
// Addtional event parameter api var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("count",37); eventAttr.setAttrs("time", 39238); // set custom event with addtional event parameter AdbrixRm.event("custom", eventAttr);
공통(일반)이벤트 분석
앱에서 발생하는 이벤트 중, 공통적으로 발생하는 이벤트(결제)를 분석합니다.
디파이너리(애드브릭스)에서 제공하는 공통 이벤트 종류는 다음과 같습니다.
- 회원가입
- 앱 업데이트
- 사용자 초대
- 크레딧 사용
- 결제하기
* 디파이너리(애드브릭스)에서 광고채널 별 매출을 보고자 할 때에는 '결제하기' 연동을 반드시 진행해야 합니다
회원가입
앱에서 발생한 회원가입 이벤트를 분석합니다.
onPress={() => { // (Optional) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("is_first",true); AdbrixRm.commonSignUp(AdbrixRm.SignUpChannel.KAKAO, eventAttr);
// or AdbrixRm.commonSignUp(AdbrixRm.SignUpChannel.KAKAO); }}
앱 업데이트
앱에서 발생한 앱 업데이트 이벤트를 분석합니다.
onPress={() => { // (Optional) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonAppUpdate("1.0.0","1.0.1",eventAttr);
// or AdbrixRm.commonAppUpdate("1.0.0","1.0.1"); }}
사용자 초대
앱에서 발생한 앱 초대 이벤트를 분석합니다.
onPress={() => { // (Optional) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true);
AdbrixRm.commonInvite(AdbrixRm.InviteChannel.FACEBOOK, eventAttr);
// or AdbrixRm.commonInvite(AdbrixRm.InviteChannel.FACEBOOK); }}
크레딧 사용
앱내 현금성 화폐 사용에 대한 이벤트를 분석 합니다.
onPress={() => { // (Optional) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000);
AdbrixRm.commonUseCredit(eventAttr);
/or AdbrixRm.commonUseCredit(); }}
결제하기
앱에서 발생한 결제(구매) 이벤트를 분석합니다.
ProductModel 은 다음과 같은 항목으로 구현됩니다.
- {string} productId: 상품 번호
- {string} productName: 상품 이름
- {number} price: 가격
- {number} quantity: 구매 수량
- {?AdbrixRm.Currency} : (옵션) 구매 화폐 정보
- {?AdbrixRm.CategoryModel}: (옵션) 카테고리 정보
- {?AdbrixRm.AttrModel}: (옵션) 상품 상세 옵션
commonPurchase API는 다음에는 다음과 같은 파라미터를 입력합니다.
- {string} orderId: 주문 번호
- {AdbrixRm.ProductModelList}: ProductModel의 리스트
- {number} orderSales: 전체 주문 금액
- {number} discount: 할인 금액
- {number} deliveryCharge: 구매 수량
- {AdbrixRm.PaymentMethodType} paymentMethod: 결제 방법
- {?AdbrixRm.AttrModel} attr: (옵션) 상품 상세 옵션
onPress={() => { // categoryModel의 카테고리는 한개까지 필수, 최대 5개를 입력할 수 있습니다 var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth"); category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000);
product1.setQuantity(1); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.Currency.KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel();
category2.setCategories("electronic", "small", "samsung", "phone", "galaxy")
var attr = new AdbrixRm.AttrModel();
attr.setAttrs("is_promoted",false);
var product2 = new AdbrixRm.ProductModel();
product2.setModel("1234", "galaxy", 2000, 4, 0, 'CNY', category2, attr) var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address", "New York"); eventAttr.setAttrs("firsttime", true); AdbrixRm.commonPurchase("orderId_12341", productList, 48000, 0, AdbrixRm.PaymentMethod.BANK_TRANSFER, eventAttr); }}
커머스 이벤트 분석
앱에서 발생하는 구매와 관련된 이벤트(상품 상세 보기, 장바구니 담기 등)를 분석합니다.
디파이너리(애드브릭스)에서 제공하는 커머스 이벤트 종류는 다음과 같습니다.
- 홈(메인) 화면 진입
- 카테고리(기획전) 진입
- 상품 상세 보기
- 장바구니 담기
- 위시리스트(관심 상품) 추가
- 주문 확인하기
- 주문 취소하기
- 상품 검색하기
- 상품 공유하기
- 상품 목록 조회하기
- 장바구니 조회하기
- 결제 정보 입력하기
홈(메인) 화면 진입
유저가 앱의 홈(메인) 화면으로 진입한 이벤트를 분석합니다.
onPress={() => { // (Optional) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true) AdbrixRm.commerceViewHome(eventAttr);
// or
AdbrixRm.commerceViewHome() }}
카테고리(기획전) 진입
유저가 카테고리(기획전) 화면으로 진입한 이벤트를 분석합니다.
- {AdbrixRm.CategoryModel} category : 유저가 진입한 카테고리 정보 (최대 5개)
- {AdbrixRm.ProductModelList} productList : ProductModel의 리스트
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { var category = new AdbrixRm.CategoryModel(); category.setCategory("cloth"); var product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000);
product1.setQuantity(1); product1.setDiscount(10000); var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); // (Optioanl) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true); AdbrixRm.commerceCategoryView(category, productList, eventAttr);
// or
AdbrixRm.commerceCategoryView(category, productList); }}
상품 상세 보기
유저가 상품을 상세하게 본 이벤트를 분석합니다.
- {AdbrixRm.ProductModel} productInfo : 상세보기 한 상품
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { // product and category setup (can be set maximum 5 categories) var category1 = new AdbrixRm.CategoryModel(); category1.setCategory("cloth"); category1.setCategory("panth");
category1.setCategory("short"); category1.setCategory("summer"); category1.setCategory("Nike"); var product = new AdbrixRm.ProductModel(); product.setProductId("3029102"); product.setProductName("Gray top"); product.setPrice(50000);
product.setQuantity(1); product.setDiscount(10000); // (Optioanal) Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("firsttime",true); AdbrixRm.commerceProductView(product, eventAttr);
// or
AdbrixRm.commerceProductView(product); }}
장바구니 담기
유저가 상품을 장바구니에 담은 이벤트를 분석합니다.
- {AdbrixRm.ProductModelList} productList : 장바구니에 담은 상품의 리스트
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { ...
...
AdbrixRm.commerceAddToCart(productList, eventAttr);
// or
AdbrixRm.commerceAddToCart(productList); }}
관심 상품(위시리스트) 추가
사용자가 상품을 관심 상품(위시리스트)에 추가한 이벤트를 분석합니다.
- {AdbrixRm.ProductModel} productInfo : 위시리스트에 추가 한 상품
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { AdbrixRm.commerceAddToWishList(product, eventAttr); // or
AdbrixRm.commerceAddToWishList(product); }}
주문 확인하기
사용자가 상품을 결제하기 전 최종 확인하는 이벤트를 분석합니다.
다음과 같은 주문 및 상품 정보를 전달합니다.
- {string} orderId : 주문 번호
- {AdbrixRm.ProductModelList} productList : ProductModel의 리스트
- {number} discount : 할인 금액
- {number} deliveryCharge : 배송비
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { ...
...
AdbrixRm.commerceReviewOrder("orderId_12341", productList, 0, 3500.00, eventAttr); // or
AdbrixRm.commerceReviewOrder("orderId_12341", productList, 0, 3500.00); }}
주문 취소하기 (환불하기)
사용자가 주문을 취소하거나 환불 처리한 이벤트를 분석합니다.
다음과 같은 상품 및 주문 정보를 전달합니다.
- {string} orderId : 주문 번호
- {AdbrixRm.ProductModelList} productList : ProductModel의 리스트
- {number} penaltyCharge : 취소(환불) 수수료
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { ...
... AdbrixRm.commerceRefund("orderId_12341", productList, 2500.00, eventAttr);
// or
AdbrixRm.commerceRefund("orderId_12341", productList, 2500.00); }}
상품 검색하기
사용자가 상품을 검색한 이벤트를 분석합니다.
다음과 같은 검색 결과에 포함된 상품 정보를 전달합니다.
- {string} keyword: 검색에 사용한 단어
- {AdbrixRm.ProductModelList} productList : ProductModel의 리스트
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { ...
... AdbrixRm.commerceSearch("your_key_word", productList, eventAttr);
// or
AdbrixRm.commerceSearch("your_key_word", productList); }}
상품 공유하기
사용자가 상품 정보를 공유한 이벤트를 분석합니다.
다음과 같은 공유된 상품 정보를 전달합니다.
- {AdbrixRm.SharingChannel} channel : 공유 채널
- {AdbrixRm.ProductMoodel} : 공유 상품
- {AdbrixRm.AttrModel} attr : (옵션) 상품 상세 옵션
onPress={() => { ...
... AdbrixRm.commerceShare(AdbrixRm.SharingChannel.KAKAOTALK, product, eventAttr); // or
AdbrixRm.commerceShare(AdbrixRm.SharingChannel.KAKAOTALK, product); }}
상품 목록 조회하기
사용자가 상품 목록을 조회한 이벤트를 분석합니다.
다음과 같은 조회한 상품 정보를 전달합니다.
- {AdbrixRm.ProductModelList} productList : (필수) 조회되는 목록에 담긴 상품
- {AdbrixRm.AttrModel} attr : (옵션) 목록의 상세 옵션
onPress={() => { ...
... AdbrixRm.commerceListView(productList, eventAttr); // or
AdbrixRm.commerceListView(productList); }}
장바구니 조회하기
사용자가 장바구니를 조회한 이벤트를 분석합니다.
다음과 같은 조회한 상품 정보를 전달합니다.
- {AdbrixRm.ProductModelList} productList : (필수) 조회되는 장바구니에 담긴 상품
- {AdbrixRm.AttrModel} attr : (옵션) 목록의 상세 옵션
onPress={() => { ...
... AdbrixRm.commerceCartView(productList, eventAttr); // or
AdbrixRm.commerceCartView(productList); }}
결제 정보 입력하기
사용자가 결제 정보를 입력한 이벤트를 분석합니다.
onPress={() => {
...
...
AdbrixRm.commercePaymentInfoAdded(eventAttr); // or
AdbrixRm.commercePaymentInfoAdded(); }}
게임 이벤트 분석
앱에서 발생하는 게임과 관련된 이벤트(튜토리얼, 스테이지 등)를 분석합니다.
디파이너리(애드브릭스)에서 제공하는 게임 이벤트 종류는 다음과 같습니다.
- 튜토리얼 완료
- 캐릭터 생성
- 스테이지 완료
- 레벨 달성
튜토리얼 완료
앱에서 발생한 튜토리얼 완료 이벤트를 분석합니다.
- {boolean} isSkip : 건너뛰기(skip)를 통한 완료인지 여부
- {AdbrixRm.AttrModel} attr : (옵션) 상세 옵션
onPress={() => { ...
... AdbrixRm.gameTutorialCompleted(true, eventAttr);
// or
AdbrixRm.gameTutorialCompleted(true); }}
캐릭터 생성
앱에서 발생한 캐릭터 생성 이벤트를 분석합니다.
onPress={() => { ...
... AdbrixRm.gameCharacterCreated(eventAttr); // or
AdbrixRm.gameCharacterCreated(); }}
스테이지 완료
앱에서 발생한 스테이지 완료 이벤트를 분석합니다.
- {string} stageName : 완료한 스테이지 이름
- {AdbrixRm.AttrModel} attr : (옵션) 상세 옵션
onPress={() => { ...
... AdbrixRm.gameStageCleared("stage1-1", eventAttr); AdbrixRm.gameStageCleared("stage1-1"); }}
레벨 달성
앱에서 발생한 레벨 달성 이벤트를 분석합니다.
- {number} level : 달성한 레벨 (1~10000)
onPress={() => { ...
... AdbrixRm.gameLevelAchieved(25, eventAttr);
// or AdbrixRm.gameLevelAchieved(25, eventAttr); }}