본문 바로가기

Unity/뒤끝

[뒤끝 파헤치기] #08. 이벤트 및 쿠폰 사용

반응형

해당 강의는 PC환경에 최적화 된 글 입니다.

목록 바로가기

https://cheolmini.tistory.com/53

 

[뒤끝 파헤치기] #08. 이벤트 및 쿠폰 사용

뒤끝 파헤치기 여덟번째 강의글 입니다.

 

동기, 비동기식으로 이벤트를 불러오고, 쿠폰을 사용해 보겠습니다.


1. 뒤끝 콘솔 설정

1-1 이벤트

 

뒤끝 콘솔 - 운영 관리 - 이벤트

 

 

이벤트의 게시일시와 이벤트를 진행할 기간을 설정합니다.

 

 

이벤트 제목과 내용을 설정합니다.

 

 

이벤트의 이미지 혹 팝업이미지를 업로드 하거나, URL을 연결할 수 있습니다.

 

 

1-2 쿠폰

 

뒤끝 콘솔 - 쿠폰관리

 

 

쿠폰의 이름, 기간, 분류, 중복 사용 여부, 개수를 설정합니다.

분류에서 시리얼 쿠폰으로하면 자동으로 시리얼이 발급 되며, 단일로 할시 쿠폰 코드를 직접 설정할 수 있습니다.

아이템 지급도 할 수 있으나 추후 관련 강의와 함께 리포스팅 하겠습니다.

 

저는 "AA123" 이란 쿠폰코드로, 중복을 비허용하고, 발행개수를 1개로 설정하였습니다

 

2. 전역변수

    [Header("Game Manager")]
    public Transform tempNotice;
    public Transform Notice;
    public Transform Event;
    public InputField coupon;
    string linkURL;

 



동기 방식


1. 이벤트 받아오기

 

Backend.Event.EventList();

JSON 형태로 받아옵니다.

 

{ 
    rows:
    [ 
        { 
            uuid: // 이벤트 uuid
                { S : "b33bc260-0981-11e9-bfd0-3bf848e9c52c" },
            content: // 이벤트 내용
                { S : "쿠폰번호를 입력하시면 아이템을 지급해드립니다~!" },
            contentImageKey: // 첨부한 컨텐츠 이미지 url
                { S : "/upload/2147483648/event/2018-12-27T02:46:57.391Z312652213.jpg" },
            popUpImageKey: // 첨부한 팝업 이미지 url 
                { S : "/upload/2147483648/event/2018-12-27T02:46:58.945Z936251230.jpg" },
            postingDate: // 이벤트 게시 일자
                { S : "2018-12-27T02:00:00.000Z" },
            endDate: // 이벤트 종료일 
                { S : "2018-12-28T03:00:00.000Z" },
            inDate: // 이벤트 indate
                { S : "2018-12-27T02:47:07.399Z" },
            startDate: // 이벤트 시작일
                { S : "2018-12-27T03:00:00.000Z" },
            linkUrl: // 외부 링크 버튼 url
                { S : "http://thebackend.io" },
            isPublic: // 공개/비공개 여부 (y: 공개)
                { S : "y" },
            linkButtonName: // 외부 링크 버튼 이름
                { S : "buttonX" },
            author: // 작성자 정보 (관리자 닉네임)
                { S : "jake" },
            title: // 이벤트 제목
                { S : "10만 다운로드 기념 이벤트!" }
        },
       //이하 생략
}

 

 public void getEvent()
    {
        BackendReturnObject BRO = Backend.Event.EventList();

        if (BRO.IsSuccess())
        {
            JsonData eventData = BRO.GetReturnValuetoJSON()["rows"][0];

            string title = eventData["title"][0].ToString();
            string contents = eventData["content"][0].ToString();
            string startDate = eventData["startDate"][0].ToString().Substring(0, 10);
            string endDate = eventData["endDate"][0].ToString().Substring(0, 10);
            string imgURL = "http://upload-console.thebackend.io" + eventData["contentImageKey"][0];
            
            Event.GetChild(1).GetComponent<Text>().text = title;
            Event.GetChild(2).GetComponent<Text>().text = contents;
            Event.GetChild(3).GetComponent<Text>().text = startDate + " ~ " + endDate;
            
            StartCoroutine(WWWImageDown(imgURL, Event.GetChild(5).GetComponent<Image>()));

            Event.gameObject.SetActive(true);
            print("동기 방식 이벤트 받아오기 완료");
        }
    }

 

2. 쿠폰 사용

Backend.Coupon.UseCoupon("쿠폰번호");

 

쿠폰을 사용합니다.

 

    public void useCoupon()
    {
        BackendReturnObject BRO = Backend.Coupon.UseCoupon(coupon.text);

        if (BRO.IsSuccess()) print("쿠폰 사용 성공");
        else Error(BRO.GetErrorCode(), "Coupon");
    }


비동기 방식


1. 이벤트 받아오기

 

    public void getEventAsync()
    {
        BackendAsyncClass.BackendAsync(Backend.Event.EventList, (callback) =>
        {
            JsonData eventData = callback.GetReturnValuetoJSON()["rows"][0];

            string title = eventData["title"][0].ToString();
            string contents = eventData["content"][0].ToString();
            string startDate = eventData["startDate"][0].ToString().Substring(0, 10);
            string endDate = eventData["endDate"][0].ToString().Substring(0, 10);
            string imgURL = "http://upload-console.thebackend.io" + eventData["contentImageKey"][0];

            Event.GetChild(1).GetComponent<Text>().text = title;
            Event.GetChild(2).GetComponent<Text>().text = contents;
            Event.GetChild(3).GetComponent<Text>().text = startDate + " ~ " + endDate;

            StartCoroutine(WWWImageDown(imgURL, Event.GetChild(5).GetComponent<Image>()));

            Event.gameObject.SetActive(true);
            print("비동기 방식 이벤트 받아오기 완료");
        });       
    }

 

2. 쿠폰 사용

 

    public void useCouponAsync()
    {
        BackendAsyncClass.BackendAsync(Backend.Coupon.UseCoupon, coupon.text, (callback) =>
        {
            if (callback.IsSuccess()) print("쿠폰 사용 성공");
            else Error(callback.GetErrorCode(), "Coupon");
        });
    }

UI 구성하기

참고만 해주세요

 


결과

동기방식 이벤트 불러오기 및 쿠폰 사용

 

비동기 방식 이벤트 불러오기 및 쿠폰 사용

동기 방식에서 쿠폰을 사용했기 때문에 더이상 사용이 불가능 하다고 출력합니다.


참고 글

https://developer.thebackend.io/unity3d/guide/eventv1_1/

 

뒤끝 개발자

모바일 게임 서버를 쉽게 생성, 관리 할 수 있는 뒤끝의 개발자 사이트입니다.

developer.thebackend.io

https://developer.thebackend.io/unity3d/guide/coupon/

 

뒤끝 개발자

모바일 게임 서버를 쉽게 생성, 관리 할 수 있는 뒤끝의 개발자 사이트입니다.

developer.thebackend.io


모든 프로젝트는 깃 허브에 업데이트 할 예정입니다.

 

https://github.com/CM-Games/BackEnd

읽어 주셔서 감사합니다.

 

더보기

검색어

뒤끝베이스

뒤끝강좌

뒤끝

뒤끝매치

뒤끝챗

유니티뒤끝

백앤드

유니티백앤드

유니티서버

유니티데이터저장

뒤끝기초

뒤끝서버

반응형