Upload
-
View
609
Download
7
Embed Size (px)
Citation preview
Unity, Cloud연동으로
하루안에끝내는모바일게임개발
CloudBread
- Tutorial Track 4 (홍윤석,이정엽)
발표자소개
CloudBread Project 소개
CloudBreadProejct는
- 앱 개발에 집중
- 파라미터에맞춰호출
- 예제 테스트앱제공
- REST�호출 함수 만들필요없음
- 앱의 코드는바뀌지않음
- IaaS보다 진화한 PaaS�클라우드
- Scale Up� Out�선택은 자유
- 서비스 구조에맞는기능선택
- 보안 구조 /�데이터 암호화선택가능
- GM�관리자 도구제공
- 기본 배치(DAU,�HAU,�DARPU)�제공
- 무료 기술 교육제공(헤카톤/캠프)
(대부분이미다만들어진)무료오픈소스(MIT)프로젝트모바일게임과앱에최적화된게임서버엔진
CloudBread커뮤니티
http://www.cloudbread.org http://aka.ms.cbfb https://www.youtube.com/channel/UCDlkeUYAb851WkHMRzchLzw
OnOffMix 참조
CloudBread공식홈페이지 CloudBread공식페이스북그룹 CloudBread공식유튜브채널 CloudBread공식오프라인캠프
CloudBread프로젝트레포지토리
클라개발
서버개발
게임관리
유저분석
클라우드 기반 서버 엔진
P2P 실시간 통신 서버
게임 관리자 웹
Unity - CloudBread 연동빅데이터 분석 툴
게임에서 CloudBread 를어떻게 사용할까?
- 3rdpartyauthentication
클라이언트 디바이스와CloudBread 게임서버와 통신
RESTAPI
Anything
Post�Man�에서본그대로~!
{memberID = “member1”
}
{EventID =“eventID1”,�EventName=“크리스탈1”,�기간=…EventID =“eventID2”,�EventName=“좋은템1”,�기간=…EventID =“eventID13,�EventName=“보너스아이템”,�기간=…
}
HTTP�Response�응답 구조
이벤트 조회 API�:�SelGameEvents 를 호출한다.HTTP�Request�요청 구조
Post�Man�에서본그대로~!
{memberID =�“member1”
}
{EventID =“eventID1”,�EventName=“크리스탈1”,�기간=…EventID =“eventID2”,�EventName=“좋은템1”,�기간=…EventID =“eventID13,�EventName=“보너스아이템”,�기간=…
}
HTTP�Response�응답 구조
이벤트 조회 API�:�SelGameEvents 를 호출한다.HTTP�Request�요청 구조
API???
게임정보 :�GameInfo
스테이지 :�Stage
선물 :�Gift
공지사항 :�Notice
이벤트 :�Event
쿠폰 :�Coupon
포스트맨(Postman) 소개
http://aka.ms/cbfb
https://goo.gl/3F4By5
공지사항 - Notice
이벤트 - Event
선물 - Gift
게임정보-GameInfo,랭킹-Rank,아이템-Item
멤버아이템-memberitem
게임내아이템추가+상태변경
게임후아이템추가+상태변경
아이템앱내구매 - Purchase
Post Man직접해보기
http://aka.ms/cbp
CloudBread 로 게임 운영하기- CloudBread Admin-Web 데모
CloudBread 사용하기 위한 기초공사- Unity 코딩
Unity 에서Http 통신하기
WWWclassinUnityEngine
UnityEngine.WWW
한방에 끝내는 클라우드 배포- ARM 배포 소개
사용자 인증 기능 활용하기!- Authentication 인증 기능 소개
인증 - 3rd partyauthentication
User AuthenticationoAuth2.0
1 32 4
5
CloudBread회원인증
페이스북로그인 CloudBread에서발급한토큰페이스북에서발급한토큰
FacebookSDK 유니티용없음…
인증
58
- Facebook,googleid,Microsoftid,twitterid인증가능
-인증을하면memberid는자동 sid로치환됨
- Sid는인증제공자(facebook등)이제공하는회원의고유값
- DEMO용도로 cb2-auth-demo서버
- Sid는서버에서만저장,조회에처리되고클라이언트로내려오지않음
- CloudBread의모든 API는 Sid가존재하면(서버에인증구성이완료되면)자동으로클라이언트가보내는memberid를무시하고 sid로치환시킴
-개발단계에서는memberid를보내고배포단계에서 sid를이용도가능
- CloudBread의암호화(Encryption)와별개로처리됨
-안전한게임통신을위해인증과암호화구성을권장함
암호화
59
- Crypt처리로 web.config의설정을이용해 AES256암호화처리가능
-클라이언트에서암호화구성을수행해 CloudBreadAPI를호출
-암호화되어전달된텍스트를 CloudBread가복호화해서버에저장
-암호화설정시자동클라이언트에암호화된문자열 response- CloudBread-Encrypt-Text-Tool로암호화복호화를개발시테스트가능
- Postman에기본설정된예제(Encrypt로시작)를활용가능
- DEMO용도로,“cb2-crypt-demo”서버이용
Socket서버
60
-실시간통신
- Socket.io로개발
- Android,iOS등다양한 SDK를지원(유니티포함)-그룹제공
-클라이언트는인증을위해 CBSocketAuth API를 CloudBread에요청
-토큰은 Redis캐시에저장됨
-클라이언트는토큰정보를 Socket서버로보냄
- Socket서버가 CloudBread에토큰 Validate하고실시간통신시작