애드브릭스 iOS 연동하기 [Unity]
팔로우
Quick Start
SDK 다운로드
애드브릭스 리마스터 Unity 통합 패키지: [다운로드(update : 2020/06/03]
Unity 패키지 설치
1. 기존 유니티 프로젝트를 오픈합니다.
[기존 유니티 프로젝트 오픈]
2. 기존 유니티 프로젝트의 Assets 창으로 ~~.package 파일을 드래그&드롭합니다.
[adbrix SDK package 파일 Drag & Drop]
3. AOS와 동시 개발의 프로젝트가 아니라면 iOS 디렉토리만 선택(Android 디렉토리는 체크박스를 해제)하여 Import 합니다.
iOS / Android 통합으로 구현할 경우
Unity 로 구현될 앱이 iOS / Android 모두 사용될 앱이라면 아래와 같이 스크립트 추가하여 각각의 OS 에 대응하도록 합니다.
using System.Collections; using System.Collections.Generic; using UnityEngine; using System.Runtime.InteropServices; using System; #if UNITY_IOS using UnityEngine.iOS; using AdBrixRmIOS; #elif UNITY_ANDROID using AdBrixRmAOS; #endif public class AdBrixRmSample_AOS : MonoBehaviour { }
※ 주의 : 지금부터 나올 내용은 iOS만 사용했을 경우를 가정하여 작성하였습니다.
애플광고식별자(IDFA) 설정
adbrix Attribution 등의 광고 관련 기능을 이용하기 위해서는 반드시 애플광고식별자를 등록해야 합니다.
어플리케이션에서 최초로 시작하는 cs 파일에서 [void Start()] 함수 부분에 다음과 같이 IDFA를 설정합니다.
using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System; using UnityEngine.iOS; using AdBrixRmIOS; public class AdBrixRmSample_iOS : MonoBehaviour { void Start () { AdBrixRm.setAppleAdvertisingIdentifier(Device.advertisingIdentifier); } }
앱키 & 시크릿키 설정
adbrix 홈페이지에서 발급받은 앱키와 시크릿키를 등록합니다.
using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System; using UnityEngine.iOS; using AdBrixRmIOS; public class AdBrixRmSample_iOS : MonoBehaviour { void Start () { AdBrixRm.initAdBrix("appKey", "secretKey"); } }
* adbrix Classic 과 adbrix Remastered 의 앱키는 서로 다릅니다.
* adbrix Remastered 앱키&시크릿키는 android, ios 플랫폼 간 구분이 없이 공용으로 사용합니다.
Xcode 프로젝트 설정
유니티에서 정상 빌드 후, Xcode 프로젝트로 포팅된 프로젝트 구조는 다음 스크린샷과 같습니다.
포팅 후에 확인 및 수정하여야할 옵션 사항은 아래와 같습니다.
- swift 라이브러리 설정
- framework import 상태 확인
SDK 추가 설정
로그 레벨 설정
adbrix SDK의 동작과 관련한 로그의 출력 수준을 설정합니다.
로그레벨은 1단계인 미출력을 포함하여 총 6단계로 구성되며, 2~6단계에서는 상위 레벨이 하위 레벨의 로그를 모두 포함하도록 구성되어 있습니다.
- AdBrixRM.AdBrixLogLevel.NONE : 로그를 출력하지 않습니다.
- AdBrixRM.AdBrixLogLevel.TRACE : 일반적인 내용이 담긴 개발 수준의 로그를 출력합니다.
- AdBrixRM.AdBrixLogLevel.DEBUG : TRACE를 포함한 디버깅용으로 작성한 개발 수준의 로그를 출력합니다.
- AdBrixRM.AdBrixLogLevel.INFO : TRACE, DEBUG를 포함한 데이터 저장, 로드, 전송 등 중요 수준의 로그를 출력합니다.
- AdBrixRM.AdBrixLogLevel.WARNING : TRACE, DEBUG, INFO를 Exception등의 치명적 오류가 아니나, 정상적 데이터 핸들링을 할 수 없는 위험이 있는 상태에 대한 로그를 출력합니다.
- AdBrixRM.AdBrixLogLevel.ERROR : TRACE, DEBUG, INFO, WARNING을 모두 포함한 Exception등의 치명적 오류로그까지 출력합니다.
using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System; using UnityEngine.iOS; using AdBrixRmIOS; public class AdBrixRmSample_iOS : MonoBehaviour { void Start () { AdBrixRm.setLogLevel(AdBrixRm.AdBrixLogLevel.ERROR); } }
이벤트 업로드 주기 설정
adbrix SDK 에 전달된 이벤트를 adbrix 서버로 전송하는 기준을 설정할 수 있습니다.
이벤트 업로드 주기를 누적 이벤트 개수와 시간으로 설정할 수 있습니다.
* 두 가지 기준 중 먼저 충족되는 기준에 따라서 이벤트가 업로드 됩니다.
누적 이벤트 개수 기준
설정된 개수만큼 이벤트가 누적되었을 때에 adbrix 서버로 이벤트를 업로드하도록 설정합니다.
adbrix SDK에 사전 정의된 아래의 값을 이용하여 설정합니다.
- AdBrixRM.AdBrixEventUploadCountInterval.MIN : 10건
- AdBrixRM.AdBrixEventUploadCountInterval.NORMAL : 30건
- AdBrixRM.AdBrixEventUploadCountInterval.MAX : 60건
using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System; using UnityEngine.iOS; using AdBrixRmIOS; public class AdBrixRmSample_iOS : MonoBehaviour { void Start () { AdBrixRm.setEventUploadCountInterval(AdBrixRm.AdBrixEventUploadCountInterval.MIN); } }
시간 기준
설정된 시간이 지나면 adbrix 서버로 이벤트를 업로드하도록 설정합니다.
adbrix SDK에 사전 정의된 아래의 값을 이용하여 설정합니다.
- AdBrixRM.AdBrixEventUploadTimeInteval.MIN : 30초
- AdBrixRM.AdBrixEventUploadTimeInteval.NORMAL :60초
- AdBrixRM.AdBrixEventUploadTimeInteval.MAX :120초
using UnityEngine; using UnityEngine.UI; using System.Collections; using System.Collections.Generic; using System.Runtime.InteropServices; using System; using UnityEngine.iOS; using AdBrixRmIOS; public class AdBrixRmSample_iOS : MonoBehaviour { void Start () { AdBrixRm.setEventUploadTimeInterval(AdBrixRm.AdBrixEventUploadTimeInterval.MIN); } }
GDPR 설정
GDPR 요청 이벤트를 이용하여 사용자 요청에 대해 데이터 주체와 연관된 모든 개인 데이터를 삭제할 수 있습니다.
본 이벤트 호출시, SDK 동작은 정지되며 모든 이벤트 저장, 전송 등이 불가합니다.
본 기능은 사용자가 앱을 삭제 후, 재설치하기 전에는 되돌릴 수 없습니다.
void gdprForgetMeEvent() { AdBrixRm.gdprForgetMe(); }
샘플프로젝트에서 시작
adbrix 유니티 package 파일에는 SDK를 탑재한 샘플 프로젝트를 함께 제공하고 있습니다.
[adbrix Unity Sample Project link]
위의 [Import 팝업] 화면에서 아래 스크린샷과 같은 위치에 있는 scene_sample.unity 파일과 AdBrixRmSample_iOS.cs 파일도 함께 "체크"하시면 샘플 소스를 확인하실 수 있습니다.
[ scene_sample.unity, AdBrixRmSample_iOS.cs 파일 체크 ]
딥링크 설정
Custom Url Scheme 설정
유니티에서 빌드하여 포팅된 Xcode 프로젝트를 오픈합니다.
[General > Target > Info > URL Types] 로 이동하여 다음과 같이 URL Scheme 을 설정합니다.
딥링크 오픈 이벤트
딥링크를 관리할 스크립트에 아래와 같이 핸들러를 추가합니다.
public class AdBrixRmSample_IOS : MonoBehaviour { void Awake () { AdBrixRm.didReceiveDeeplink += HandleDidReceiveDeeplink; } void Start () { AdBrixRm.SetCallbackHandler("AOS_SampleObject"); //파라미터로는 반드시 "오브젝트 이름" 이 들어가야 합니다. } void OnDisable () { AdBrixRm.didReceiveDeeplink -= HandleDidReceiveDeeplink; } public void HandleDidReceiveDeeplink (string deepLinkValue){ Debug.Log("HandleDidReceiveDeeplink : "+ deepLinkValue); } }
위 코드의 HandleDidReceiveDeeplink 의 deepLinkValue 값을 통해 아래와 같이 딥링크 정보가 전달 됩니다. 전달되는 딥링크 정보를 활용하여 원하시는 화면으로 이동시켜 주시면 되겠습니다.
[[인용:위험:작게]] ※ 예시 : 트랙킹 링크에 adbrixrm://deeplinkpath 란 값을 딥링크 정보로 전달할 경우
예시 : HandleDidReceiveDeeplink : adbrixrm://deeplinkpath+추가 파라미터
이후 Xcode 로 프로젝트를 export 후 UnityAppController.mm 파일의 내용에 아래의 2가지 내용을 추가 합니다.
1. 헤더 추가
#include <AdBrixRm/AdBrixRM-Swift.h>
2. 아울러 (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id>*)options에 다음과 같이 트래킹 코드를 호출합니다.
- (BOOL)application:(UIApplication*)app openURL:(NSURL*)url options:(NSDictionary<NSString*, id>*)options { //생략 AdBrixRM *adBrix = [AdBrixRM sharedInstance]; [adBrix deepLinkOpenWithUrl:url]; return YES; }
디퍼드 딥링크 설정
디퍼드 딥링크는 트랙킹 링크를 클릭하여 앱을 설치하고 실행했을 때 특정 화면으로 랜딩 시켜주는 기능입니다.
이 기능을 사용하기 위해서는 딥링크를 전달받을 오브젝트에 다음과 같이 AdBrixRm 스크립트를 추가합니다.
스크립트는 Add Component 클릭 -> Scripts -> AdbrixRmIOS -> Ad Brix Rm 을 선택하여 추가합니다.
딥링크를 액션을 관리하는 스크립트에 아래와 같이 핸들러를 추가합니다.
public class AdBrixRmSample_IOS : MonoBehaviour { void Awake () { AdBrixRm.didReceiveDeferredDeeplink += HandleDidReceiveDeferredDeeplink; } void Start () { AdBrixRm.SetCallbackHandler("AOS_SampleObject"); //파라미터로는 반드시 "오브젝트 이름" 이 들어가야 합니다. AdBrixRm.SetAdBrixDeferredDeeplinkDelegate(); } void OnDisable () { AdBrixRm.didReceiveDeferredDeeplink -= HandleDidReceiveDeferredDeeplink; } public void HandleDidReceiveDeferredDeeplink (string deferredDeepLinkValue){ Debug.Log("HandleDidReceiveDeferredDeeplink : "+ deferredDeepLinkValue); } }
AdBrix 서버에서 위 코드의 HandleDidReceiveDeferredDeeplink 의 deferredDeepLinkValue 값을 통해 아래와 같이 딥링크 정보가 전달 됩니다. 전달되는 딥링크 정보를 활용하여 원하시는 화면으로 이동시켜 주시면 되겠습니다.
[[인용:위험:작게]] ※ 예시 : 트랙킹 링크에 adbrixrm://deeplinkpath 란 값을 디퍼드 딥링크 딥링크 정보로 전달할 경우
예시 : HandleDidReceiveDeferredDeeplink : adbrixrm://deeplinkpath
[[인용:위험:작게]] - HandleDidReceiveDeferredDeeplink 는 디퍼드 딥링크 정보가 없을 경우 호출하지 않습니다.
- 구글 플레이에서 다운로드 받은 앱은 구글 플레이에서도 디퍼드 딥링크 정보를 전달합니다. AdBrix 서버와 구글 플레이에서 동시 디퍼드 딥링크 정보가 전달되는 만큼 중복으로 화면이 오픈되지 않도록 설정을 부탁드립니다.
[[인용:위험:작게]] Facebook SDK의 fetchDeferredAppLinkData API 를 사용할 수 없습니다.
Facebook 광고시 사용하는 fetchDeferredApplinkData 의 역할을 저희 DeferredDeeplink API 가 대신하므로 이를 중복해서 사용할 수 없습니다. 사용하고 계시다면 삭제를 부탁드립니다.
이벤트 분석
앱에서 발생하는 인-앱 이벤트(in-app event)를 분석하여 리포트를 구성하고 포스트백을 전송할 수 있습니다.
이벤트 분석을 위해서는 이벤트가 발생하는 시점에 이벤트 분석 코드를 삽입하고 이벤트 식별값을 전송하여야 합니다.
adbrix 는 크게 3가지 분류의 분석을 제공합니다.
- 유저 분석
- 로그인/로그아웃 이벤트
- 유저 정보
- 위치 정보
- 커스텀 분석
- 공통(일반) 분석
- 회원가입
- 앱 업데이트
- 사용자 초대
- 크레딧 사용
- 결제하기
- 커머스 분석
- 홈(메인) 화면 진입
- 상품상세보기
- 장바구니담기
- 관심상품추가
- 주문확인하기
- 주문취소하기
- 상품검색하기
- 상품공유하기
- 상품목록 조회하기
- 상품 공유하기
- 장바구니 조회하기
- 구매정보 입력하기
- 게임 분석
- 튜토리얼 완료
- 캐릭터 생성
- 스테이지 완료
- 레벨 달성
유저 분석
로그인/로그아웃 이벤트
사용자의 로그인/로그아웃 이벤트를 분석합니다.
로그인이 성공하였을 때, 유저를 구분하는 식별값(user id)을 다음과 같이 전달합니다.
void sampleFunction() { if(isLoginSuccess) { // 로그인이 성공했을 떄, "user_1234"와 같은 유저아이디를 전달 AdBrixRm.login ("user_1234"); } }
* userId 로 전달되는 유저 아이디에 개인정보가 포함되지 않도록 주의해주세요. 만약 이메일, 전화번호 등의 개인정보가 포함되는 경우에는 적절한 암호화(BASE64, MD5, SHA1 등) 처리를 하시는 것을 권장합니다.
유저 정보
유저의 나이, 성별, 기타 정보에 대해 분석할 수 있습니다.
void sampleFunction() { //유저 나이 AdBrixRm.setAgeWithInt (20); //유저 성별 AdBrixRm.setGenderWithAdBrixGenderType (AdBrixRm.Gender.FEMALE); //기타 유저 정보 Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("nickname", "adbrixRM"); AdBrixRm.setUserPropertiesWithDictionary (dict); }
[[인용:위험:보통]] Dictionary 데이터 설정 시 유의 사항
1.100 개이상의 정보는 처리되지 않습니다.
2. Key 값의 데이터 타입은 string 이며 256자를 넘을 수 없고, 영문 소문자, 숫자를 제외한 나머지 문자는 사용할 수 없습니다.
3. Value 값의 데이터 길이는 byte 기준으로 1024byte 를 넘을 수 없습니다.
위치 정보
사용자의 위치 정보를 얻을 수 있는 경우, 이를 분석할 수 있습니다.
void sampleFunction() { // 위도 경도 정보 업데이트 AdBrixRm.setLocationWithLatitude(39.00, 121.00); }
* 위치 정보 사용에 대한 동의에 대한 책임은 adbrix 가 아닌 앱 개발 및 운영 주체입니다.
커스텀 분석
앱 내 사용자의 일반적인 모든 이벤트를 분석합니다. (구매 이벤트 제외)
앱 내에서 이벤트(string)를 통해 액션을 자유롭게 분석할 수 있습니다.
void sampleFunction() { //커스텀 이벤트 AdBrixRm.events ("event_name"); }
공통(일반)이벤트 분석
앱에서 발생하는 이벤트 중, 공통적으로 발생하는 이벤트를 분석합니다.
adbrix 에서 제공하는 공통 이벤트 종류는 다음과 같습니다.
- 회원가입
- 앱 업데이트
- 사용자 초대
- 크레딧 사용
- 결제하기
* adbrix 에서 광고채널 별 매출을 보고자 할 때에는 '결제하기' 연동을 반드시 진행해야 합니다.
회원가입
앱에서 발생한 회원가입 이벤트를 분석합니다.
void userSignup() { // 유저 정보를 adbrix 로 전달할 경우 설정합니다. Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("nickname", "adbrixRM"); AdBrixRm.commonSignUp(AdBrixRm.SignUpChannel.Google, dict); }
앱 업데이트
앱에서 발생한 앱 업데이트 이벤트를 분석합니다.
void appUpdate() { // 유저 정보 Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("nickname", "adbrixRM"); AdBrixRm.commonAppUdate("1.2.2a","1.3.0",dict); }
사용자 초대
앱에서 발생한 앱 초대 이벤트를 분석합니다.
void userInvite() { // 유저 정보 Dictionary<string, string> dict = new Dictionary<string, string>(); dict.Add("nickname", "adbrixRM"); AdBrixRm.commonSignUp(AdBrixRm.InviteChannel.Facebook, dict); }
크레딧 사용
앱내 현금성 화폐 사용에 대한 이벤트를 분석합니다.
void useCredit() { // 크레딧 사용 정보 Dictionary<string, string> credit_info= new Dictionary<string, string>(); credit_info.Add("credit", "20000"); AdBrixRm.commonSignUp(credit_info); }
결제하기
앱에서 발생한 결제(구매) 이벤트를 분석합니다.
다음과 같은 상품 맟 주문에 대한 정보를 array 형태로 구성하여 전달합니다.
- order id : (필수) 주문번호
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 구매 화폐 단위
- category : (옵션) 카테고리 정보
- product attr map : (옵션) 상품 상세 옵션
- delivery charge : (옵션) 배송비
- payment method : (옵션) 결제 방법
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); //상품 생성 AdBrixRmCommerceProductModel productModel2 = AdBrixRmCommerceProductModel.create ( "productId02", "productName02", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); items.Add (productModel2); //상품 결제하기 이벤트 AdBrixRm.commonPurchase ("30290121", items, 1000.00, 3500.00, AdBrixRm.PaymentMethod.CREDIT_CARD); }
커머스 분석
앱에서 발생하는 구매 관련(상품상세보기, 장바구니 담기 등) 이벤트를 분석합니다.
adbrix 에서 제공하는 커머스 이벤트 종류는 다음과 같습니다.
- 홈(메인) 화면 진입
- 카테고리(기획전) 진입
- 상품 상세 보기
- 장바구니 담기
- 위시리스트(관심상품) 추가
- 주문 확인하기
- 주문 취소하기
- 상품 검색하기
- 상품목록 조회하기
- 상품공유하기
- 장바구니 조회하기
- 구매정보 입력하기
홈(메인) 화면 진입
사용자가 앱의 홈(메인) 화면으로 진입한 이벤트를 분석합니다.
void sampleFunction() { AdBrixRm.commerceViewHome (); }
카테고리(기획전) 진입
사용자가 카테고리(기획전) 화면으로 진입한 이벤트를 분석합니다.
카테고리 정보는 최대 5단계까지 분석할 수 있습니다.
void sampleFunction() { //카테고리에 포함된 상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, USDName, AdBrixRmCommerceProductCategoryModel.create ("하의기획전"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //카테고리 진입 이벤트 AdBrixRm.commerceCategoryView (AdBrixRmCommerceProductCategoryModel.create("기획전"), items); }
상품 상세 보기
사용자의 상품을 상세하기 본 이벤트를 분석합니다.
다음과 같은 상품에 대한 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
void sampleFunction() { //상품 상세 옵션 Dictionary 생성 Dictionary<string, string> productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); //상품 상세보기 AdBrixRm.commerceProductView (productModel); }
장바구니 담기
사용자가 상품을 장바구니에 담은 이벤트를 분석합니다.
다음과 같은 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //장바구니 이벤트 AdBrixRm.commerceAddToCart(items); }
관심상품(위시리스트) 추가
사용자가 상품을 관심상품(위시리스트)에 추가한 이벤트를 분석합니다.
다음과 같은 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
void sampleFunction() { //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); //관심상품 이벤트 AdBrixRm.commerceAddToWishList (productModel); }
주문 확인하기
사용자가 상품을 결제하기 전 최종 확인하는 이벤트를 분석합니다.
다음과 같은 주문 및 상품 정보를 전달합니다.
- order id : (필수) 주문번호
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
- delivery charge : (옵션) 배송비
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //주문확인 이벤트 AdBrixRm.commerceReviewOrder ("30290121", items, 1000.00, 3500.00); }
주문 취소하기 (환불하기)
사용자가 주문을 취소하거나 환불처리한 이벤트를 분석합니다.
다음과 같은 상품 및 주문 정보를 전달합니다.
- order id : (필수) 주문번호
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
- penalty charge : (옵션) 취소(환불) 수수료
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //주문 취소 이벤트 AdBrixRm.commerceRefund ("30290121", items, 3500.00); }
상품 검색하기
사용자가 상품을 검색한 이벤트를 분석합니다.
다음과 같은 검색 결과에 포함된 상품 정보를 전달합니다.
- keyword : (필수) 검색에 사용한 단어
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //상품 검색 이벤트 AdBrixRm.commerceSearch(items, "나이키"); }
상품 공유하기
사용자가 상품정보를 공유한 이벤트를 분석합니다.
다음과 같은 공유된 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
void sampleFunction() { //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); //상품 공유하기 이벤트 AdBrixRm.commerceShare (AdBrixRm.SharingChannel.KAKAOTALK, productModel); }
상품 목록 조회하기
사용자가 상품목록을 조회한 이벤트를 분석합니다.
다음과 같이 조회한 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //상품 목록 조회 이벤트 AdBrixRm.commerceListView (items); }
장바구니 조회하기
사용자가 장바구니를 조회한 이벤트를 분석합니다.
다음과 같이 조회한 상품 정보를 전달합니다.
- product id : (필수) 상품번호
- product name : (필수) 상품이름
- price : (필수) 상품단가
- quantity : (필수) 구매수량
- discount : (옵션) 할인금액
- currency string : (옵션) 카테고리 정보
- category : (옵션) 구매 화폐 단위
- product attr map : (옵션) 상품 상세 옵션
void sampleFunction() { //상품을 담을 배열 List<AdBrixRm.AdBrixRmCommerceProductModel> items = new List <AdBrixRm.AdBrixRmCommerceProductModel>(); //상품 상세 옵션 Dictionary 생성 Dictionary<string, string>productAttrs = new Dictionary<string, string>(); productAttrs.Add ("Att1", "Value1"); productAttrs.Add ("Att2", "Value2"); productAttrs.Add ("Att3", "Value3"); //상품 생성 AdBrixRmCommerceProductModel productModel = AdBrixRmCommerceProductModel.create ( "productId01", "productName01", 10000.00, 1, 5000.00, AdBrixRm.AdBrixCurrencyName(AdBrixRm.Currency.KR_KRW), AdBrixRmCommerceProductCategoryModel.create ("Cate1", "Cate2", "Cate3"), AdBrixRmCommerceProductAttrModel.create (productAttrs) ); items.Add (productModel); //장바구니 조회하기 이벤트 AdBrixRm.commerceCartView (items); }
구매정보 입력하기
사용자가 구매정보를 입력한 이벤트를 분석합니다.
void sampleFunction() { //구매 정보 상세 옵션 Dictionary Dictionary<string, object> paymentAttrs = new Dictionary<string, object>(); paymentAttrs.Add ("creditcard", "oocard"); AdBrixRm.commercePaymentInfoAdded (paymentAttrs); }
게임 이벤트 분석
앱에서 발생하는 게임과 관련된 이벤트(튜토리얼, 스테이지 등)를 분석합니다.
adbrix 에서 제공하는 게임 이벤트 종류는 다음과 같습니다.
- 튜토리얼 완료
- 캐릭터 생성
- 스테이지 완료
- 레벨 달성
튜토리얼 완료
앱에서 발생한 튜토리얼 완료 이벤트를 분석합니다.
다음과 같은 튜토리얼 완료 정보를 구성하여 전달합니다.
- (필수) 건너뛰기(skip)를 통한 완료인지 여부
void sampleFunction() { AdBrixRm.gameTutorialCompleted (false); }
캐릭터 생성
앱에서 발생한 캐릭터 생성 이벤트를 분석합니다.
void sampleFunction() { AdBrixRm.gameCharacterCreated(); }
스테이지 완료
앱에서 발생한 스테이지 완료 이벤트를 분석합니다.
다음과 같은 스테이지 완료 정보를 구성하여 전달합니다.
- (필수) 완료한 스테이지 이름
void sampleFunction() { AdBrixRm.gameStageCleared("1-1"); }
레벨 달성
앱에서 발생한 레벨 달성 이벤트를 분석합니다.
다음과 같은 레벨 달성 정보를 구성하여 전달합니다.
- (필수) 달성한 레벨 (1~10000)
void sampleFunction() { AdBrixRm.gameLevelAchieved (15); }
댓글
댓글 0개
댓글을 남기려면 로그인하세요.