연동하기
이 문서는 Adbrix Unity SDK를 앱에 통합하는 방법을 다룹니다. Adbrix SDK를 설치하면 이벤트 분석 기능이 제공됩니다.
더 자세히 알아보려면 리소스 및 샘플을 참조하세요.
시작하기 전에
앱 생성
Adbrix 콘솔의 앱 설정/앱 정보 페이지에서 앱을 생성하여 SDK 초기화에 필요한 Application Key와 Secret Key를 발급받아 주십시오.

지원 정보
Android
최소 지원 SDK : Android 4.4+ / API 19+
대상 SDK : 33
iOS
iOS 12.0
Xcode 16.0
의존성
Android
SDK 설치
PackageManager를 사용하여 SDK 및 의존성 추가하기
1. Windows > Package Manager 창을 엽니다.

2. 좌측 상단의 + 아이콘을 클릭합니다.
3. Install package from git url...를 클릭합니다.

4. https://github.com/IGAWorksDev/adbrix-unity-sdk.git를 복사 붙여넣기 한 다음 우측의install를 클릭합니다.
https://github.com/IGAWorksDev/adbrix-unity-sdk.git
5. SDK 추가가 완료되었습니다.
6. 이어서 External Dependency Manager for Unity가 요구하는 가이드에 따라 External Dependency Manager for Unity 플러그인을 프로젝트에 추가합니다.
External Dependency Manager for Unity는 의존성을 추가하기 위해 사용하는 Unity Plugin입니다.
7. SDK 의존성 추가가 완료되었습니다.
Adbrix Unity Package를 사용하여 SDK 추가하기
Adbrix Unity Package는 Android와 iOS SDK를 감싸서 사용하기 용이한 C# 인터페이스를 제공합니다.
1. Release의 Assets에서 Adbrix Unity Package 다운로드 합니다.
2. 패키지를 import 하기
Unity 에디터에서 Assets > Import Package > Custom Package로 이동하여 패키지를 Unity 프로젝트로 가져옵니다. 그런 다음 "Import"를 클릭합니다.
또는 Unity 애셋 패키지 가져오기 지침을 따라 커스텀 Unity 패키지를 가져오는 방법에 대한 자세한 가이드를 확인하세요.
3. SDK 추가가 완료되었습니다. 만약 EDM4U를 사용하지 않는 경우 아래의 단계를 추가해주세요.
4. Release 페이지의 Assets에서 사용하려는 버전의 Adbrix SDK Android Archive package(.aar) 파일, iOS xcframework를 다운로드 합니다.
adbrix-android-sdk-[SDK-VERSION].aar
adbrix-unity-extension-[EXTENSION-VERSION].aar
AdbrixSDK.xcframework.zip4. Assets/Plugins/Android/ 경로에 다운로드한 Adbrix SDK Android Archive package(.aar) 파일을 추가합니다.
5. Assets/Plugins/Android/ 경로에 다음의 SDK가 필요로 하는 의존성을 추가합니다.
추가 하려는 라이브러리에 종속되는 의존성이 있을 경우 해당 파일을 모두 추가해야 합니다.
6. iOS 프로젝트를 빌드 후 Xcode에 다운받은 xcframework 의존성을 추가합니다.
Targets / Unity-iPhone / General / Frameworks, Libraries, and Embedded Content 에 AdbrixSDK.xcframework 를 추가합니다.
Targets / UnityFramework / General / Frameworks and Libraries 에 AdbrixSDK.xcframework를 추가합니다.
7. SDK 의존성 추가가 완료되었습니다.
SDK 설정하기
AndroidManifest.xml 설정하기
Adbrix를 사용하기 위해서는 Assets/Plugins/Android/ 경로에 있는 AndroidManifest.xml의 수정이 필요합니다. 다음의 필요한 사항을 확인하여 수정하여 주시기 바랍니다.
1. <manifest> 내에 다음의 권한을 추가해주세요.
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" /><!-- 구글 광고 ID를 수집해야할 경우 추가합니다. -->2. <application> 내에 다음의 com.igaworks.adbrix.unity.AdbrixUnityInitProvider를 추가해주세요.
android:authorities는 다른 패키지와 겹치지 않도록 고유한 이름을 사용해야합니다.
<provider android:authorities="${applicationId}.adbrix.unity.INIT_PROVIDER" android:name="com.igaworks.adbrix.unity.AdbrixUnityInitProvider" android:exported="false" />3. 설정이 완료되었습니다.
다음은 작성이 완료된 예시입니다.
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android" package="com.unity3d.player" xmlns:tools="http://schemas.android.com/tools">
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
<uses-permission android:name="com.google.android.gms.permission.AD_ID" />
<application>
<activity android:name="com.unity3d.player.UnityPlayerActivity" android:theme="@style/UnityThemeSelector" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
<meta-data android:name="unityplayer.UnityActivity" android:value="true" />
</activity>
<provider android:authorities="${applicationId}.adbrix.unity.INIT_PROVIDER" android:name="com.igaworks.adbrix.unity.AdbrixUnityInitProvider" android:exported="false" />
</application>
</manifest>SDK 초기화
초기화 하기
앱에서 Adbrix SDK를 초기화하려면 다음 단계를 완료하세요.
AdbrixUnitySettings.asset은 Unity 에디터 상에서 편리하게 SDK의 설정을 할 수있게 도와주며, SDK의 안정적인 초기화를 보장합니다.
1. AdbrixUnitySettings.asset 생성하기.
Unity Editor에서 Assets > Adbrix > Settings를 눌러 AdbrixUnitySettings.asset를 생성합니다.
이 파일은 프로젝트의 Assets/Adbrix/Resources에 생성됩니다.
2. Application KEY와 SECRET KEY를 입력하고 필요한 설정을 적용합니다.

