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

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

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

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

    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")
    + );

    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")
    + );

    도움이 되었나요?

    더 필요한 내용이 있나요?