SDK 마이그레이션 가이드 - 언리얼 SDK

에어브릿지 언리얼 SDK의 업데이트에 필요한 사항을 확인할 수 있습니다. 현재 버전 이후부터 업데이트 이후 버전까지의 사항을 모두 확인하는 것을 권장합니다.

v1.x에서 v4.0으로 업데이트

에어브릿지 언리얼 SDK를 v4.0으로 업데이트하면 확인해 주세요.

옵션

Airbridge Settings (v1)

Airbridge Settings (v4)

변경점

App Name

App Name

-

App Token

App Token

-

Log Level

Log Level

-

iOS URI Scheme

iOS URI Scheme

-

Android URI Scheme

Android URI Scheme

-

Custom Domain

Custom Domain

다중 입력을 지원 기능이 추가되었습니다.

Session Timeout Seconds

Session Timeout Seconds

-

User Info Hash Enabled

User Info Hash Enabled

-

Location Collection Enabled

Location Collection Enabled

-

Track Airbridge Link Only

Track Airbridge Link Only

-

Auto Start Tracking Enabled

Auto Start Tracking Enabled

-

-

Facebook Deferred App Link Enabled

새로운 기능이 추가되었습니다.

iOS Tracking Authorize Timeout Seconds

iOS Tracking Authorize Timeout Seconds

-

SDK Signature Secret ID

SDK Signature Secret ID

-

SDK Signature Secret

SDK Signature Secret

-

-

Track In Session Life Cycle Event Enabled

새로운 기능이 추가되었습니다.

-

Pause Event Transmit On Background Enabled

새로운 기능이 추가되었습니다.

-

Clear Event Buffer On Initialize Enabled

새로운 기능이 추가되었습니다.

-

SDK Enabled

새로운 기능이 추가되었습니다.

-

App Market Identifier

새로운 기능이 추가되었습니다.

-

Event Buffer Count Limit

새로운 기능이 추가되었습니다.

-

Event Buffer Size Limit In Gibibyte

새로운 기능이 추가되었습니다.

-

Event Transmit Interval Seconds

새로운 기능이 추가되었습니다.

Meta Install Referrer (Facebook App ID)

Meta Install Referrer (Facebook App ID)

-

함수 (Unreal)

주의하세요

접근 함수 클래스의 이름이 FAirbridgeUnreal 에서 FAirbridge로 변경 되었습니다.

FAirbridgeUnreal (v1)

FAirbridge (v4)

변경점

-

EnableSDK

새로운 기능이 추가되었습니다.

-

DisableSDK

새로운 기능이 추가되었습니다.

-

IsSDKEnabled

새로운 기능이 추가되었습니다.

StartTracking

StartTracking

-

-

StopTracking

새로운 기능이 추가되었습니다.

-

IsTrackingEnabled

새로운 기능이 추가되었습니다.

SetUserID

SetUserID

-

-

ClearUserID

새로운 기능이 추가되었습니다.

SetUserEmail

SetUserEmail

-

-

ClearUserEmail

새로운 기능이 추가되었습니다.

SetUserPhone

SetUserPhone

-

-

ClearUserPhone

새로운 기능이 추가되었습니다.

SetUserAttribute

SetUserAttribute

-

RemoveUserAttribute

RemoveUserAttribute

-

ClearUserAttributes

ClearUserAttributes

-

SetUserAlias

SetUserAlias

-

RemoveUserAlias

RemoveUserAlias

-

ClearUserAlias

ClearUserAlias

-

ClearUser

ClearUser

-

Click

Click

콜백 기능이 추가되었습니다.

Impression

Impression

콜백 기능이 추가되었습니다.

SetDeeplinkCallback

SetOnDeeplinkReceived

이름이 변경되었습니다. 값을 람다 형태로 제공받도록 변경되었습니다.

SetAttributionCallback

SetOnAttributionReceived

이름이 변경되었습니다. 값을 람다 형태로 제공받도록 변경되었습니다.

