Integration Guide For Flutter Android - adbcsdk/QTracker GitHub Wiki

build.gradle μ„€μ •

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

(Project script)

allprojects {
    repositories {
        ...
        maven {
            url 'https://nexus.adbc.io/repository/QTracker/'
        }
    }
}

(Module script)

android{
    defaultConfig {
        // μ΅œμ†Œ sdk 버전 21 이상 μ§€μ›ν•©λ‹ˆλ‹€.
        minSdkVersion 21
    }
}

dependencies {
    ...
    // adid μ‚¬μš©μ„ μœ„ν•΄ ν•„μš”
    implementation 'com.google.android.gms:play-services-ads-identifier:17.0.0'

    implementation 'com.android.installreferrer:installreferrer:1.1.1'
    implementation 'com.adbc.tracker:qtracker:1.9@aar'
}

ν”„λ‘œμ νŠΈμ— Package,Module 파일 μΆ”κ°€

QTrackerForFlutter.zip

  1. μ•„λž˜μ˜ κ²½λ‘œμ— QTrackerPlugin.java νŒŒμΌμ„ λ³΅μ‚¬ν•©λ‹ˆλ‹€.

android/app/src/main/java/com/adbc/qtracker

  1. MainActivity.java νŒŒμΌμ„ μ—΄μ–΄ QTrackerPlugin 을 import ν•˜κ³ , configureFlutterEngine λ©”μ„œλ“œμ— QTrackerPlugin 클래슀λ₯Ό μΆ”κ°€ν•΄μ€λ‹ˆλ‹€.
import com.adbc.qtracker.QTrackerPlugin;
...
@Override
public void configureFlutterEngine(@NonNull FlutterEngine flutterEngine) {
...
super.configureFlutterEngine(flutterEngine);
flutterEngine.getPlugins().add(new QTrackerPlugin());
GeneratedPluginRegistrant.registerWith(flutterEngine);
...

}
  1. qtracker.dart νŒŒμΌμ„ ν”„λ‘œμ νŠΈλ‘œ λ³΅μ‚¬ν•œ ν›„ μ‚¬μš©ν•˜κ³ μž ν•˜λŠ” 화면에 import ν•©λ‹ˆλ‹€.
import 'package:flutter_app/qtracker.dart';

Proguard μ„€μ •

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

AndroidManifest.xml μ„€μ •

μ•ˆλ“œλ‘œμ΄λ“œ 12버전 μ΄μƒμ—μ„œ ADID μˆ˜μ§‘μ„ μœ„ν•˜μ—¬ μ•„λž˜μ˜ νΌλ―Έμ…˜μ„ μΆ”κ°€ν•΄μ£Όμ„Έμš” (ν•„μˆ˜)

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

Tracker μ‚¬μš©λ²•

Tracker μ΄ˆκΈ°ν™”

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

QTracker tracker = QTracker();
tracker.init();

μ•± μ‹€ν–‰ 및 λ¦¬ν…μ…˜

μ•± μ‹€ν–‰ μ‹œ μ•„λž˜μ˜ μ½”λ“œλ₯Ό 1회 ν˜ΈμΆœν•˜μ—¬ μ•±μ˜ μ‹€ν–‰ 및 λ¦¬ν…μ…˜μ„ νŠΈλž˜ν‚Ήν•©λ‹ˆλ‹€.

tracker.sendOpen();

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

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

tracker.sendEvent("μž„μ˜μ˜ 이벀트λͺ…");
⚠️ **GitHub.com Fallback** ⚠️