연동하기
이 문서는 DFINERY SDK를 Android에 통합하는 방법을 다룹니다. DFINERY SDK를 설치하면 이벤트 분석 기능과 유저 프로필 기능 그리고 액션 기능이 제공됩니다.
시작하기 전에
서비스 설정
DFINERY 콘솔의 서비스 관리/서비스 정보 페이지에서 데이터 소스 항목에 Android를 체크하셔야 합니다.
지원 정보
최소 지원 SDK : Android 4.4+ / API 19+
컴파일 SDK : 34
의존성
SDK 설치
의존성 추가하기
앱에서 DFINERY SDK의 의존성을 적용하려면 다음 단계를 완료하세요.
1. maven 의존성을 가져오기 위해 repositories 내에 mavenCentral
을 추가합니다.
mavenCentral
을 추가합니다.allprojects {
repositories {
mavenCentral()
}
}
2. 앱의 모듈 디렉터리 내에 있는 build.gradle
파일을 엽니다.
build.gradle
파일을 엽니다.3. dependencies에 최신 버전의 DFINERY SDK와 필요한 요소에 대해 SDK 종속 항목을 추가합니다.
dependencies {
implementation 'com.google.android.gms:play-services-appset:16.0.2'
//Get the latest version from https://mvnrepository.com/artifact/com.igaworks.dfinery/android-sdk
implementation 'com.igaworks.dfinery:android-sdk:HERE_LATEST_VERSION'
}
SDK 초기화
초기화 하기
앱에서 DFINERY SDK를 초기화하려면 다음 단계를 완료하세요.
1. Application을 상속한 객체를 생성합니다. 상속한 객체가 이미 있을 경우 해당 객체를 사용합니다.
public class BaseApplication extends Application
2. Application을 상속한 객체에서 onCreate() 메소드를 Override 합니다.
@Override
public void onCreate() {
super.onCreate();
}
3. onCreate() 메소드 내에 다음 코드를 작성합니다.
Service ID는 DFINERY Console의
서비스 관리/서비스 정보/Key 정보/서비스키
경로에서 확인이 가능합니다.
Dfinery.getInstance().init(this, "{YOUR_SERVICE_ID}");
다음 코드 스니펫은 초기화 작성 완료 시의 예를 보여줍니다.
public class BaseApplication extends Application{
@Override
public void onCreate() {
super.onCreate();
Dfinery.getInstance().init(this, "{YOUR_SERVICE_ID}");
}
}
4. AndroidManifest.xml에 작성한 Application을 등록합니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android">
<application
android:name=".BaseApplication">
</application>
</manifest>
5. AndroidManifest.xml에 필요한 권한을 추가합니다.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
구글 광고 ID 설정하기(선택사항)
Google 광고 ID를 수집하기 위해선 setGoogleAdvertisingId()
메소드를 통해 수동으로 설정해야합니다.
1. 앱의 모듈 디렉터리 내에 있는 build.gradle
파일을 엽니다.
build.gradle
파일을 엽니다.2. dependencies에 광고 ID를 수집하기 위해 필요한 종속 항목을 추가합니다.
dependencies {
implementation 'com.google.android.gms:play-services-ads-identifier:18.0.1'
}
3. AndroidManifest.xml에 필요한 권한을 추가합니다.
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
4. setGoogleAdvertisingId()
메소드를 통해 광고 ID를 설정합니다.
setGoogleAdvertisingId()
메소드를 통해 광고 ID를 설정합니다.광고 ID 수집 로직은 별도의 스레드에서 동작해야 합니다. 아래 코드 스니펫은 Thread를 생성하여 동작했지만, 필요에 따라 다른 방법(AsyncTask, 코루틴 등)을 사용하여도 됩니다.
new Thread(new Runnable() {
@Override
public void run() {
try {
AdvertisingIdClient.Info idInfo = AdvertisingIdClient.getAdvertisingIdInfo(getApplicationContext());
DfineryProperties.setGoogleAdvertisingId(idInfo.getId(), idInfo.isLimitAdTrackingEnabled());
} catch (Exception e) {
e.printStackTrace();
}
}
}).start();
SDK 설정
SDK 초기화 시에 로그 활성화 등의 옵션을 설정할 수 있습니다.
로그 활성화 하기
로그 활성화는 DFINERY의 설정을 적용하는 DfineryConfig를 사용하여 설정 가능합니다. DfineryConfig는 init()
메소드 호출 시에 파라미터로 넣어 적용하거나 res/values/dfinery.xml
을 사용하여 설정 할 수 있습니다.
setLogEnable(boolean enable)
첫 번째 인자인
enable
은 로그를 표시할지 말지 설정하는 값입니다. 기본값은false
입니다.
BuildConfig.DEBUG
값을 넣어 디버그 모드일때만 로그가 출력 되고 배포시에는 출력되지 않게끔 설정할 수 있습니다.
DfineryConfig config = new DfineryConfig.Builder()
.setLogEnable(true)
.build();
Dfinery.getInstance().init(this, "{YOUR_SERVICE_ID}", config);
로그 레벨 변경하기
로그 레벨은 Dfinery의 설정을 적용하는 DfineryConfig를 사용하여 설정 가능합니다. DfineryConfig는 init()
메소드 호출 시에 파라미터로 넣어 적용하거나 res/values/dfinery.xml
을 사용하여 설정 할 수 있습니다.
setLogLevel(int logLevel)
첫번째 인자인
logLevel
은 로그 표시 레벨을 설정하는 값입니다. 기본값은Log.ERROR(6)
입니다.
DfineryConfig config = new DfineryConfig.Builder()
.setLogLevel(Log.DEBUG)
.build();
Dfinery.getInstance().init(this, "{YOUR_SERVICE_ID}", config);
완료
SDK 설치 및 초기화가 완료되었습니다.
Last updated