애드브릭스 연동하기 [React Native]
팔로우Quick Start
SDK 다운로드
React Native 용 AdbrixRM SDK 는 npm 을 통해 다운로드 받습니다.
npm install react-native-adbrix-remaster --save
Platform 설정
React Native 용 AdbrixRM SDK 구동을 위해서는 안드로이드 / iOS 각 플랫폼 별로 별도의 작업이 필요합니다.
Android
1. 다음 dependencies 를 [app:build.gradle] 에 추가합니다.
dependencies { implementation 'com.google.android.gms:play-services-ads:15.0.0' implementation 'com.android.installreferrer:installreferrer:1.0' }
[[인용:위험:보통]]* Fraud Traffic 방지를 위해서 com.android.installreferrer:installreferrer 를 반드시 추가합니다.
* 구글광고아이디를 얻기 위해 com.google.android.gms:play-service-ads 를 반드시 추가합니다.
2. [AndroidManifest.xml > manifest] 에 다음과 같이 설정합니다.
<manifest> ... <uses-permission android:name="android.permission.INTERNET" /> <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <!-- OPTIONAL --> <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" /> ... </manifest>
3. [AndroidManifest.xml > manifest > application] 에 다음과 같이 브로캐스트 리시버를 설정합니다.
<application> ... <receiver android:name="com.igaworks.v2.core.AbxReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER" /> </intent-filter> </receiver> ... </application>
※ 복수의 브로캐스트 리시버를 사용한다면 아래와 같이 별도의 클래스를 생성하여 설정합니다.
public class MultipleInstallReceiver extends BroadcastReceiver { @Override public void onReceive(Context context, Intent intent) { //Add AdbrixRemaster AbxReceiver abxReceiver = new AbxReceiver(); abxReceiver.onReceive(context,intent); // Add receiver that want receiver from com.android.vending.INSTALL_REFERRER } }
위에 설정된 브로캐스트 리시버 클래스를 아래와 같이 [AndroidManifest.xml > manifest > application] 에 추가합니다.
<receiver android:name="myapp.packagename.MultipleInstallReceiver" android:exported="true"> <intent-filter> <action android:name="com.android.vending.INSTALL_REFERRER"/> </intent-filter> </receiver>
4. SDK 구동 및 분석이 원할하게 진행될 수 있도록 app / proguard-rule.pro 에 아래 코드를 추가해 주시길 부탁드립니다.
-keep class com.google.android.gms.ads.identifier.AdvertisingIdClient {*;} -keep class com.google.android.gms.ads.identifier.AdvertisingIdClient$* {*;}
iOS
1. React Native 프로젝트에서 iOS 폴더로 넘어가 아래와 같이 터미널에 pod install 명령어를 입력하여 Cocoapods 를 통해 SDK 를 설치합니다.
$ cd ios
$ pod install
※ Cocoapods 가 설치되어 있지 않다면 터미널에서 아래의 명령어를 입력하여 Cocoapods 를 설치합니다.
$ sudo gem install cocoapods
2. Xcode 프로젝트를 열고 [General > Linked Frameworks and Libraries] 에서 iAd.framework 추가합니다.
3. [Build Settings > Always Embed Swift Standard Libraries] 에서 Yes 로 설정합니다.
SDK 초기화
SDK init 을 위해서는 startAdbrixSDK api 를 App.js 내 componentDidMount() 에 추가합니다.
import AdbrixRm from 'react-native-adbrix-remaster'; componentDidMount(): void { AdbrixRm.startAdbrixSDK('your_app_key', 'your_secret_key'); }
[[인용:안내:보통]]앱키 & 시크릿키???
애드브릭스 리마스터에서 각 앱을 구분하기 위한 식별값입니다.
SDK 연동을 위해서 반드시 필요한 값으로, 애드브릭스 리마스터 콘솔에서 앱 등록 후 확인할 수 있습니다.
[[인용:안내:보통]] 축하합니다!!!
애드브릭스 리마스터 이용을 위한 기본적인 연동이 완료되었습니다.
이용할 수 있는 기능은 다음과 같습니다.
1. DAU, MAU, 일별 리텐션 등의 지표를 확인할 수 있는 리포팅
2. NCPI 와 같은 앱 유입 캠페인
앱 내에서 발생하는 구매와 같은 이벤트를 분석하고자 한다면, 아래의 가이드를 참고하여 계속 연동을 진행하시면 됩니다.
SDK 추가설정
누적 이벤트 개수 기준
Set event data to be uploaded to adbrix server when the preset counts of events are accumulated.
Use the following predefined values in the adbrix SDK.
- AdbrixRm.UPLOAD_COUNT_INTERVAL_MIN : 10 counts
- AdbrixRm.UPLOAD_COUNT_INTERVAL_NORMAL: 30 counts
- AdbrixRm.UPLOAD_COUNT_INTERVAL_MAX : 60 counts
AdbrixRm.setEventUploadCountInterval(AdbrixRm.UPLOAD_COUNT_INTERVAL_NORMAL);
시간 기준
Set event data to be uploaded to adbrix server after the preset time has elapsed.
Use the following predefined values in the adbrix SDK.
- AdbrixRm.UPLOAD_TIME_INTERVAL_MIN: 10 counts
- AdbrixRm.UPLOAD_TIME_INTERVAL_NORMAL : 30 counts
- AdbrixRm.UPLOAD_TIME_INTERVAL_MAX : 60 counts
AdbrixRm.setEventUploadTimeInterval(AdbrixRm.UPLOAD_TIME_INTERVAL_NORMAL);
딥링크 / 디퍼드 딥링크 이벤트 분석
딥링크 분석
Add setDeeplinkListener API on componentDidMount(). using this API you will receive deeplink information to a string. using this information you can send the user to a certain view.
componentDidMount(): void { AdbrixRm.setDeeplinkListener(function (deeplink) { console.log("deeplink msg arrived!"); console.log(deeplink); // you will receive deeplink info on "deeplink" }); }
플랫폼 별 딥링크 설정
안드로이드 / iOS 에서 딥링크를 사용하기 위해서 각 플랫폼 별로 추가 설정이 필요합니다.
Android
안드로이듸 경우 Androidmanifest.xml 에 MAIN/LAUNCHER 로 설정된 액티비티에 아래의 코드를 추가합니다.
<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>
iOS
Xcode 에서 프로젝트를 열고 [General > Target > Info > URL Types] 에 URL Schemes 값을 추가합니다.
아래의 코드를 AppDelegate.m 에 추가합니다.
- (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary *)options { // AdBrixRM instance AdBrixRM *adBrix = [AdBrixRM sharedInstance]; // Deeplink tracking code [adBrix deepLinkOpenWithUrl:url]; return YES; }
디퍼드 딥링크
디퍼드 딥링크는 앱 설치 후 특정 화면으로 랜딩시킬 수 있도록 서버에서 해당 정보를 전달하여 랜딩 시킬 수 있는 역할을 합니다.
[[인용:안내:보통]] 디퍼드 딥링크에서 전달되는 값은 다음과 같이 string 타입으로 전달됩니다.
예; myscheme://host?key=value
componentDidMount(): void { AdbrixRm.setDeferredDeeplinkListener(function (deeplink) { console.log("deeplink msg arrived!"); console.log(deeplink); // you will receive DeferredDeeplink info on "deeplink" }); }
[[인용:경고:보통]] 앱이 두번 오픈됩니다!!!
딥링크가 설정된 트래킹링크를 통해 구글플레이에서 앱을 설치/실행하게 되면,
구글플레이스토어에서 제공하는 디퍼드딥링킹이 동작합니다.
구현하신 리스너를 통해 중복 처리가 되지 않도록 예외 처리를 하는 것을 권장합니다.
이벤트 분석
앱에서 발생하는 이벤트를 분석하여 리포트를 구성하고 포스트백을 전송할 수 있습니다.
이벤트 분석을 위해서는 이벤트가 발생하는 시점에 이벤트 분석 코드를 삽입하고 적절한 이벤트 정보를 전달하여야 합니다.
AdBrix 는 크게 4가지의 이벤트 분석을 제공합니다.
- 유저 분석
- 로그인/로그아웃 이벤트
- 유저 정보
- 커스텀 이벤트 분석
- 공통(일반) 이벤트 분석
- 회원가입
- 앱 업데이트
- 사용자 초대
- 크레딧 사용
- 구매하기
- 커머스 이벤트 분석
- 홈(메인) 화면 진입
- 카테고리(기획전) 진입
- 상품상세보기
- 장바구니담기
- 관심상품추가
- 주문확인하기
- 주문취소하기
- 상품검색하기
- 상품공유하기
- 상품 목록 조회하기
- 장바구니 리스트 보기
- 결제 정보
- 게임 이벤트 분석
- 튜토리얼 완료
- 캐릭터 생성
- 스테이지 완료
- 레벨 달성
유저 분석
로그인/로그아웃 이벤트
앱 유저의 로그인/로그아웃 이벤트를 분석합니다.
로그인이 성공했을 때, 유저를 구분하는 식별값(user id)를 다음과 같이 전달합니다.
onPress={() => { // LogIn AdbrixRm.login("your_user_id"); }}
* 전달되는 유저아이디에 개인정보가 포함되지 않도록 주의해주세요. 만약 이메일, 전화번호 등의 개인정보가 포함되는 경우에는 적잘한 암호화(BASE64, MD5, SHA1 등) 처리를 하시는 것을 권장합니다.
유저 정보
유저의 나이, 성별, 기타 정보에 대해 분석할 수 있습니다.
onPress={() => { // Age AdbrixRm.setAge(30); // Gender AdbrixRm.setGender(AdBrixRm.GENDER_MALE); // 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.setUserProperties(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("age", 27) eventAttr.setAttrs("firsttime",true); // Click a button "Invite a friend" AdbrixRm.event("invite_button_click", eventAttr); // Complete "Character creation" AdbrixRm.event("create_character_complete",eventAttr); // Complete "Tutorial view" AdbrixRm.event("tutorial_complete", eventAttr); // Achieve "Level 10" AdbrixRm.event("level_10", eventAttr); }}
※ 주의사항
아래 예시와 같이, 자연적으로 증가하는 값을 이벤트 명으로 설정하지 마십시오.
너무 많은 이벤트는 오히려 분석을 하는데 방해가 됩니다.
AdbrixRm.event("custom:Lev-37 cleared,clearTime:00:00:39.2343535");
그러므로 이 경우에는 이벤트 추가 정보를 설정(AdbrixRm.AttrModel)하여 커스텀 파라미터를 설정하여 이벤트를 호출해 주시길 부탁드립니다.
// Addtional event parameter api var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("level",37); eventAttr.setAttrs("clear_time_mile", 39238); // set custom event with addtional event parameter AdbrixRm.event("level_clear", eventAttr);
공통(일반)이벤트 분석
앱에서 발생하는 이벤트 중, 공통적으로 발생하는 이벤트(결제)를 분석합니다.
AdBrix 에서 제공하는 공통 이벤트 종류는 다음과 같습니다.
- 회원가입
- 앱 업데이트
- 사용자 초대
- 크레딧 사용
- 결제하기
* AdBrix 에서 광고채널 별 매출을 보고자 할 때에는 '결제하기' 연동을 반드시 진행해야 합니다
회원가입
앱에서 발생한 회원가입 이벤트를 분석합니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonSignUp (AdbrixRm.SIGNUP_CHANNEL_KAKAO,eventAttr); }}
앱 업데이트
앱에서 발생한 앱 업데이트 이벤트를 분석합니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonAppUpdate("1.0.0","1.0.1",eventAttr); }}
사용자 초대
앱에서 발생한 앱 초대 이벤트를 분석합니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); AdbrixRm.commonInvite(AdbrixRm.INVITE_CHANNEL_KAKAO,eventAttr); }}
크레딧 사용
앱내 현금성 화폐 사용에 대한 이벤트를 분석 합니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.commonUseCredit(eventAttr); }}
Payment
결제하기
앱에서 발생한 결제(구매) 이벤트를 분석합니다.
다음과 같은 상품 및 주문에 대한 정보를 arrayList 형태로 구성하여 전달합니다.
- order id : (필수) 주문번호
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
- extra attr : (옵션) 상품 상세 옵션
- delivery charge : (옵션) 배송비
- payment method : (옵션) 결제 방법
onPress={() => { // product and category setup 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.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //purchase API AdbrixRm.commonPurchase("orderId_12341",productList,0.00,3500.00,AdbrixRm.PAYMENT_METHOD_BANK_TRASNFER,eventAttr); }}
커머스 이벤트 분석
앱에서 발생하는 구매와 관련된 이벤트(상품상세보기, 장바구니 담기 등)를 분석합니다.
AdBrix 에서 제공하는 커머스 이벤트 종류는 다음과 같습니다.
- 홈(메인) 화면 진입
- 카테고리(기획전) 진입
- 상품 상세 보기
- 장바구니 담기
- 위시리스트(관심상품) 추가
- 주문 확인하기
- 주문 취소하기
- 상품 검색하기
- 상품 공유하기
- 상품목록 조회하기
- 장바구니 조회하기
- 결제 정보 입력하기
홈(메인) 화면 진입
유저가 앱의 홈(메인) 화면으로 진입한 이벤트를 분석합니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true) AdbrixRm.commerceViewHome(eventAttr); }}
카테고리(기획전) 진입
유저가 카테고리(기획전) 화면으로 진입한 이벤트를 분석합니다.
카테고리로 진입했을 때 노출되는 상품 정보를 다음과 같이 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매화폐 정보
- category : (옵션) 카테고리 정보
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //CategoryView API AdbrixRm.commerceCategoryView(category1,productList,eventAttr); }}
상품 상세 보기
유저가 상품을 상세하게 본 이벤트를 분석합니다.
다음과 같은 상품에 대한 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매화폐 정보
- category : (옵션) 카테고리 정보
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //ProductView API AdbrixRm.commerceProductView(product1,eventAttr); }}
장바구니 담기
유저가 상품을 장바구니에 담은 이벤트를 분석합니다.
다음과 같은 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 단위
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //AddToCart API AdbrixRm.commerceAddToCart(productList,eventAttr); }}
관심상품(위시리스트) 추가
사용자가 상품을 관심상품(위시리스트)에 추가한 이벤트를 분석합니다.
다음과 같은 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //AddToWishList API AdbrixRm.commerceAddToWishList(product1,eventAttr); }}
주문 확인하기
사용자가 상품을 결제하기 전 최종 확인하는 이벤트를 분석합니다.
다음과 같은 주문 및 상품 정보를 전달합니다.
- order id : (필수) 주문번호
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
- extra attr : (옵션) 상품 상세 옵션
- delivery charge : (옵션) 배송비
onPress={() => { // product and category setup 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.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //ReviewOrder API AdbrixRm.commerceReviewOrder("orderId_12341",productList,0.00,3500.00,eventAttr); }}
주문 취소하기 (환불하기)
사용자가 주문을 취소하거나 환불처리한 이벤트를 분석합니다.
다음과 같은 상품 및 주문 정보를 전달합니다.
- order id : (필수) 주문번호
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
- extra attr : (옵션) 상품 상세 옵션
- penalty charge : (옵션) 취소(환불) 수수료
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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //Refund API AdbrixRm.commerceRefund("orderId_12341",productList,2500.00,eventAttr); }}
상품 검색하기
사용자가 상품을 검색한 이벤트를 분석합니다.
다음과 같은 검색 결과에 포함된 상품 정보를 전달합니다.
- keyword : (필수) 검색에 사용한 단어
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //Search API AdbrixRm.commerceSearch("your_key_word",productList,eventAttr); }}
상품 공유하기
사용자가 상품정보를 공유한 이벤트를 분석합니다.
다음과 같은 공유된 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //Share API AdbrixRm.commerceShare(AdbrixRm.SHARING_CHANNEL_KAKAO,product1,eventAttr); }}
상품 목록 조회하기
사용자가 상품 목록을 조회한 이벤트를 분석합니다.
다음과 같은 조회한 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 정보
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //ListView API AdbrixRm.commerceListView(productList,eventAttr); }}
장바구니 조회하기
사용자가 장바구니를 조회한 이벤트를 분석합니다.
다음과 같은 조회한 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 정보
- category : (옵션) 카테고리 단위
- extra 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 product1 = new AdbrixRm.ProductModel(); product1.setProductId("3029102"); product1.setProductName("Gray top"); product1.setPrice(50000); product1.setDiscount(10000); product1.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product1.setCategory(category1); var category2 = new AdbrixRm.CategoryModel(); category2.setCategory("electronic"); category2.setCategory("small"); category2.setCategory("samsung"); category2.setCategory("phone"); category2.setCategory("galaxybrand"); var product2 = new AdbrixRm.ProductModel(); product2.setProductId("12324"); product2.setProductName("Galaxy S10"); product2.setPrice(50000); product2.setDiscount(10000); product2.setCurreny(AdbrixRm.CURRENCY_KR_KRW); product2.setCategory(category2); // productlist setup var productList = new AdbrixRm.ProductModelList(); productList.setProduct(product1); productList.setProduct(product2); // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); //CartView API AdbrixRm.commerceCartView(productList,eventAttr); }}
결제 정보 입력하기
사용자가 결제 정보를 입력한 이벤트를 분석합니다.
onPress={() => {
var commmerceAttr = new AdbrixRm.AttrModel(); commmerceAttr.setAttrs("grade", "vip"); commmerceAttr.setAttrs("howmany_buy", 36); commmerceAttr.setAttrs("card", "kbcard"); commmerceAttr.setAttrs("discount", true); //Event of filling in payment information AdbrixRm.commercePaymentInfoAdded(commmerceAttr); }}
게임 이벤트 분석
앱에서 발생하는 게임과 관련된 이벤트(튜토리얼, 스테이지 등)를 분석합니다.
AdBrix 에서 제공하는 게임 이벤트 종류는 다음과 같습니다.
- 튜토리얼 완료
- 캐릭터 생성
- 스테이지 완료
- 레벨 달성
튜토리얼 완료
앱에서 발생한 튜토리얼 완료 이벤트를 분석합니다.
다음과 같은 튜토리얼 완료 정보를 GameProperies.TutorialComplete의 값을 구성하여 전달합니다.
- isSkip : (필수) 건너뛰기(skip)를 통한 완료인지 여부
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.gameTutorialCompleted(true,eventAttr); }}
캐릭터 생성
앱에서 발생한 캐릭터 생성 이벤트를 분석합니다.
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); eventAttr.setAttrs("name","AngryNelsson316"); AdbrixRm.gameCharacterCreated(eventAttr); }}
스테이지 완료
앱에서 발생한 스테이지 완료 이벤트를 분석합니다.
- stageName : (필수) 완료한 스테이지 이름
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.gameStageCleared("stage1-1",eventAttr); }}
레벨 달성
앱에서 발생한 레벨 달성 이벤트를 분석합니다.
- level : (필수) 달성한 레벨 (1~10000)
onPress={() => { // Addtional event parameter var eventAttr = new AdbrixRm.AttrModel(); eventAttr.setAttrs("address","New York"); eventAttr.setAttrs("age", 27); eventAttr.setAttrs("firsttime",true); eventAttr.setAttrs("credit", 10000); AdbrixRm.gameLevelAchieved(25,eventAttr); }}
댓글
댓글 0개
댓글을 남기려면 로그인하세요.