콘솔로 이동

TPPersonalizedOffer

TPPersonalizedOffer

Class in TentuPlay.CRM / Implemented in:TentuPlay.CRM

설명

텐투플레이 개인화 상점 우편 출력 기능을 위한 클래스입니다.

메소드

GetOfferAsync 플레이어의 Offer 내용을 Async로 가져와 클라이언트 DB에 저장합니다.
SelectOfferInfo 현재 클라이언트 DB에 있는 유효한 Offer 우편의 간단한 정보들을 최신 생성된 우편 순으로 불러옵니다.
ShowOffer 플레이어에게 Offer 우편 화면을 보여주는 메소드입니다.
AddOfferClosedCount 우편의 closed_count에 1을 더해 열어본 적이 있는 우편임을 표시합니다.
OfferOpened Offer를 열어볼 때 호출합니다.

GetOfferAsync

public void GetOfferAsync(string player_uuid, Action<int> callback);

설명

플레이어의 Offer 내용을 Async로 가져와 클라이언트 DB에 저장합니다. 게임 로딩 시 사용할 수 있습니다.

다음번 GetOffersAsync를 호출하기까지 최소 TentuPlaySettings.offersGetInterval의 텀이 있어야합니다. 그렇지 않을 경우 TentuPlay debug mode이고 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다: TPDebug||GetOffersAsync started but too soon to send : GetOffersAsyncTs

GetOffersAsync에 실패하였을 경우, TentuPlay debug mode이고 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다: TPError||Error while getting offer: ERROR_MESSAGE

파라미터

player_uuid

플레이어의 고유 ID

callback

성공할 경우 1, 실패할 경우 -1이 됩니다.

SelectOfferInfo

public List<OfferInfo> SelectOfferInfo(string player_uuid, string language, [int maximum_closed_count = 10000]);

설명

현재 클라이언트 DB에 있는 유효한 Offer 우편의 간단한 정보들을 최신 생성된 우편 순으로 불러옵니다.

리턴값

OfferInfo: 우편 정보.

public class OfferInfo
{
    public int offer_id;
    public int closed_count;
    public string expires_in;
    public string title;
}

불러오기에 실패할 경우 null이 리턴되며 TentuPlay debug mode이라면 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다: TPError||ERROR select from Offer: EXCEPTION_ERROR_MESSAGE

※ 주의사항

개인화 상점을 이용하기 위해서는 콘솔에서 설정한 언어 코드와 스크립트 내에서 설정한 언어 코드가 동일해야 합니다. - 예를 들어 콘솔을 통하여 개인화 상점에 "ko", "en" 언어를 추가하였을 경우 - 스크립트에서도 `ShowOffer(language="ko")`, `ShowOffer(language="en")` 으로 설정해야 개인화 상점이 나타납니다. 마찬가지로, 설정하지 않은 언어코드를 게임에서 불러올 경우, 에러가 발생합니다. - 예를 들어 상점 이름이 offer1인 상점은 두개의 언어로 발송하고 ("en", "ko") 상점 이름이 offer2인 상점은 하나의 언어로 발송("ko") 한 후, `SelectOfferInfo(language="en")` 또는 `ShowOffer(language="en")`으로 상점을 불러온다면 offer2인 상점에는 "en"언어코드가 없으므로 에러가 발생합니다.

파라미터

player_uuid

플레이어의 고유 ID

language

개인화 오퍼 콘솔에서 설정한 언어

maximum_closed_count

가져오는 우편의 closed_count 상한선

ShowOffer

public IEnumerator ShowOffer(GameObject tpPersonalizedOfferControllerGameObject, string player_uuid, string language, Action<int> callback, [maximum_closed_count = 10000], [int? offer_id = null]);

설명

플레이어에게 Offer 우편화면을 보여주는 메소드입니다. 옵션 파라미터인 offer_id를 지정하지 않으면 가장 최신의 Offer를 보여줍니다.

ShowOffer는 TentuPlayOffer.PlaceOffer를 호출하며, Assets/TentuPlay/TPPersonalizedOfferTemplates/Resources의 TentuPlayOffer_landscape.prefab 혹은 TentuPlayOffer_portrait.prefab을 동적으로 불러와 화면에 보여줍니다. 플레이어에 해당하는 분석결과가 없을 경우 아무 창도 뜨지 않습니다. 자세한 내용은 TentuPlayOffer 스크립을 참고할 수 있으며 해당 스크립은 변형/수정하여 사용하실 수 있습니다.

※ 주의사항

개인화 상점을 이용하기 위해서는 콘솔에서 설정한 언어 코드와 스크립트 내에서 설정한 언어 코드가 동일해야 합니다. - 예를 들어 콘솔을 통하여 개인화 상점에 "ko", "en" 언어를 추가하였을 경우 - 스크립트에서도 `ShowOffer(language="ko")`, `ShowOffer(language="en")` 으로 설정해야 개인화 상점이 나타납니다. 마찬가지로, 설정하지 않은 언어코드를 게임에서 불러올 경우, 에러가 발생합니다. - 예를 들어 상점 이름이 offer1인 상점은 두개의 언어로 발송하고 ("en", "ko") 상점 이름이 offer2인 상점은 하나의 언어로 발송("ko") 한 후, `SelectOfferInfo(language="en")` 또는 `ShowOffer(language="en")`으로 상점을 불러온다면 offer2인 상점에는 "en"언어코드가 없으므로 에러가 발생합니다.

파라미터

tpPersonalizedOfferControllerGameObject

TPOfferController 게임오브젝트

player_uuid

플레이어의 고유 ID

language

개인화 오퍼 콘솔에서 설정한 언어

callback

성공할 경우 1, 실패할 경우 -1이 됩니다.

maximum_closed_count

가져오는 우편의 closed_count 상한선

offer_id

Offer의 고유 ID.

AddOfferClosedCount

public int AddOfferClosedCount(int offer_id);

설명

우편의 OfferInfo.closed_count에 1을 더해 열어본 적이 있는 우편임을 표시합니다. 우편을 닫을 때 호출하므로 TentuPlayOffer.cs에 위치합니다.

성공 시 1을 리턴하고, 그렇지 못할 경우 -1을 리턴합니다. -1이 리턴될 경우, TentuPlay debug mode이라면 유니티 에디터 콘솔에서 다음과 같은 메세지를 확인할 수 있습니다: TPError||ERROR updating closed_count in offer: EXCEPTION_ERROR_MESSAGE

파라미터

offer_id

Offer의 고유 ID.

OfferOpened

public void OfferOpened(int offer_id, Action<int> callback);

설명

Offer를 열어볼 때 호출합니다. 개인화 상점 프로모션 유효기간과 연동하기 위해 반드시 필요하며, TentuPlayOffer.cs에 위치해있습니다.

파라미터

offer_id

Offer의 고유 ID.

callback

성공할 경우 1, 실패할 경우 -1이 됩니다.