해당 강의는 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/
https://developer.thebackend.io/unity3d/guide/coupon/
모든 프로젝트는 깃 허브에 업데이트 할 예정입니다.
https://github.com/CM-Games/BackEnd
읽어 주셔서 감사합니다.
검색어
뒤끝베이스
뒤끝강좌
뒤끝
뒤끝매치
뒤끝챗
유니티뒤끝
백앤드
유니티백앤드
유니티서버
유니티데이터저장
뒤끝기초
뒤끝서버
'Unity > 뒤끝' 카테고리의 다른 글
[뒤끝 파헤치기] #10. 사용자 게임 정보 읽기 (3) | 2020.07.27 |
---|---|
[뒤끝 파헤치기] #09. 사용자 게임 정보 저장 (0) | 2020.07.24 |
[뒤끝 파헤치기] #07. 공지사항 받아오기 (0) | 2020.07.22 |
[뒤끝 파헤치기] #06. 임시 공지사항 받아오기 (0) | 2020.07.21 |
[뒤끝 파헤치기] #05. 유저 비밀번호 변경, 초기화 (0) | 2020.07.20 |