연동하기

이 문서는 Adbrix Unity SDK를 앱에 통합하는 방법을 다룹니다. Adbrix SDK를 설치하면 이벤트 분석 기능이 제공됩니다.

시작하기 전에

앱 생성

Adbrix 콘솔앱 설정/앱 정보 페이지에서 앱을 생성하여 SDK 초기화에 필요한 Application KeySecret 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 창을 엽니다.

Package Manager 클릭하기

2. 좌측 상단의 + 아이콘을 클릭합니다.

3. Install package from git url...를 클릭합니다.

Install package from git url 클릭하기

4. https://github.com/IGAWorksDev/adbrix-unity-sdk.git를 복사 붙여넣기 한 다음 우측의install를 클릭합니다.

https://github.com/IGAWorksDev/adbrix-unity-sdk.git
URL 입력

5. SDK 추가가 완료되었습니다.

6. 이어서 External Dependency Manager for Unity가 요구하는 가이드에 따라 External Dependency Manager for Unity 플러그인을 프로젝트에 추가합니다.

External Dependency Manager for Unity는 의존성을 추가하기 위해 사용하는 Unity Plugin입니다.

7. SDK 의존성 추가가 완료되었습니다.

SDK 설정하기

AndroidManifest.xml 설정하기

AndroidManifest.xml 파일이 없을 경우 Unity 에디터에서 File > Build Profiles > Android > Publishing Settings > Custom Main Manifest를 체크하여 생성이 가능합니다.

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를 추가해주세요.

<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를 입력하고 필요한 설정을 적용합니다.

Application KEY와 SECRET KEY는 Adbrix Console앱 설정 > 앱 정보에서 확인이 가능합니다.

AdbrixUnitySettings.asset

구글 광고 ID를 수집해야할 경우Collect Google Advertising Id를 체크 해야합니다.

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

구글 광고 ID 설정하기

Google 광고 ID를 수집하기 위해선 Config의 ANDROID_COLLECT_GOOGLE_ADVERTISING_IDtrue로 설정하여 수집 여부를 설정해야합니다. 만약 Google 광고ID를 수집하지 않아야 한다면, 구글 광고 ID 수집 여부 변경하기를 통해 수집하지 않도록 설정할 수 있습니다.

Android Settings의 Collect Google Advertising ID를 체크합니다.

AdbrixUnitySettings.asset

딥링크 오픈 분석

Adbrix Unity SDK에서는 딥링크를 분석하는 추가 코드 작업이 필요하지 않습니다. SDK에서 자동으로 처리하여 딥링크 오픈 분석이 가능합니다.

Unity에 딥링크를 연동하는 방법은 Unity에서 제공하는 딥링크 메뉴얼을 참고하여 주시기 바랍니다

지연된 딥 링크 핸들링하기(선택사항)

SDK는 앱이 설치되지 않은 유저가 링크를 클릭 후 앱을 설치했을때 자동으로 딥 링크를 실행합니다. 직접 지연된 딥 링크를 핸들링 하려면 다음 메소드를 호출하여 자동 딥링크 실행을 막을 수 있습니다.

1. Is Block Deferred DeepLink Launch를 체크합니다.

AdbrixUnitySettings.asset

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)로 이벤트를 전달합니다.

AdbrixDeepLink

result: int

지연된 딥링크 처리 결과 입니다. ABDeepLinkResult 클래스로 해당 결과 값의 의미를 파악할수있습니다.

UnityEngine.Debug.Log("OnAdbrixDeepLink() result: "+ABDeepLinkResult.GetResult(adbrixDeepLink.result));
  • 결과 값 의미

    • 0 : PROCESSED

    • 1 : ORGANIC

    • 2 : TRACKING_LINK_SETTINGS_INCORRECTLY

    • 3 : 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를 체크합니다.

AdbrixUnitySettings.asset

로그 레벨 변경하기

다음의 방법을 통해 Android의 표시 로그 레벨을 변경할 수 있습니다.

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

Android Log Level에서 원하는 레벨을 설정합니다.

AdbrixUnitySettings.asset
  • ABAndroidLogLevel

    • VERBOSE : 2

    • DEBUG : 3

    • INFO : 4

    • WARN : 5

    • WARN : 6

    • ASSERT : 7

구글 광고 ID 수집 여부 변경하기

Collect Google Advertising Id를 체크합니다.

AdbrixUnitySettings.asset

App Tracking Transparency (ATT) 지원

idfa 수집 가능 시점부터 SDK 이벤트를 수집하고 싶다면 다음 설정을 추가해주세요.

Tracking Authorize Tiemout 을 설정합니다.

AdbrixUnitySettings.asset

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