[Koss Con 2016] CloudBread Tutorial PT

60
Unity, Cloud 연동 으로 하루 안에 끝내는 모바일 게임 개발 CloudBread - Tutorial Track 4 (홍윤석, 이정엽)

Transcript of [Koss Con 2016] CloudBread Tutorial PT

Page 1: [Koss Con 2016] CloudBread Tutorial PT

Unity, Cloud연동으로

하루안에끝내는모바일게임개발

CloudBread

- Tutorial Track 4 (홍윤석,이정엽)

Page 2: [Koss Con 2016] CloudBread Tutorial PT

발표자소개

Page 3: [Koss Con 2016] CloudBread Tutorial PT

CloudBread Project 소개

Page 4: [Koss Con 2016] CloudBread Tutorial PT

CloudBreadProejct는

- 앱 개발에 집중

- 파라미터에맞춰호출

- 예제 테스트앱제공

- REST�호출 함수 만들필요없음

- 앱의 코드는바뀌지않음

- IaaS보다 진화한 PaaS�클라우드

- Scale Up�­ Out�선택은 자유

- 서비스 구조에맞는기능선택

- 보안 구조 /�데이터 암호화선택가능

- GM�관리자 도구제공

- 기본 배치(DAU,�HAU,�DARPU)�제공

- 무료 기술 교육제공(헤카톤/캠프)

(대부분이미다만들어진)무료오픈소스(MIT)프로젝트모바일게임과앱에최적화된게임서버엔진

Page 5: [Koss Con 2016] CloudBread Tutorial PT

CloudBread커뮤니티

http://www.cloudbread.org http://aka.ms.cbfb https://www.youtube.com/channel/UCDlkeUYAb851WkHMRzchLzw

OnOffMix 참조

CloudBread공식홈페이지 CloudBread공식페이스북그룹 CloudBread공식유튜브채널 CloudBread공식오프라인캠프

Page 6: [Koss Con 2016] CloudBread Tutorial PT

CloudBread프로젝트레포지토리

클라개발

서버개발

게임관리

유저분석

클라우드 기반 서버 엔진

P2P 실시간 통신 서버

게임 관리자 웹

Unity - CloudBread 연동빅데이터 분석 툴

Page 7: [Koss Con 2016] CloudBread Tutorial PT
Page 8: [Koss Con 2016] CloudBread Tutorial PT

게임에서 CloudBread 를어떻게 사용할까?

Page 9: [Koss Con 2016] CloudBread Tutorial PT
Page 10: [Koss Con 2016] CloudBread Tutorial PT
Page 11: [Koss Con 2016] CloudBread Tutorial PT
Page 12: [Koss Con 2016] CloudBread Tutorial PT
Page 13: [Koss Con 2016] CloudBread Tutorial PT
Page 14: [Koss Con 2016] CloudBread Tutorial PT
Page 15: [Koss Con 2016] CloudBread Tutorial PT
Page 16: [Koss Con 2016] CloudBread Tutorial PT
Page 17: [Koss Con 2016] CloudBread Tutorial PT
Page 18: [Koss Con 2016] CloudBread Tutorial PT

- 3rdpartyauthentication

Page 19: [Koss Con 2016] CloudBread Tutorial PT
Page 20: [Koss Con 2016] CloudBread Tutorial PT

클라이언트 디바이스와CloudBread 게임서버와 통신

Page 21: [Koss Con 2016] CloudBread Tutorial PT
Page 22: [Koss Con 2016] CloudBread Tutorial PT

RESTAPI

Anything

Page 23: [Koss Con 2016] CloudBread Tutorial PT

Post�Man�에서본그대로~!

{memberID = “member1”

}

{EventID =“eventID1”,�EventName=“크리스탈1”,�기간=…EventID =“eventID2”,�EventName=“좋은템1”,�기간=…EventID =“eventID13,�EventName=“보너스아이템”,�기간=…

}

HTTP�Response�응답 구조

이벤트 조회 API�:�SelGameEvents 를 호출한다.HTTP�Request�요청 구조

Page 24: [Koss Con 2016] CloudBread Tutorial PT

Post�Man�에서본그대로~!

{memberID =�“member1”

}

{EventID =“eventID1”,�EventName=“크리스탈1”,�기간=…EventID =“eventID2”,�EventName=“좋은템1”,�기간=…EventID =“eventID13,�EventName=“보너스아이템”,�기간=…

}

HTTP�Response�응답 구조

이벤트 조회 API�:�SelGameEvents 를 호출한다.HTTP�Request�요청 구조

API???

Page 25: [Koss Con 2016] CloudBread Tutorial PT
Page 26: [Koss Con 2016] CloudBread Tutorial PT
Page 27: [Koss Con 2016] CloudBread Tutorial PT
Page 28: [Koss Con 2016] CloudBread Tutorial PT

게임정보 :�GameInfo

스테이지 :�Stage

선물 :�Gift

공지사항 :�Notice

이벤트 :�Event

쿠폰 :�Coupon