TrackEvent

TrackEvent

이벤트 정보를 입력받는 방식이 변경되었습니다.

SetDeviceAlias

SetDeviceAlias

-

RemoveDeviceAlias

RemoveDeviceAlias

-

ClearDeviceAlias

ClearDeviceAlias

-

RegisterPushToken

RegisterPushToken

-

CreateWebInterface

-

WebInterface 관련 함수들로 대체되었습니다.

-

CreateWebInterfaceScript

새로운 기능이 추가되었습니다.

-

HandleWebInterfaceCommand

새로운 기능이 추가되었습니다.

-

FetchAirbridgeGeneratedUUID

새로운 기능이 추가되었습니다.

-

FetchDeviceUUID

새로운 기능이 추가되었습니다.

-

IsUninstallTrackingNotification

새로운 기능이 추가되었습니다.

상수 (Unreal)

AirbridgeConstants::CATEGORY (v1)

AirbridgeCategory (v4)

변경점

SIGN_UP

SIGN_UP

-

SIGN_IN

SIGN_IN

-

SIGN_OUT

SIGN_OUT

-

VIEW_HOME

-

HOME_VIEWED로 대체되었습니다.

HOME_VIEWED

HOME_VIEWED

-

VIEW_SEARCH_RESULT

-

SEARCH_RESULTS_VIEWED로 대체되었습니다.

SEARCH_RESULTS_VIEWED

SEARCH_RESULTS_VIEWED

-

VIEW_PRODUCT_LIST

-

PRODUCT_LIST_VIEWED로 대체되었습니다.

PRODUCT_LIST_VIEWED

PRODUCT_LIST_VIEWED

-

VIEW_PRODUCT_DETAILS

-

PRODUCT_VIEWED로 대체되었습니다.

PRODUCT_VIEWED

PRODUCT_VIEWED

-

ADD_TO_CART

-

ADDED_TO_CART로 대체되었습니다.

ADDED_TO_CART

ADDED_TO_CART

-

ORDER_COMPLETE

-

ORDER_COMPLETED로 대체되었습니다.

ORDER_COMPLETED

ORDER_COMPLETED

-

ADD_PAYMENT_INFO

ADD_PAYMENT_INFO

-

ADD_TO_WISHLIST

ADD_TO_WISHLIST

-

INITIATE_CHECKOUT

INITIATE_CHECKOUT

-

ORDER_CANCELED

ORDER_CANCELED

-

START_TRIAL

START_TRIAL

-

SUBSCRIBE

SUBSCRIBE

-

UNSUBSCRIBE

UNSUBSCRIBE

-

AD_IMPRESSION

AD_IMPRESSION

-

AD_CLICK

AD_CLICK

-

COMPLETE_TUTORIAL

COMPLETE_TUTORIAL

-

ACHIEVE_LEVEL

ACHIEVE_LEVEL

-

UNLOCK_ACHIEVEMENT

UNLOCK_ACHIEVEMENT

-

RATE

RATE

-

SHARE

SHARE

-

SCHEDULE

SCHEDULE

-

SPEND_CREDITS

SPEND_CREDITS

-

AirbridgeConstants::ATTRIBUTES (v1)

AirbridgeAttribute (v4)

변경점

-

ACTION

상수 키 값이 추가되었습니다.

-

LABEL

상수 키 값이 추가되었습니다.

-

VALUE

상수 키 값이 추가되었습니다.

TOTAL_VALUE

-

VALUE로 대체되었습니다.

CURRENCY

CURRENCY

-

ORIGINAL_CURRENCY

ORIGINAL_CURRENCY

-

PRODUCTS

PRODUCTS

-

PERIOD

PERIOD

-

IS_RENEWAL

IS_RENEWAL

-

RENEWAL_COUNT

RENEWAL_COUNT

-

PRODUCT_LIST_ID

PRODUCT_LIST_ID

-

CART_ID

CART_ID

-

