QTracker V2 Integration Guide - adbcsdk/QTracker GitHub Wiki

QTracker v2 변경사항

  • μ•± 등둝 방법이 λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • 어뷰징에 λŒ€ν•œ λ°©μ–΄κΈ°λŠ₯이 κ°•ν™”λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • open μ΄λ²€νŠΈκ°€ μžλ™μœΌλ‘œ λ“±λ‘λ˜λ„λ‘ λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • μ‚¬μš©ν•˜λŠ” μ™ΈλΆ€ λΌμ΄λΈŒλŸ¬λ¦¬κ°€ λ³€κ²½λ˜μ—ˆμŠ΅λ‹ˆλ‹€.
  • init ν•¨μˆ˜μ—μ„œ SDK 연동 μ—¬λΆ€λ₯Ό μ κ²€ν•˜λŠ” listener κ°€ μΆ”κ°€λ˜μ—ˆμŠ΅λ‹ˆλ‹€. ( optional )

    ( QTracker 1.x 버전과 'ADBCTrackerAppKey'κ°€ ν˜Έν™˜λ˜μ§€ μ•ŠμŠ΅λ‹ˆλ‹€.
    1.x 버전을 μ‚¬μš©μ€‘μΈ λ§€μ²΄μ—μ„œλŠ” ADBC ν™ˆνŽ˜μ΄μ§€λ₯Ό 톡해 μƒˆλ‘œ 앱을 등둝해주셔야 ν•˜λ©°, 등둝 μ‹œ μ•±ν‚€κ°€ λ³€κ²½λ©λ‹ˆλ‹€. )

App Key λ°œκΈ‰

ADBC ν™ˆνŽ˜μ΄μ§€ μ—μ„œ App Key λ₯Ό λ°œκΈ‰λ°›μ„ 수 μžˆμŠ΅λ‹ˆλ‹€.

  1. ADBC ν™ˆνŽ˜μ΄μ§€ 둜그인 ν›„ μ•± 등둝
  1. 앱이름, νŒ¨ν‚€μ§€λͺ… 및 μ•± μ„œλͺ… ν‚€ μ§€λ¬Έ 등둝
    μ•± μ„œλͺ… ν‚€ 지문에 λŒ€ν•΄μ„œλŠ” μ•„λž˜ ν•­λͺ©μ„ ν™•μΈν•΄μ£Όμ„Έμš”.
    ( 디버그 킀와 κ³Ό 배포 ν‚€κ°€ λ‹€λ₯Ό 수 μžˆμœΌλ―€λ‘œ μ‚¬μš©ν•˜μ‹œλŠ” 킀에 λŒ€ν•œ 지문을 λͺ¨λ‘ λ“±λ‘ν•΄μ£Όμ„Έμš” )

μ•± μ„œλͺ… ν‚€ μ§€λ¬Έ 등둝

2.0 λ²„μ „λΆ€ν„°λŠ” μ•±μ˜ μœ νš¨μ„± 검증을 μœ„ν•΄ μ•± μ„œλͺ… ν‚€ SHA-256 μΈμ¦μ„œ μ§€λ¬Έ 등둝이 ν•„μš”ν•©λ‹ˆλ‹€.
λ‚΄λΆ€ μœ νš¨μ„± 검증을 μœ„ν•΄ λ°˜λ“œμ‹œ 'SHA-256' μ§€λ¬ΈμœΌλ‘œ 등둝해주셔야 ν•©λ‹ˆλ‹€.

1. ꡬ글 ν”Œλ ˆμ΄μ— μ•± μ„œλͺ… ν‚€κ°€ λ“±λ‘λœ 경우

ν”Œλ ˆμ΄μ½˜μ†” > μ•± 선택 > μ•± 무결성 > μ•± μ„œλͺ… ν•­λͺ©μœΌλ‘œ μ΄λ™ν•˜μ‹œλ©΄ μΈμ¦μ„œ 지문을 ν™•μΈν•˜μ‹€ 수 μžˆμŠ΅λ‹ˆλ‹€.

2. μ•± μ„œλͺ… ν‚€κ°€ λ“±λ‘λ˜μ§€ μ•Šμ€ 경우

  • debug.keystore
    keytool -v -list -alias androiddebugkey -keystore debug.keystore -storepass android -keypass android

  • release keystore
    keytool -v -list -alias {release key alias} -keystore {release key path / key}
    λͺ…λ Ήμ–΄λ₯Ό μž…λ ₯ν•˜λ©΄ μ•„λž˜μ™€ 같이 νŒ¨μŠ€μ›Œλ“œλ₯Ό μž…λ ₯ν•˜λŠ” ν”„λ‘¬ν”„νŠΈκ°€ 좜λ ₯λ©λ‹ˆλ‹€.
    Enter keystore password :

build.gradle μ„€μ •