Page 29: [Koss Con 2016] CloudBread Tutorial PT
Page 30: [Koss Con 2016] CloudBread Tutorial PT

포스트맨(Postman) 소개

Page 31: [Koss Con 2016] CloudBread Tutorial PT

http://aka.ms/cbfb

https://goo.gl/3F4By5

Page 32: [Koss Con 2016] CloudBread Tutorial PT

공지사항 - Notice

Page 33: [Koss Con 2016] CloudBread Tutorial PT
Page 34: [Koss Con 2016] CloudBread Tutorial PT

이벤트 - Event

Page 35: [Koss Con 2016] CloudBread Tutorial PT
Page 36: [Koss Con 2016] CloudBread Tutorial PT

선물 - Gift

Page 37: [Koss Con 2016] CloudBread Tutorial PT
Page 38: [Koss Con 2016] CloudBread Tutorial PT

게임정보-GameInfo,랭킹-Rank,아이템-Item

Page 39: [Koss Con 2016] CloudBread Tutorial PT
Page 40: [Koss Con 2016] CloudBread Tutorial PT

멤버아이템-memberitem

Page 41: [Koss Con 2016] CloudBread Tutorial PT
Page 42: [Koss Con 2016] CloudBread Tutorial PT

게임내아이템추가+상태변경

Page 43: [Koss Con 2016] CloudBread Tutorial PT

게임후아이템추가+상태변경

Page 44: [Koss Con 2016] CloudBread Tutorial PT
Page 45: [Koss Con 2016] CloudBread Tutorial PT

아이템앱내구매 - Purchase

Page 46: [Koss Con 2016] CloudBread Tutorial PT
Page 47: [Koss Con 2016] CloudBread Tutorial PT

Post Man직접해보기

Page 48: [Koss Con 2016] CloudBread Tutorial PT

http://aka.ms/cbp

Page 49: [Koss Con 2016] CloudBread Tutorial PT

CloudBread 로 게임 운영하기- CloudBread Admin-Web 데모

Page 50: [Koss Con 2016] CloudBread Tutorial PT

CloudBread 사용하기 위한 기초공사- Unity 코딩

Page 51: [Koss Con 2016] CloudBread Tutorial PT

Unity 에서Http 통신하기

WWWclassinUnityEngine

UnityEngine.WWW

Page 52: [Koss Con 2016] CloudBread Tutorial PT

한방에 끝내는 클라우드 배포- ARM 배포 소개

Page 53: [Koss Con 2016] CloudBread Tutorial PT
Page 54: [Koss Con 2016] CloudBread Tutorial PT

사용자 인증 기능 활용하기!- Authentication 인증 기능 소개

Page 55: [Koss Con 2016] CloudBread Tutorial PT

인증 - 3rd partyauthentication

Page 56: [Koss Con 2016] CloudBread Tutorial PT

User AuthenticationoAuth2.0

1 32 4

5

Page 57: [Koss Con 2016] CloudBread Tutorial PT

CloudBread회원인증

페이스북로그인 CloudBread에서발급한토큰페이스북에서발급한토큰

FacebookSDK 유니티용없음…

Page 58: [Koss Con 2016] CloudBread Tutorial PT

인증

58

- Facebook,googleid,Microsoftid,twitterid인증가능

-인증을하면memberid는자동 sid로치환됨

- Sid는인증제공자(facebook등)이제공하는회원의고유값

- DEMO용도로 cb2-auth-demo서버

- Sid는서버에서만저장,조회에처리되고클라이언트로내려오지않음

- CloudBread의모든 API는 Sid가존재하면(서버에인증구성이완료되면)자동으로클라이언트가보내는memberid를무시하고 sid로치환시킴

-개발단계에서는memberid를보내고배포단계에서 sid를이용도가능

- CloudBread의암호화(Encryption)와별개로처리됨

-안전한게임통신을위해인증과암호화구성을권장함

Page 59: [Koss Con 2016] CloudBread Tutorial PT

암호화

59

- Crypt처리로 web.config의설정을이용해 AES256암호화처리가능

-클라이언트에서암호화구성을수행해 CloudBreadAPI를호출

-암호화되어전달된텍스트를 CloudBread가복호화해서버에저장

-암호화설정시자동클라이언트에암호화된문자열 response- CloudBread-Encrypt-Text-Tool로암호화복호화를개발시테스트가능

- Postman에기본설정된예제(Encrypt로시작)를활용가능

- DEMO용도로,“cb2-crypt-demo”서버이용

Page 60: [Koss Con 2016] CloudBread Tutorial PT

Socket서버

60

-실시간통신

- Socket.io로개발

- Android,iOS등다양한 SDK를지원(유니티포함)-그룹제공

-클라이언트는인증을위해 CBSocketAuth API를 CloudBread에요청

-토큰은 Redis캐시에저장됨

-클라이언트는토큰정보를 Socket서버로보냄

- Socket서버가 CloudBread에토큰 Validate하고실시간통신시작