3. 초기화가 완료되었습니다.
1. Adbrix를 사용할 GameObject에 스크립트를 등록합니다.
2. 스크립트에 Adbrix를 추가합니다.
using AdbrixPlugin;3. Awake() 내에 다음 코드를 작성합니다.
public void Awake() {
Dictionary<string, object> config = new Dictionary<string, object> {
{ABConfig.IOS_LOG_ENABLE, true},
{ABConfig.ANDROID_LOG_ENABLE, true},
{ABConfig.ANDROID_LOG_LEVEL, ABAndroidLogLevel.VERBOSE},
{ABConfig.ANDROID_COLLECT_GOOGLE_ADVERTISING_ID, true} //구글 광고 ID를 수집해야할 경우 true로 적용합니다.
};
Adbrix.InitWithConfig("{YOUR_APPLICATION_KEY}", "{YOUR_SECRET_KEY}", config);
}4. 초기화가 완료되었습니다.
구글 광고 ID 설정하기
Google 광고 ID를 수집하기 위해선 Config의 ANDROID_COLLECT_GOOGLE_ADVERTISING_ID를 true로 설정하여 수집 여부를 설정해야합니다. 만약 Google 광고ID를 수집하지 않아야 한다면, 구글 광고 ID 수집 여부 변경하기를 통해 수집하지 않도록 설정할 수 있습니다.
Android Settings의 Collect Google Advertising ID를 체크합니다.

Awake() 내에 다음 코드를 작성합니다.
using AdbrixPlugin;
public void Awake() {
Dictionary<string, object> config = new Dictionary<string, object> {
{ABConfig.ANDROID_COLLECT_GOOGLE_ADVERTISING_ID, true} //구글 광고 ID를 수집해야할 경우 true로 적용합니다.
};
Adbrix.InitWithConfig("{YOUR_APPLICATION_KEY}", "{YOUR_SECRET_KEY}", config);
}딥링크 오픈 분석
Adbrix Unity SDK에서는 딥링크를 분석하는 추가 코드 작업이 필요하지 않습니다. SDK에서 자동으로 처리하여 딥링크 오픈 분석이 가능합니다.
지연된 딥 링크 핸들링하기(선택사항)
SDK는 앱이 설치되지 않은 유저가 링크를 클릭 후 앱을 설치했을때 자동으로 딥 링크를 실행합니다. 직접 지연된 딥 링크를 핸들링 하려면 다음 메소드를 호출하여 자동 딥링크 실행을 막을 수 있습니다.
1. Is Block Deferred DeepLink Launch를 체크합니다.

2. 스크립트에 AdbrixDeepLinkCallback을 implement 합니다.
using AdbrixPlugin;
public class MainHandler : MonoBehaviour, AdbrixDeepLinkCallback
{
public void OnAdbrixDeepLink(AdbrixDeepLink adbrixDeepLink)
{
UnityEngine.Debug.Log("OnAdbrixDeepLink() deepLink : "+adbrixDeepLink.deepLink);
}
}3. 완료 되었습니다.
SDK가 지연된 딥링크를 전달 받을때 딥링크로 이동하지 않는 대신 void OnAdbrixDeepLink(AdbrixDeepLink adbrixDeepLink)로 이벤트를 전달합니다.
1. 스크립트에 AdbrixDeepLinkCallback을 implement 합니다.
using AdbrixPlugin;
public class MainHandler : MonoBehaviour, AdbrixDeepLinkCallback
{
public void OnAdbrixDeepLink(AdbrixDeepLink adbrixDeepLink)
{
UnityEngine.Debug.Log("OnAdbrixDeepLink() deepLink : "+adbrixDeepLink.deepLink);
}
}2. Awake()에서 다음 코드를 작성합니다.
public void Awake()
{
Adbrix.BlockDeferredDeepLinkLaunch(this);
}3. 완료 되었습니다.
SDK가 지연된 딥링크를 전달 받을때 딥링크로 이동하지 않는 대신 void OnAdbrixDeepLink(AdbrixDeepLink adbrixDeepLink)로 이벤트를 전달합니다.
AdbrixDeepLink
result: int
지연된 딥링크 처리 결과 입니다. ABDeepLinkResult 클래스로 해당 결과 값의 의미를 파악할수있습니다.
UnityEngine.Debug.Log("OnAdbrixDeepLink() result: "+ABDeepLinkResult.GetResult(adbrixDeepLink.result));결과 값 의미
0 :
PROCESSED1 :
ORGANIC2 :
TRACKING_LINK_SETTINGS_INCORRECTLY3 :
ORGANIC_NCPI_IN_PROCESS-1 :
NO_CONVERSION
deepLink : string
지연된 딥링크 값입니다.
UnityEngine.Debug.Log("OnAdbrixDeepLink() deepLink: "+ABDeepLinkResult.GetResult(adbrixDeepLink.deepLink));SDK 설정
SDK 초기화 시에 로그 활성화 등의 옵션을 설정할 수 있습니다.
로그 활성화 하기
플랫폼에 따라 Android Log Enabled 혹은 Ios Log Enabled를 체크합니다.

