iOS SDK
iOS에서 게임을 개발하기 위한 GAMEPOT iOS SDK 사용법에 대해 설명합니다. SDK를 설치하고 환경을 구성함으로써 게임과 대시보드를 연동할 수 있습니다.
요구 사양
iOS용 GAMEPOT SDK를 사용하기 위한 요구 사양은 다음과 같습니다.
최소 사양: iOS 15 이상 (하위 버전의 iOS 지원이 필요하면 dl_help_game@navercorp.com 메일로 문의해 주시기 바랍니다. )
SDK 설치 및 환경 구성
iOS SDK를 설치한 후 환경을 구성하여 GAMEPOT 대시보드와 게임을 연동하고 게임 개발에 필요한 기능을 사용할 수 있습니다.
GAMEPOT SDK에서 지원하는 언어는 아래와 같습니다.
한국어, 영어, 이탈리아어, 태국어 ,베트남어, 일본어, 중국어(간체/번체), 인도네시아어, 독일어, 스페인어, 프랑스어
앱 실행 시 디바이스 언어에 따라 SDK 내 지원 언어로 표기되며 미지원 언어는 영어로 표기됩니다.
SDK 설치
GAMEPOT iOS SDK를 설치하고 프로젝트를 구성하는 방법은 다음과 같습니다.
관리자 계정으로 대시보드에 로그인해 주세요.
iOS 프로젝트 폴더 내 CocoaPods를 통해 Podfile을 생성해 주세요.
podfile 파일에 NBase SDK를 추가해 주세요. Podfile 정의 내용은 아래 "Podfile 설정" 항목을 참고하여 주십시오.
NBase SDK를 CocoaPods를 통해 설치해주세요.
COCOAPODS
iOS SDK의 경우 cocoapods를 설치하셔야만 정상 설치가 가능합니다.
Podfile 설정
편집기로 Podfile을 열어 GAMEPOT SDK에 필요한 프레임워크를 추가합니다.
예) 구글 로그인과 페이스북 로그인을 사용하는 경우
NBase
3.0.51
게임팟 기본 모듈
X
NBaseAdapterProviderGoogle
3.0.1
구글 로그인
NBaseAdapterProviderFacebook
3.0.51
페이스북 로그인
FBSDKLoginKit (16.3.1)
NBaseAdapterProviderNaver
3.0.1
네이버 로그인
NBaseAdapterProviderLine
3.0.1
라인 로그인
NBaseAdapterProviderX
3.0.1
X 로그인
이메일, 애플, 게스트 로그인의 경우 기본 모듈에 적용되어 있습니다.
Apollo 패키지 매니저 추가
No such module 'Apollo' 오류 발생 시에 Swift Package Manager 실행 후 Apollo 프레임워크를 추가해 주세요.
'+' 버튼 클릭 후에 Add Package Collection ' https://github.com/apollographql/apollo-ios.git ' 추가 후 apollo-ios 선택 후 Add Package 에서 프로젝트 메인 타겟을 선택해 주세요.
사전 준비
프로젝트ID 와 프로젝트 키는 대시보드 → 프로젝트 설정에서 복사 하실 수 있습니다.
로그인, 스토어, 연동에 대한 환경설정은 모두 대시보드 → 프로젝트 설정 에서 추가/수정 하실 수 있습니다.
로그인 별로 [로그인 인증 환경 설정] 을 참고하여, 콘솔에 설정하고 대시보드에 추가해야만 합니다.
인앱 결제 시에 [스토어 환경 설정] 을 참고하여, 콘솔에 설정하고 대시보드에 추가해야만 합니다.
인앱 결제를 위한 스토어마다 아이템을 등록해 주세요. 대시보드 → 결제 → 인앱에서 추가해 주세요.
초기화
초기화를 수행하려면 게임을 시작할 때 로드되는 첫 장면에 사용되는 개체에 아래 코드를 추가해 주십시오.
Parameter
projectId
String
프로젝트 ID (대시보드 → 프로젝트 설정)
O
projectKey
String
프로젝트 키 (대시보드 → 프로젝트 설정)
O
storeId
String
스토어명 (apple)
O
language
String
언어 (en,ko,jp ...)
O
region
String
리전명 (kr, jp, sg, us, eu, preview)
O
Callback
status
Bool
상태
language
String
언어
country
String
국가
remote_ip
String
IP
platform
String
플랫폼
sandbox
Bool
샌드박스 여부
로그인
개발사에서 구현한 로그인 UI에 따라 로그인 버튼을 클릭했을 때 동작하는 SDK 로그인 기능을 사용하려면 아래 코드를 사용해 주십시오.
Parameter
SignInServiceType.google
구글
SignInServiceType.anonymous
게스트
SignInServiceType.facebook
페이스북
SignInServiceType.apple
애플
SignInServiceType.kakao
카카오
SignInServiceType.x
X
SignInServiceType.line
라인
SignInServiceType.naver
네이버
SignInServiceType.github
깃헙
SignInServiceType.microsoft
마이크로소프트
SignInServiceType.huawei
화웨이
Callback
id
String
사용자 ID
name
String
사용자 이름
nickname
String
사용자 닉네임
String
이메일
token
String
토큰
age
Int
나이
birth
String
생년월일
sex
String
성별
profile
String
프로필 URL
mobile
String
전화 번호
자동 로그인 (옵션)
초기화 한 후에 마지막으로 로그인한 인증 수단으로 자동 로그인을 시도합니다.
자체 아이디 비밀번호 인증하기 (옵션)
사용자가 이메일 주소와 비밀번호를 사용하여 로그인할 수 있게 하는 인증 메서드입니다. 사용자의 이메일 주소와 비밀번호를 기반으로 사용자 인증을 수행합니다. 이 기능은 전통적인 이메일/비밀번호 기반의 인증 시스템에서 중요한 역할을 합니다.
로그아웃
SDK 로그아웃 기능을 사용하려면 아래 코드를 사용해 주십시오.
Callback
status
Bool
성공 여부
결제
결제 전에 스토어 환경 설정 에 해당 스토어에 맞도록 설정 하셔야 합니다. 또한, 대시보드 → 결제 → 인앱에 아이템이 추가 안되어 있을 경우 'ProductID not found' 라는 오류가 발생됩니다.
iOS StoreKit 설정
Xcode 에서 StoreKit 를 New File 로 생성해 주셔야 합니다.
Synced Today 앞 새로고침 버튼을 클릭하시면 그림과 같이 Apple 에 등록된 인앱 정보가 표시되어야 합니다.
인앱 정보 가져오기
결제하실 때에 화면에 결제 정보와 현지 통화 정보를 표시해야 합니다. 아래 함수를 통해서 현재 결제 통화나 이름 등을 가져올 수 있습니다. 만일 정상적으로 가져오지 못하는 경우 콘솔 세팅을 확인해 주시기 바랍니다.
Callback
id
String
상품 ID
name
String
상품 이름
currency
String
통화
price
Float64
상품 가격
localizedPrice
String
현지화된 가격
description
String
상품 설명
결제 요청
가져온 인앱 정보에 productId 로 결제를 요청하실 수 있습니다.
Parameter
productId
String
상품 ID (대시보드 → 결제 → 인앱 아이템)
O
metadata
String
메타데이터
X
options
String
결제 옵션 기능
X
Callback
orderId
String
주문 ID
receipt
String
영수증
signature
String
서명
productId
String
상품 ID
storeId
String
스토어 ID
country
String
국가
quantity
Int
수량
paymentId
String
결제 ID
currency
String
통화
serverId
String
서버 ID
playerId
String
플레이어 ID
userdata
String
사용자 데이터
metadata
String
메타데이터
options
String
결제 옵션
authCode
String
인증 코드
level
Int
레벨
price
Float64
가격
문제해결
Q. Authorization failed: Error Domain=AKAuthenticationError Code=-7026 A. TARGETS > +Capability 를 클릭하여 Sign in with Apple 을 추가합니다.
Last updated