연동하기
이 문서는 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()
내에 다음 코드를 작성합니다.
useEffect()
내에 다음 코드를 작성합니다.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를 설정합니다.
setGoogleAdvertisingId()
메소드를 통해 광고 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 플랫폼의 로그 레벨 설정을 변경할 수 있습니다.
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