에어브릿지 언리얼 SDK의 업데이트에 필요한 사항을 확인할 수 있습니다. 현재 버전 이후부터 업데이트 이후 버전까지의 사항을 모두 확인하는 것을 권장합니다.
에어브릿지 언리얼 SDK를 v4.0으로 업데이트하면 확인해 주세요.
Project > Config > DefaultAirbridge.ini 파일에 기록된 에어브릿지 설정값의 위치가 Project > Config > DefaultEngine.ini 파일의 [/Script/AirbridgeEditor.AirbridgeSettings] 섹션으로 이동하였습니다.
FAirbridgeUnreal::StartTracking 함수가 FAirbridge::StartTracking 함수로 대체되었습니다.
- FAirbridgeUnreal::StartTracking();+ FAirbridge::StartTracking();FAirbridgeUnreal::StopTracking 함수가 FAirbridge::StopTracking 함수로 대체되었습니다.
- FAirbridgeUnreal::StopTracking();+ FAirbridge::StopTracking();FAirbridgeUnreal::SetDeeplinkCallback 함수가 FAirbridge::SetOnDeeplinkReceived 함수로 대체되었습니다.
- 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 함수로 대체되었습니다.
- 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 관련 함수로 대체되었습니다.
- 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 함수로 대체되었습니다.
- 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 함수로 대체되었습니다.
- 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 함수로 대체되었습니다.
- 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- }- 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 함수로 대체되었습니다.
- 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")+ );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) | - |
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 | 새로운 기능이 추가되었습니다. |
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 | 상수 키 값으로 변경되었습니다. |
- (v1) | AirbridgeUnreal (v4) | 변경점 |
|---|---|---|
- | setLifecycleIntegration | 새로운 기능이 추가되었습니다. |
도움이 되었나요?