TRANSACTION_ID

TRANSACTION_ID

-

TRANSACTION_TYPE

TRANSACTION_TYPE

-

TRANSACTION_PAIRED_EVENT_CATEGORY

TRANSACTION_PAIRED_EVENT_CATEGORY

-

TRANSACTION_PAIRED_EVENT_TIMESTAMP

TRANSACTION_PAIRED_EVENT_TIMESTAMP

-

TOTAL_QUANTITY

TOTAL_QUANTITY

-

QUERY

QUERY

-

IN_APP_PURCHASED

IN_APP_PURCHASED

-

CONTRIBUTION_MARGIN

CONTRIBUTION_MARGIN

-

ORIGINAL_CONTRIBUTION_MARGIN

ORIGINAL_CONTRIBUTION_MARGIN

-

LIST_ID

LIST_ID

-

RATE_ID

RATE_ID

-

RATE

RATE

-

MAX_RATE

MAX_RATE

-

ACHIEVEMENT_ID

ACHIEVEMENT_ID

-

SHARED_CHANNEL

SHARED_CHANNEL

-

DATE_TIME

DATE_TIME

-

DESCRIPTION

DESCRIPTION

-

IS_REVENUE

IS_REVENUE

-

PLACE

PLACE

-

SCHEDULE_ID

SCHEDULE_ID

-

TYPE

TYPE

-

LEVEL

LEVEL

-

SCORE

SCORE

-

-

AD_PARTNERS

새로운 기능이 추가되었습니다.

-

IS_FIRST_PER_USER

새로운 기능이 추가되었습니다.

AirbridgeConstants::PRODUCT (v1)

AirbridgeAttribute (v4)

변경점

ID

PRODUCT_ID

상수 키 값으로 변경되었습니다.

NAME

PRODUCT_NAME

상수 키 값으로 변경되었습니다.

PRICE

PRODUCT_PRICE

상수 키 값으로 변경되었습니다.

QUANTITY

PRODUCT_QUANTITY

상수 키 값으로 변경되었습니다.

CURRENCY

PRODUCT_CURRENCY

상수 키 값으로 변경되었습니다.

POSITION

PRODUCT_POSITION

상수 키 값으로 변경되었습니다.

CATEGORY_ID

PRODUCT_CATEGORY_ID

상수 키 값으로 변경되었습니다.

CATEGORY_NAME

PRODUCT_CATEGORY_NAME

상수 키 값으로 변경되었습니다.

BRAND_ID

PRODUCT_BRAND_ID

상수 키 값으로 변경되었습니다.

BRAND_NAME

PRODUCT_BRAND_NAME

상수 키 값으로 변경되었습니다.

함수 (Android)

- (v1)

AirbridgeUnreal (v4)

변경점

-

setLifecycleIntegration

새로운 기능이 추가되었습니다.

SDK 설치 및 초기화

Project > Config > DefaultAirbridge.ini 파일에 기록된 에어브릿지 설정값의 위치가 Project > Config > DefaultEngine.ini 파일의 [/Script/AirbridgeEditor.AirbridgeSettings] 섹션으로 이동하였습니다.

FAirbridgeUnreal::StartTracking 함수가 FAirbridge::StartTracking 함수로 대체되었습니다.

12
- FAirbridgeUnreal::StartTracking();
+ FAirbridge::StartTracking();

FAirbridgeUnreal::StopTracking 함수가 FAirbridge::StopTracking 함수로 대체되었습니다.

12
- FAirbridgeUnreal::StopTracking();
+ FAirbridge::StopTracking();

딥링크

FAirbridgeUnreal::SetDeeplinkCallback 함수가 FAirbridge::SetOnDeeplinkReceived 함수로 대체되었습니다.

1234567891011121314151617181920
- AExampleGameModeBase::AExampleGameModeBase()
- {
-   AirbridgeCallbacks = CreateDefaultSubobject<UAirbridgeCallbacks>(TEXT("AIRBRIDGE_CALLBACKS"));
- }

