Mobtune SDK 를 이용하여 통해 고객 흐름 파악 및 이용자 분석, 측정 데이터 제공 합니다.
version | Description |
---|---|
0.9.12 | backup data 예외처리 |
0.9.8 | 결제 이벤트 추가,android ID 수집 추가 |
0.8.9 | deeplink 이벤트 추가 |
0.8.0 | 최초 라이브러리 버전 |
- 최소 SDK Version : Android 14
- Compile SDK : Android 28 이상
- Build Tool : Android Studio
- androidX 권장
- project build.gradle 에 mavenCentral() 을 추가합니다.
allprojects {
repositories {
google()
jcenter()
mavenCentral() //add
}
}
- app build.gradle 에 MobtuneSDK, Installreferrer 라이브러리를 추가합니다.
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
implementation 'com.android.installreferrer:installreferrer:2.2' // add library
implementation 'io.github.mobon:MobtuneSDK:0.9.16' // add library
}
** Android 버전에 따른 추가설정
- targetSdkVersion 28 부터 네트워크 통신 시 암호화 되지 않은 HTTP통신이 차단되도록 기본설정이 변경되었습니다. SDK 내 모든 미디에이션 광고가 정상동작하기 위해서는 HTTP 통신을 허용해주셔야 하며, 방법은 아래와 같습니다.
AndroidManifest.xml 파일에서 application 항목의 속성값으로 usesCleartextTraffic을 true로 설정해야 합니다. (Android 9 부터 해당값이 default로 false 설정되어 HTTP 통신이 제한됩니다.)
<manifest ...>
<application
...
android:usesCleartextTraffic="true"
...>
</application>
</manifest>
- targetSdkVersion 31(Android 12)로 업데이트하는 앱은 다음과 같이 AndroidManifest.xml 에서 광고아이디를 얻기 위한 별도의 권한을 선언해야 합니다.
<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
- Application 에 sdk 초기화와 ActivityLifecycleCallback을 등록합니다.
public class MyApplication extends Application {
@Override public void onCreate() {
super.onCreate();
MobtuneSDK.init(this,"YOUR_APP_KEY"); // 등록한 app key를 넣어주세요.
if (Build.VERSION.SDK_INT >= 14) {
registerActivityLifecycleCallbacks(new MobtuneLifecycleCallbacks(this));
}
}
}
- Hybrid 앱의 경우 생성한 WebView 객체를 SDK 에 넘겨주셔야 더욱 정확한 사용자 추적을 할 수 있습니다.
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
webview = findViewById(R.id.webview);
MobtuneSDK.setWebView(webview); // add code
- 결제 이벤트
- 사용자의 결제 이벤트를 추적합니다.
- 아래 코드는 필수값들이니 빠짐없이 채워주시기 바랍니다.
ProductItem productItem1 = new ProductItem()
.setProductId("test_product_1") // 상품 아이디
.setProductName("뽑기 셋트") //상품명
.setPrice("1000000") //상품 가격
.setQuantity("5"); //상품 개수
ProductItem productItem2 = new ProductItem()
.setProductId("test_product_2")
.setProductName("구슬치기")
.setPrice("55000")
.setQuantity("1");
ProductInfo product = new ProductInfo()
.setPaymentMethod(MobtuneParameter.PaymentType.CREDITCARD) //결제방법
.setTotalPrice("5550000") // 총 합계금액
.setProductItems(productItem1,productItem2) // 생성한 상품 데이터를(ProductItem) 넣어주세요.
.setOrderId("test_orderId") //order ID
.build();
MobtuneSDK.setEvent(MobtuneEvent.ORDER, new EventParam().setAttribute(MobtuneParameter.PRODUCTS, product));
- 결제 취소 이벤트
- 사용자의 결제 취소 이벤트를 추적합니다.
- 아래 코드는 필수값들이니 빠짐없이 채워주시기 바랍니다.
ProductItem productItem1 = new ProductItem()
.setProductId("test_product_1") // 상품 아이디
.setProductName("뽑기 셋트") //상품명
.setPrice("1000000") //상품 가격
.setQuantity("5"); //상품 개수
ProductInfo product = new ProductInfo()
.setPaymentMethod(MobtuneParameter.PaymentType.CREDITCARD) //결제방법
.setTotalPrice("5550000") // 총 합계금액
.setProductItems(productItem1) // 생성한 상품 데이터를(ProductItem) 넣어주세요.
.setOrderId("test_orderId") //order ID
.build();
MobtuneSDK.setEvent(MobtuneEvent.ORDER_CANCLE, new EventParam().setAttribute(MobtuneParameter.PRODUCTS, product));
- 장바구니 담기 이벤트
- 사용자의 장바구니 이벤트를 추적합니다.
- 아래 코드는 필수값들이니 빠짐없이 채워주시기 바랍니다.
ProductItem productItem1 = new ProductItem()
.setProductId("test_product_1") // 상품 아이디
.setProductName("뽑기 셋트") //상품명
.setPrice("1000000") //상품 가격
.setQuantity("5") //상품 개수
.setOption("option"); //상품 옵션 [필수 아님]
CartInfo cart = new CartInfo()
.setProductItems(productItem1) // 생성한 상품 데이터를(ProductItem) 넣어주세요.
.setCartId("test_cartId") // 장바구니 ID
.build();
MobtuneSDK.setEvent(MobtuneEvent.ADD_CART, new EventParam().setAttribute(MobtuneParameter.PRODUCTS, cart));
- 회원가입 이벤트
- 사용자의 회원가입 이벤트를 추적합니다.
SignUpInfo siginUpInfo = new SignUpInfo()
.setUserId("user_id") // 유저 ID
.setName("홍길동") // 유저 이름
.setNickName("의적") // 유저 닉네임
.setGender("M") // 유저 성별 (M[남],W[여])
.setBirthDay("20001010") // 유저 생년월일(8자리)
.setPhoneNumber("01044556677") // 핸드폰번호
.setEmail("test@test.com") // 유저 이메일
.setAddress("서울시 여의도구 여의도동 123-12") // 유저 주소
.setMarryYn("N") // 결혼여부(Y,N)
.build();
MobtuneSDK.setEvent(MobtuneEvent.SIGN_UP, new EventParam().setAttribute(MobtuneParameter.PRODUCTS, siginUpInfo));
- 회원수정 이벤트
- 사용자의 회원수정 이벤트를 추적합니다.
SignUpInfo siginUpInfo = new SignUpInfo()
.setUserId("user_id") // 유저 ID
.setName("홍길동") // 유저 이름
.setNickName("의적") // 유저 닉네임
.setGender("M") // 유저 성별 (M[남],W[여])
.setBirthDay("20001010") // 유저 생년월일(8자리)
.setPhoneNumber("01044556677") // 핸드폰번호
.setEmail("test@test.com") // 유저 이메일
.setAddress("서울시 여의도구 여의도동 123-12") // 유저 주소
.setMarryYn("N") // 결혼여부(Y,N)
.build();
MobtuneSDK.setEvent(MobtuneEvent.USER_MODIFY, new EventParam().setAttribute(MobtuneParameter.PRODUCTS, siginUpInfo));
- 회원탈퇴 이벤트
- 사용자의 회원탈퇴 이벤트를 추적합니다.
UserInfo userInfo = new UserInfo()
.setUserId("user_id") // 유저 ID
.build();
MobtuneSDK.setEvent(MobtuneEvent.SIGN_OUT, new EventParam().setAttribute(MobtuneParameter.PRODUCTS, userInfo));
- 본상품 이벤트
- 상품을 사용자가 확인한 경우 발생하는 이벤트를 추적합니다.
ViewedProduct viewedProduct = new ViewedProduct()
.setProductCode(productCode.getText().toString()) // 상품 코드
.setProductName(productName3.getText().toString()) // 상품 이름
.setPrice(price.getText().toString()) // 상품 가격
.setProductUrl(productUrl.getText().toString()) // 상품 상세 URL
.setImageUrl(imageUrl.getText().toString()) // 상품 대표 이미지 URL
.setDcPrice(dcPrice.getText().toString()) // 상품의 할인된 가격
.setSoldOut(soldOut.getText().toString()) // 상품 품절 여부(Y/N)
.setReferrer(referrer.getText().toString()) // 기타 Referrer
.build();
EventParam modifyParam = new EventParam().setAttribute(MobtuneParameter.PRODUCTS, viewedProduct);
MobtuneSDK.setEvent(MobtuneEvent.VIEWEDPRODUCT, modifyParam);
- 화면 수집 제외
- 수집하지 않을 activity 를 설정하시면 수집에서 제외처리합니다.
MobtuneSDK.setIgnoreActivity("MainActivity");
MobtuneSDK.setIgnoreActivity("com.sample.MainActivity"); // 같은 이름의 activity 가 있을 경우 패키지명까지 명시...
- android Id 전송 관련
- 구글 개인정보 수집 방침에 따라 앱에서 사용자에게 개인정보 수집 동의를 받은 후 아래의 함수를 실행해주시기 바랍니다.
MobtuneSDK.sendAndroidId();