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
※ 주의사항
파라미터
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 스크립을 참고할 수 있으며 해당 스크립은 변형/수정하여 사용하실 수 있습니다.
※ 주의사항
파라미터
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이 됩니다. |