void AExampleGameModeBase::BeginPlay()
{
-    AirbridgeCallbacks->OnDeeplinkReceived.AddDynamic(this, &AExampleGameModeBase::OnDeeplinkReceived);
-    FAirbridgeUnreal::SetDeeplinkCallback();

+    FAirbridge::SetOnDeeplinkReceived([](const FString& Url)
+    {
+        // show proper content
+    });
}

- void AExampleGameModeBase::OnDeeplinkReceived(const FString& Url)
- {
-     // show proper content 
- }

커스텀 도메인 설정하기

v1.x 에서는 하나의 커스텀 도메인만 입력할 수 있었지만, v4.0 부터는 여러 개의 커스텀 도메인을 입력할 수 있습니다.

인앱 이벤트 및 유저 정보

FAirbridgeUnreal::TrackEvent 함수가 FAirbridge::TrackEvent 함수로 대체되었습니다.

12345678910111213141516171819202122232425262728293031323334353637383940
- FAirbridgeUnreal::TrackEvent(
-    AirbridgeConstants::CATEGORY::ORDER_COMPLETED,
-    UAirbridgeEventOption::CreateObject()
-    ->SetAction("Tool")
-    ->SetLabel("Hammer")
-    ->SetValue(10.0)
-    ->SetSemanticAttributes(
-        UAirbridgeMap::CreateObject()
-        ->Set(AirbridgeConstants::ATTRIBUTES::CURRENCY, "USD")
-        ->Set(AirbridgeConstants::ATTRIBUTES::PRODUCTS, UAirbridgeList::CreateObject()
-            ->Add(UAirbridgeMap::CreateObject()
-                ->Set(AirbridgeConstants::PRODUCT::ID, "12345")
-                ->Set("name", "PlasticHammer")
-            )
-        )
-        ->Set("totalQuantity", 1)
-    )
-    ->SetCustomAttributes(
-        UAirbridgeMap::CreateObject()
-        ->Set("promotion", "FirstPurchasePromotion")
-    )
- );

+ FAirbridge::TrackEvent(
+    AirbridgeCategory::ORDER_COMPLETED,
+    UAirbridgeMap::CreateObject()
+    ->Set(AirbridgeAttribute::ACTION, "Tool")
+    ->Set(AirbridgeAttribute::LABEL, "Hammer")
+    ->Set(AirbridgeAttribute::VALUE, 10)
+    ->Set(AirbridgeAttribute::CURRENCY, "USD")
+    ->Set(AirbridgeAttribute::PRODUCTS, UAirbridgeList::CreateObject()->Add(
+            UAirbridgeMap::CreateObject()
+            ->Set(AirbridgeAttribute::PRODUCT_ID, "12345")
+            ->Set("name", "PlasticHammer")
+        )
+    )
+    ->Set("totalQuantity", 1),
+    UAirbridgeMap::CreateObject()
+    ->Set("promotion", "FirstPurchasePromotion")
+ );

AirbridgeConstants::CATEGORY Namespace가 ArbridgeCategory로, AirbridgeConstants::ATTRIBUTES Namespace가 AirbridgeAttribute로 변경 되었습니다. FAirbridge::TrackEvent 함수의 첫 번째 파라미터에 category 정보가 포함되어야 합니다. FAirbridge::TrackEvent 함수의 두 번째 파라미터에 Semantic Attributes 값들이 포함되어야 합니다. FAirbridge::TrackEvent 함수의 세 번째 파라미터에 Custom Attributes 값들이 포함되어야 합니다.

FAirbridgeUnreal::SetUser 함수가 FAirbridge::SetUser 관련 함수로 대체되었습니다.

1234567891011
- FAirbridgeUnreal::SetUserID("personID");
- FAirbridgeUnreal::SetUserEmail("persondoe@airbridge.io");
- FAirbridgeUnreal::SetUserPhone("1(123)123-1234");
- FAirbridgeUnreal::SetUserAttribute("key", "value");
- FAirbridgeUnreal::SetUserAlias("key", "value");