플랫폼에 따라 ABConfig.IOS_LOG_ENABLE 혹은 ABConfig.ANDROID_LOG_ENABLE를 사용합니다.
Dictionary<string, object> config = new Dictionary<string, object> {
{ABConfig.IOS_LOG_ENABLE, true},
{ABConfig.ANDROID_LOG_ENABLE, true},
};
Adbrix.InitWithConfig("{YOUR_APPLICATION_KEY}", "{YOUR_SECRET_KEY}", config);로그 레벨 변경하기
다음의 방법을 통해 Android의 표시 로그 레벨을 변경할 수 있습니다.
Android Log Level에서 원하는 레벨을 설정합니다.

Dictionary<string, object> config = new Dictionary<string, object> {
{ABConfig.ANDROID_LOG_LEVEL, ABAndroidLogLevel.VERBOSE},
};
Adbrix.InitWithConfig("{YOUR_APPLICATION_KEY}", "{YOUR_SECRET_KEY}", config);ABAndroidLogLevel
VERBOSE :
2DEBUG :
3INFO :
4WARN :
5WARN :
6ASSERT :
7
구글 광고 ID 수집 여부 변경하기
Collect Google Advertising Id를 체크합니다.

Dictionary<string, object> config = new Dictionary<string, object> {
{ABConfig.ANDROID_COLLECT_GOOGLE_ADVERTISING_ID, true}
};
Adbrix.InitWithConfig("{YOUR_APPLICATION_KEY}", "{YOUR_SECRET_KEY}", config);App Tracking Transparency (ATT) 지원
idfa 수집 가능 시점부터 SDK 이벤트를 수집하고 싶다면 다음 설정을 추가해주세요.
해당 설정 적용 시, 적용한 시간(초) 만큼, ATTAuthorized 메소드가 호출되기 전까지 SDK 이벤트 수집이 지연됩니다.
Tracking Authorize Tiemout 을 설정합니다.

Dictionary<string, object> config = new Dictionary<string, object> {
{"trackingAuthorizeTimeOut", 60}
};
Adbrix.InitWithConfig("{YOUR_APPLICATION_KEY}", "{YOUR_SECRET_KEY}", config);Adbrix.ATTAuthorized(bool isAuthorized) 메소드가 추적 허용 여부가 판단되는 시점에 호출되어야 합니다.
App Tracking Transparency (ATT) 구현 예시
Unity의 iOS 14 support package를 사용한 ATT 구현 예시입니다.
using Unity.Advertisement.IosSupport;
#if UNITY_IOS && UNITY_IPHONE
ATTrackingStatusBinding.RequestAuthorizationTracking(OnTrackingAuthorizationCompleted);
#else
Debug.Log("ATT는 iOS에서만 지원됩니다.");
#endif
void OnTrackingAuthorizationCompleted(int status)
{
var authStatus = (ATTrackingStatusBinding.AuthorizationTrackingStatus)status;
switch (authStatus)
{
case ATTrackingStatusBinding.AuthorizationTrackingStatus.AUTHORIZED:
Adbrix.ATTAuthorized(true);
break;
case ATTrackingStatusBinding.AuthorizationTrackingStatus.NOT_DETERMINED:
Adbrix.ATTAuthorized(false);
break;
case ATTrackingStatusBinding.AuthorizationTrackingStatus.DENIED:
Adbrix.ATTAuthorized(false);
break;
case ATTrackingStatusBinding.AuthorizationTrackingStatus.RESTRICTED:
Adbrix.ATTAuthorized(false);
break;
}
}완료
SDK 설치 및 초기화가 완료되었습니다.
Last updated