연동하기

이 문서는 DFINERY SDK를 Android에 통합하는 방법을 다룹니다. DFINERY SDK를 설치하면 이벤트 분석 기능과 유저 프로필 기능 그리고 액션 기능이 제공됩니다.

시작하기 전에

서비스 설정

DFINERY 콘솔의 서비스 관리/서비스 정보 페이지에서 데이터 소스 항목에 Android를 체크하셔야 합니다.

서비스 정보

지원 정보

  • 최소 지원 SDK : Android 4.4+ / API 19+

  • 컴파일 SDK : 34

의존성

SDK 설치

의존성 추가하기

앱에서 DFINERY SDK의 의존성을 적용하려면 다음 단계를 완료하세요.

1. maven 의존성을 가져오기 위해 repositories 내에 mavenCentral을 추가합니다.

allprojects {
    repositories {
        mavenCentral()
    }
}

2. 앱의 모듈 디렉터리 내에 있는 build.gradle 파일을 엽니다.

3. dependencies에 최신 버전의 DFINERY SDK와 필요한 요소에 대해 SDK 종속 항목을 추가합니다.

DFINERY는 AppSetId를 수집하기 위해 play-services-appset 의존성을 필요로 합니다.

 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 파일을 엽니다.

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를 설정합니다.

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입니다.

DfineryConfig config = new DfineryConfig.Builder()
    .setLogEnable(true)
    .build();
Dfinery.getInstance().init(this, "{YOUR_SERVICE_ID}", config);

로그 레벨 변경하기

로그 레벨은 Dfinery의 설정을 적용하는 DfineryConfig를 사용하여 설정 가능합니다. DfineryConfig는 init() 메소드 호출 시에 파라미터로 넣어 적용하거나 res/values/dfinery.xml을 사용하여 설정 할 수 있습니다.

로그 레벨 값은 android.util.Log의 상수 값의 정의를 따릅니다.

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