SDK
Unity SDK 가이드를 사용하여 가상 재화나 오퍼월 등의 광고 플레이스먼트를 요청, 표시, 처리하기 위한 샘플 코드로 탭조이를 프로젝트에 추가하는 방법을 알아봅니다.
읽는 시간 1분최근 업데이트: 2일 전
플레이스먼트 요청
TJPlacement의 인스턴스를 생성하고 플레이스먼트 이름으로 해당 인스턴스를 초기화합니다. 코드의 플레이스먼트 이름 문자열이 대시보드의 플레이스먼트 이름과 정확히 일치해야 합니다. 또한 콜백을 수신하기 위한 델리게이트를 구현할 수 있습니다(아래 설명 참고).이제 콘텐츠를 요청할 수 있습니다.TJPlacement p = TJPlacement.CreatePlacement("APP_LAUNCH");
콘텐츠를 요청하기 전에 탭조이 연결 호출이 성공해야 합니다. onConnectSuccess 콜백을 수신한 이후 요청해야 합니다.if (Tapjoy.IsConnected()) { p.requestContent();} else { Debug.LogWarning("Tapjoy SDK must be connected before you can request content.");}
콘텐츠 사전 캐싱
최적의 사용자 경험을 제공하려면 사용자에게 해당 콘텐츠가 표시되기 전에 콘텐츠를 요청합니다. 예를 들어 플레이스먼트가 메인 메뉴의 버튼이면 탭조이 연결 호출 성공 직후 애플리케이션이 시작될 때 해당 콘텐츠를 요청할 수 있습니다. 마지막 순간까지 대기하여 콘텐츠를 요청하면 사용자가 콘텐츠가 로드될 때까지 기다리고 로딩 스피너를 보게 될 수 있습니다. 이렇게 하면 광고에서 사용자가 광고와 상호 작용할 가능성이 감소하므로 사용자가 수익을 창출할 가능성 역시 줄어듭니다. ##Callbacks 콘텐츠 요청 상태에 관한 피드백을 받으려면 다음 콜백을 구현합니다.TJPlacement.OnRequestSuccess += HandlePlacementRequestSuccess;...public void HandlePlacementRequestSuccess(TJPlacement placement) {...}TJPlacement.OnRequestFailure += HandlePlacementRequestFailure;...public void HandlePlacementRequestFailure(TJPlacement placement, string error) {}TJPlacement.OnContentReady += HandlePlacementContentReady;...public void HandlePlacementContentReady(TJPlacement placement) { // This gets called when content is ready to show.}TJPlacement.OnContentShow += HandlePlacementContentShow;...public void HandlePlacementContentShow(TJPlacement placement) {...}TJPlacement.OnContentDismiss += HandlePlacementContentDismiss;...public void HandlePlacementContentDismiss(TJPlacement placement) {...}
플레이스먼트 표시
콘텐츠를 표시하려면p.ShowContent();ShowContent()동영상이 포함될 수 있는 플레이스먼트의 콘텐츠를 표시하기 전에 앱 오디오를 음소거로 설정하는 것이 좋습니다. 그렇지 않으면 동영상 오디오와 앱 오디오가 충돌할 수 있습니다. 종종 HandlePlacementContentReady 콜백이 작동할 때까지 기다린 후 사용자에게 콘텐츠를 표시하는 것이 좋습니다. 이렇게 하면 콘텐츠가 실제로 디바이스에 있는지 확인할 수 있으며 사용자에게 지연 없이 표시할 수 있습니다. 다른 동등한 방법은 위의 예시와 같이if (p.IsContentReady()) { p.ShowContent();} else { // Code to handle situation where content is not ready goes here}
p.IsContentReady()콘텐츠 다시 요청
플레이스먼트에서 사용자에게 콘텐츠를 성공적으로 표시할 경우 다른 콘텐츠 단위로 플레이스먼트를 ‘재로드’하려면 콘텐츠를 다시 요청해야 합니다(예:p.RequestContent();p.ShowContent();탭조이 콘텐츠 액션 요청 처리
보상과 IAP Promo 등의 일부 탭조이 콘텐츠 유형에서는 해당 콘텐츠 단위가 전달한 파라미터에 따라 코드를 통해 조치를 취해야 합니다. 예를 들어 보상 콘텐츠 단위는 사용자에게 지정할 항목 이름(문자열)과 수량(정수)을 지정합니다. 애플리케이션에서는 보상을 반영하도록 사용자의 인벤토리를 실제로 조정해야 합니다. 다음 델리게이트 메서드가 호출되고 콘텐츠 단위에서 적절한 정보로 전달됩니다.TJPlacement.OnPurchaseRequest += HandleOnPurchaseRequest;...public void HandleOnPurchaseRequest(TJPlacement placement, TJActionRequest request, string productId) {...}TJPlacement.OnRewardRequest += HandleOnRewardRequest;...public void HandleOnRewardRequest(TJPlacement placement, TJActionRequest request, string itemId, int quantity) {...}
엔트리 포인트 설정
필요에 따라 각 플레이스먼트의 ‘엔트리 포인트’를 탭조이에 제공할 수 있습니다. 선택 가능한 다양한 프리셋 값은 다음과 같습니다.플레이스먼트 오브젝트를 생성한 후, 콘텐츠를 요청하기 전에 엔트리 포인트를 설정합니다.TJEntryPoint.UNKNOWNTJEntryPoint.OTHERTJEntryPoint.MAIN_MENUTJEntryPoint.HUDTJEntryPoint.EXITTJEntryPoint.FAILTJEntryPoint.COMPLETETJEntryPoint.INBOXTJEntryPoint.INITTJEntryPoint.STORE
TJPlacement placement = TJPlacement.CreatePlacement("placementName");placement.SetEntryPoint(TJEntryPoint.COMPLETE);