+ FAirbridge::SetUserID("personID");
+ FAirbridge::SetUserEmail("persondoe@airbridge.io");
+ FAirbridge::SetUserPhone("1(123)123-1234");
+ FAirbridge::SetUserAttribute("key", "value");
+ FAirbridge::SetUserAlias("key", "value");

추가 설정하기

FAirbridgeUnreal::Impression 함수가 FAirbridge::Impression 함수로 대체되었습니다.

12345678910111213
- FAirbridgeUnreal::Impression(TEXT("https://abr.ge/~~~"));

+ FAirbridge::Impression(
+    TEXT("https://abr.ge/~~~"),
+    []() 
+    {
+        // Handle on success
+    },
+    [](const FString& Error)
+    {
+        // Handle on failure
+    }
+);

FAirbridgeUnreal::Click 함수가 FAirbridge::Click 함수로 대체되었습니다.

12345678910111213
- FAirbridgeUnreal::Click(TEXT("https://abr.ge/~~~"));

+ FAirbridge::Click(
+    TEXT("https://abr.ge/~~~"),
+    []() 
+    {
+        // Handle on success
+    },
+    [](const FString& Error)
+    {
+        // Handle on failure
+    }
+);

FAirbridgeUnreal::SetAttributionCallback 함수가 FAirbridge::SetOnAttributionReceived 함수로 대체되었습니다.

1234567891011121314151617181920
- AExampleGameModeBase::AExampleGameModeBase()
- {
-   AirbridgeCallbacks = CreateDefaultSubobject<UAirbridgeCallbacks>(TEXT("AIRBRIDGE_CALLBACKS"));
- }

void AExampleGameModeBase::BeginPlay()
{
-    AirbridgeCallbacks->OnAttributionReceived.AddDynamic(this, &AExampleGameModeBase::OnAttributionReceived);
-    FAirbridgeUnreal::SetAttributionCallback();

+    FAirbridge::SetOnAttributionReceived([this](const TMap<FString, FString>& AttributionResult)
+    {
+        // using attribution
+    });
}

- void AExampleGameModeBase::OnAttributionReceived(const FAirbridgeAttribution& Attribution)
- {
-     // using attribution
- }

디바이스 식별자 설정

12345678
- FAirbridgeUnreal::SetDeviceAlias("ADD_YOUR_KEY", "AND_YOUR_VALUE");
+ FAirbridge::SetDeviceAlias("ADD_YOUR_KEY", "AND_YOUR_VALUE");

- FAirbridgeUnreal::RemoveDeviceAlias("DELETE_THIS_KEY");
+ FAirbridge::RemoveDeviceAlias("DELETE_THIS_KEY");

- FAirbridgeUnreal::ClearDeviceAlias();
+ FAirbridge::ClearDeviceAlias();

하이브리드 앱 설정

FAirbridgeUnreal::CreateWebInterface 함수가 FAirbridge::CreateWebInterfaceScript , FAirbridge::HandleWebInterfaceCommand 함수로 대체되었습니다.

123456789101112131415161718
- TUniquePtr<IAirbridgeWebInterface> AirbridgeWebInterface;
+ FString WebInterfaceScript;

- AirbridgeWebInterface = TUniquePtr<IAirbridgeWebInterface>(FAirbridgeUnreal::CreateWebInterface(
-     TEXT("YOUR_WEB_TOKEN"),             
-     [](const FString& Msg) -> FString   
-     {
-         return TEXT("...");
-     }
- ));

+ WebInterfaceScript = FAirbridge::CreateWebInterfaceScript(
+     TEXT("YOUR_WEB_TOKEN"),	
+     [](const FString& Msg) -> FString
+     {
+         return TEXT("...");
+     }("payload")
+ );

도움이 되었나요?

더 필요한 내용이 있나요?