연동하기

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

시작하기 전에

서비스 설정

DFINERY 콘솔의 서비스 관리/서비스 정보 페이지에서 데이터 소스 항목에 사용하시려는 플랫폼을 체크하셔야 합니다.

서비스 정보

지원 정보

Android

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

  • Compile SDK : 34

iOS

  • iOS 12.0

  • Xcode 16.0

의존성

Android

SDK 설치

터미널에서 Dfinery 패키지를 추가합니다.

다음의 명령어를 입력하여 프로젝트에 Adbrix React Native SDK 패키지를 추가하세요.

npm install @igaworks/dfinery-react-native-sdk

SDK 설정하기

1. 권한 추가

AndroidManifest.xml에 필요한 권한을 등록해주세요.

<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

2. Intent 갱신 설정

MainActivity의 onNewIntent() 메소드에 setIntent()를 추가해주세요.

@Override
public void onNewIntent(Intent intent) {
    super.onNewIntent(intent);
    setIntent(intent);
}

3. 설정 완료.

다음은 작성이 완료된 AndroidManifest.xml 예시입니다.

<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.dfineryreactnativesdkexample">

    <uses-permission android:name="android.permission.INTERNET" />
    <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />

    <application
      android:name=".MainApplication"
      android:label="@string/app_name"
      android:icon="@mipmap/ic_launcher"
      android:roundIcon="@mipmap/ic_launcher_round"
      android:allowBackup="false"
      android:theme="@style/AppTheme">
      <activity
        android:name=".MainActivity"
        android:label="@string/app_name"
        android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|screenSize|smallestScreenSize|uiMode"
        android:launchMode="singleTask"
        android:windowSoftInputMode="adjustResize"
        android:exported="true">
        <intent-filter>
            <action android:name="android.intent.action.MAIN" />
            <category android:name="android.intent.category.LAUNCHER" />
        </intent-filter>
      </activity>
    </application>
</manifest>

SDK 초기화

초기화 하기

앱에서 Dfinery SDK를 초기화하려면 다음 단계를 완료하세요.

1. 스크립트에 Dfinery를 추가합니다.

import Dfinery from '@igaworks/dfinery-react-native-sdk';

2. useEffect() 내에 다음 코드를 작성합니다.

Service ID는 DFINERY Console서비스 관리/서비스 정보/Key 정보/서비스키 경로에서 확인이 가능합니다.

import React, { useEffect } from "react";
import Dfinery from '@igaworks/dfinery-react-native-sdk';

const App = () => {
  useEffect(() => {
    const config = {
      [DFConfig.IOS_LOG_ENABLE]: true,
      [DFConfig.ANDROID_LOG_ENABLE]: true,
      [DFConfig.ANDROID_LOG_LEVEL]: DFAndroidLogLevel.VERBOSE
    };
    Dfinery.initWithConfig("{YOUR_SERVICE_ID}", config);
  }, []);

  return (
    <div>
      ...
    </div>
  )
}

3. 초기화가 완료되었습니다.

구글 광고 ID 설정하기(선택사항)

Google 광고 ID를 수집하기 위해선 setGoogleAdvertisingId() 메소드를 통해 수동으로 설정해야합니다.

1. AndroidManifest.xml에 필요한 권한을 추가합니다.

<uses-permission android:name="com.google.android.gms.permission.AD_ID" />

2. setGoogleAdvertisingId() 메소드를 통해 광고 ID를 설정합니다.

Dfinery.getGoogleAdvertisingId()Play Services Ads Identifier API를 사용하여 광고 ID를 가져옵니다. 다른 방법으로 광고 ID를 가져와 설정하셔도 무관합니다.

Dfinery.getGoogleAdvertisingId().then((value)=>{
  if(value != null){
    Dfinery.setGoogleAdvertisingId(value.googleAdvertisingId, value.isLimitAdTrackingEnabled);
  }
});

SDK 설정

SDK 초기화 시에 로그 활성화 등의 옵션을 설정할 수 있습니다.

로그 활성화 하기

플랫폼에 따라 DFConfig.IOS_LOG_ENABLE 혹은 DFConfig.ANDROID_LOG_ENABLE를 사용합니다.

const config = {
  [DFConfig.IOS_LOG_ENABLE]: true,
  [DFConfig.ANDROID_LOG_ENABLE]: true,
};
Dfinery.initWithConfig("{YOUR_SERVICE_ID}", config);

로그 레벨 변경하기

DFConfig.ANDROID_LOG_LEVEL를 사용하여 Android 플랫폼의 로그 레벨 설정을 변경할 수 있습니다.

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

const config = {
  [DFConfig.ANDROID_LOG_LEVEL]: DFAndroidLogLevel.VERBOSE
};
Dfinery.initWithConfig("{YOUR_SERVICE_ID}", config);

푸시 알림 아이콘 설정하기

DFConfig.ANDROID_NOTIFICATION_ICON_NAME를 사용하여 Android 플랫폼의 푸시 알림 아이콘을 설정 할수있습니다.

Android 프로젝트 내 이미지 Drawable Asset의 이름을 입력해주시기 바랍니다.

const config = {
  [DFConfig.ANDROID_NOTIFICATION_ICON_NAME]: 'ic_dfinery',
};
Dfinery.initWithConfig("{YOUR_SERVICE_ID}", config);

푸시 알림 기본 채널 설정하기

DFConfig.ANDROID_NOTIFICATION_CHANNEL_ID를 사용하여 Android 플랫폼에서 사용할 기본 푸시 알림 채널을 설정할수있습니다.

Android 푸시 알림 채널의 id를 입력해주시기 바랍니다.

const config = {
  [DFConfig.ANDROID_NOTIFICATION_CHANNEL_ID]: 'dfinery',
};
Dfinery.initWithConfig("{YOUR_SERVICE_ID}", config);

푸시 알림 강조 색 설정하기

DFConfig.ANDROID_NOTIFICATION_ACCENT_COLOR를 사용하여 Android 플랫폼에서 사용할 푸시 알림 강조색을 지정할수있습니다.

사용할 색상의 color hex code 값을 입력해주시기 바랍니다.

const config = {
  [DFConfig.ANDROID_NOTIFICATION_ACCENT_COLOR]: '#e00052'
};
Dfinery.initWithConfig("{YOUR_SERVICE_ID}", config);

완료

SDK 설치 및 초기화가 완료되었습니다.

Last updated