build.gradle νŒŒμΌμ— μ•„λž˜μ˜ λ‚΄μš©μ„ μΆ”κ°€ν•©λ‹ˆλ‹€.

(Project script)

allprojects {
    repositories {
        ...
        maven {
            url "https://nexus.adbc.io/repository/QTracker/"
            // https λ³΄μ•ˆκ΄€λ ¨ μ—λŸ¬κ°€ λ°œμƒν•˜λ©΄ μ•„λž˜μ˜ μ½”λ“œλ₯Ό μΆ”κ°€ν•΄μ£Όμ„Έμš”
            // allowInsecureProtocol true
        }
    }
}

(Module script)

dependencies {
    ...
    implementation 'org.jetbrains.kotlin:kotlin-stdlib-jdk7:1.6.0'
    implementation "org.jetbrains.kotlinx:kotlinx-coroutines-core:1.6.1"
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'
    implementation 'com.android.installreferrer:installreferrer:2.2'

    implementation 'com.adbc.tracker:qtracker:2.2@aar'
}

Proguard μ„€μ •

-dontwarn com.adbc.tracker.** 
-keep class com.adbc.tracker.** { *; }

AndroidManifest.xml μ„€μ •

μ•ˆλ“œλ‘œμ΄λ“œ 12버전 μ΄μƒμ—μ„œ ADID μˆ˜μ§‘μ„ μœ„ν•˜μ—¬ "com.google.android.gms.permission.AD_ID" νΌλ―Έμ…˜μ„ μΆ”κ°€ν•΄μ£Όμ„Έμš”

<uses-permission android:name="com.google.android.gms.permission.AD_ID"/>
<application>
    ...
    <meta-data
    android:name="ADBCTrackerAppKey"
    android:value="λ°œκΈ‰λ°›μ€ μ½”λ“œ" />
    ...
</application>

Tracker μ‚¬μš©λ²•

Tracker μ΄ˆκΈ°ν™”

μ•± μ‹€ν–‰ μ‹œ μ•„λž˜μ˜ μ½”λ“œλ₯Ό 1회 ν˜ΈμΆœν•˜μ—¬ SDK λ₯Ό μ΄ˆκΈ°ν™”ν•©λ‹ˆλ‹€.

@ Params
- Context context
- ADBCTracker.InitListener listener (SDK 연동여뢀 검사 κ²°κ³Ό μˆ˜μ‹  listener)
  onResult(boolean result, String msg) μ—°λ™μ—¬λΆ€, μ—°λ™μ˜€λ₯˜ μ‹œ λ©”μ‹œμ§€
ADBCTracker.init(context);
//optional
ADBCTracker.init(context, listener);

ꡬ맀 이벀트

ꡬ맀 μ™„λ£Œ μ‹œμ μ— μ•„λž˜μ˜ μ½”λ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ 이벀트λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€.

@ Params
- Context context
- int amount (μˆ˜λŸ‰)
- int price (κΈˆμ•‘)
- String productId (μƒν’ˆμ½”λ“œ)
ADBCTracker.sendPurchase(context, 1, 1000, "item001");

μ»€μŠ€ν…€ 이벀트

νŠΈλž˜ν‚Ή ν•˜κ³ μž ν•˜λŠ” μ‹œμ μ— μ•„λž˜μ˜ μ½”λ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ 이벀트λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€.

@ Params
- Context context
- String eventName (μž„μ˜μ˜ 이벀트λͺ…)
ADBCTracker.sendEvent(context, "event");

μ „ν™˜ 이벀트

ννŠΈλž˜μ»€λŠ” 기본적으둜 κ΄‘κ³ μ°Έμ—¬λ₯Ό ν†΅ν•œ μ•± μ„€μΉ˜λ₯Ό μ „ν™˜μœΌλ‘œ μ²΄ν¬ν•˜κ³  μžˆμŠ΅λ‹ˆλ‹€.
μ„€μΉ˜κ°€ μ•„λ‹Œ λ³„λ„μ˜ 이벀트λ₯Ό μ „ν™˜μœΌλ‘œ μ²΄ν¬ν•˜κ³ μž ν•˜μ‹œλŠ” 경우 μ•„λž˜μ˜ μ½”λ“œλ₯Ό ν˜ΈμΆœν•˜μ—¬ 이벀트λ₯Ό κΈ°λ‘ν•©λ‹ˆλ‹€.
(μ „ν™˜μœΌλ‘œ μ²΄ν¬ν•˜μ‹€ 이벀트λͺ…을 미리 κ³΅μœ ν•΄μ£Όμ…”μ•Ό ν•©λ‹ˆλ‹€.)

@ Params
- Context context
- String eventName (μž„μ˜μ˜ 이벀트λͺ…)
- String uid (μ „ν™˜ 검증을 μœ„ν•œ uid)
ADBCTracker.sendConversion(context, "event", "uid");
⚠️ **GitHub.com Fallback** ⚠️