SDK 적용 가이드
SDK 기본 설정 안내
시작하기
코어사이트의 다음 서비스를 사용하기 위한 분석/로그 수집 플랫폼 기술과 관련된 SDK를 제공합니다. 본 활동에는 다음과 같은 하위 작업이 포함됩니다.
- Think Core 게임 분석 서비스
- Lib Core 게임 로그 제공 서비스
기본 용어 정리
[용어정리]
1. 컨텐츠
게임 안에서 수행되는 재미의 요소들을 지칭합니다.
PVP, 일반스테이지, 레이드
2. Partner
컨텐츠를 수행할 때 동반하여 같이 수행하는 게임의 리소스를 지칭합니다.
예시: 펫, 친구, 드론
3. Wear
착용하거나 파지할 수 있는 모든 아이템을 지칭합니다.
예시: 무기, 갑옷, 신발, 귀걸이등
4. Item
게임 안에서 사용되는 모든 게임의 리소스를 지칭합니다.
무기, 의류, 강화에 사용되는 아이템, 복용 가능한 아이템, 아이템 스킬 등 재화를 제외한 모든 아이템
5. Enemy
게임 컨텐츠 안에서 아군이 아닌 모든 대결의 대상을 지칭합니다.
펫, 몬스터, 드론, PVP 상대, 레이드 보스등
6. Skill
게임 컨텐츠에서 사용되는 캐릭터 또는 파트너의 능력을 지칭합니다.
RPG : 캐릭터, 펫, 친구, 드론 등이 사용하는 능력
PANG : 캐릭터가 가지는 스킬
Service Center 기능 설명
[Service Center 기능 설명]
관리페이지 URL로 접속 후 로그인을 주세요.
[Add Game] 클릭 후 [게임] 등록 [Add Game] 버튼 클릭 후 테스트를 위한 [테스트 게임명]을 입력해주시기 바랍니다.
- 게임명, 게임장르, 서비스 선택을 진행해 주시기 바랍니다.
- 본 서비스에 앞서 [Test 서비스]로 게임을 생성하여 SDK 적용 및 지표 검증하시는 것을 권장드립니다.
SDK 설치하기
- Service Center에서 [SDK 다운로드]을 클릭하여 최신 SDK 버전을 다운 받아 주시기 바랍니다.
- 새로운 버전의 SDK가 등록되면 가급적 빠른 시일 이내에 버전을 업데이트 해주시기 바랍니다.
- 인증키값 확인 및 등록하기
- 각 게임 별 [인증키]값은 Service Center > 게임 설정에서 확인이 가능합니다.
- 확인된 [인증키]를 복사하여 SDK 설정 시 입력해 주시기 바랍니다.
- SDK를 통해 수집되는 모든 로그는 설정한 [인증키]로 데이터가 전송 됩니다. (아래 그림의 인증키는 샘플입니다)
데이터 검증하기
- 발송된 데이터는 [LicCore]에서 실시간으로 검증할 수 있습니다.
정식 서비스 시작하기
[Test 서비스]로 설정한 게임을 통해 SDK 연동 검증 마무리 후 [Live 서비스]로 새롭게 게임을 생성해주시기 바랍니다.
[Live 서비스]의 인증키 값으로 SDK 내역을 변동 후 게임 App을 배포해주시기 바랍니다.
Live 환경에 Test 데이터가 수집되지 않도록 [인증키]관리에 유의해주시기 바랍니다.
[사용자 관리하기]
- 사용자 초대하기
- 상단 GNB 항목에서 [Account management]를 선택합니다.
- [Add Account ]를 클릭하여 사용자를 초대합니다.
- 추가된 계정은 [권한 설정] 버튼을 클릭하여 게임 별 권한을 설정할 수 있습니다.
- 권한 관리하기
- [권한 설정] 버튼을 눌러 선택한 사용자의 게임 별 조회권한을 설정할 수 있습니다.
- ThinkCore / LibCore의 페이지 별 권한을 설정해보시기 바랍니다.
UNREAL 개발환경 구성
개발환경 UNREAL 구성
\ UNREAL 엔진 사용하는 경우 iOS/Android 개발환경을 별도로 구성하지 않아도 됩니다.*
플러그인 설치
- SDK를 SDK를 적용할 프로젝트의 Plugins폴더에 SDK파일을 복사하고, 해당 폴더에서 압축을 풉니다.
- 언리얼 엔진 에디터를 재실행합니다.
플러그인 셋업
- 언리얼 엔진 에디터에서 셋팅 -> 플러그인을 실행한 뒤, 프로젝트 >Other에 있는 Storage Core SDK Plugin을 활성화합니다.
- SDK 초기화
- 앱 최초 실행시 SDK를 초기화 해야 합니다.
- 아래와 같이 블루프린트로 초기화 할 수 있습니다
- 또난, 직접 StorageCoreSdk에 접근하여, C++코드로 초기화 할 수도 있습니다.
- 입력해야 할 기본 정보는 다음과 같습니다. String은 특수문자 포함 100자 이내로 입력하셔야 합니다.
Name | Value | Description |
---|---|---|
Server IP | String | NCP API URL https://gamereport.apigw.ntruss.com/storagecore/sdk \ 샘플로 지정된 IP 주소를 Live URL 정보로 변경 부탁드립니다.* |
Auth Key | String | API 사용 인증 키 Service Center > 게임 설정에서 인증키값을 확인 후 입력해 주시기 바랍니다. \ 집계를 위한 필수 항목입니다.* |
Game Version | String | 게임 버전 \ 집계를 위한 필수 항목입니다.* |
Channel Code | String | 채널링 코드 게임 스토어의 채널 정보를 입력합니다. \ 집계를 위한 필수 항목입니다.* |
Channel ID | String | 채널링 아이디 회원 가입한 사용자의 이메일 주소 정보를 입력합니다. \ 필수 적용 항목은 아닙니다.* |
Member ID(계정ID)와 Nick Name(닉네임)은 게임 유저 정보에 따라 별도 설정해 주어야 합니다.
Proguard 사용시 아래와 같이 SDK 예외처리를 해야 합니다.
Proguard 파일 위치
- 게임프로젝트\Build\Android\proguard-project.txt
예외처리 명령어
keep class com.coresight.storagecoresdk.** { *; } dontwarn com.coresight.storagecoresdk.**
Unity 개발 환경 구성
Unity3D 개발환경 구성
Unity3D 엔진을 사용하는 경우, iOS/Android 개발환경을 별도로 구성하지 않아도 됩니다.
- SDK 압축을 풀면 Unity Package 파일을 선택합니다.
- Unity 3D 실행 후, 프로젝트를 생성하거나 기존 프로젝트를 불러옵니다.
- Unity Menu에서 Assets > Import Package > Custom Package 를 이용하여 전달받은 StorageCoreUnityPlugin.unitypackage를 불러옵니다.
- StorageCoreUnityPlugin.unitypackage 파일 선택 후 우측 하단의 Import 버튼을 클릭합니다.
첫 번쨰 Scene Hierarchy에 Plugin/StorageCoreManager.prefab을 끌어다 놓습니다.
StorageCoreManager GameObject를 선택한 후 Inspector창에서 기본 설정을 입력합니다.
입력해야 할 기본 정보는 다음과 같습니다. String은 특수문자 포함 100자 이내로 입력하셔야 합니다.
| Name | Value | Description | | ---------------- | ------ | ------------------------------------------------------------ | | Server IP | String | NCP API URL
https://gamereport.apigw.ntruss.com/storagecore/sdk
\ 샘플로 지정된 IP 주소를 Live URL 정보로 변경 부탁드립니다. | | Auth Key | String | API 사용 인증 키
Service Center > 게임 설정에서 인증키값을 확인 후 입력해 주시기 바랍니다.
* 집계를 위한 필수 항목입니다. | | Game Version | String | 게임 버전
* 집계를 위한 필수 항목입니다. | | Channel Code | String | 채널링 코드
게임 스토어의 채널 정보를 입력합니다.
* 집계를 위한 필수 항목입니다. | | Channel ID | String | 채널링 아이디
회원 가입한 사용자의 이메일 주소 정보를 입력합니다.
* 필수 적용 항목은 아닙니다.* |Member ID(계정ID)와 Nick Name(닉네임)은 게임 유저 정보에 따라 별도 설정해 주어야 합니다.
StorageCoreSample 폴더 내의 Sample.scene에서 샘플 프로젝트 확인이 가능합니다.
| Name | Description | | ---------------- | ------------------------------------------------------------ | | Sample.scene | 코어사이트 SDK 사용 예제 | | TestGUI.cs | 데이터 전송 예제 소스 (Method Detail / SDK 세부가이드 항목 참조) |
Proguard 사용시 아래와 같이 SDK 예외처리를 해야 합니다.
Proguard 파일 위치
Assets/Plugins/Android/proguard-user.txt
예외 처리 명령어
keep class com.coresight.storagecoresdk.** { *; } dontwarn com.coresight.storagecoresdk.**
11. Custom Gradle Template 사용시 아래와 같이 내용을 추가해야 합니다.
* mainTemplate.gradle 파일 위치
Assets/Plugins/Android/mainTemplate.gradle
* 추가해야 하는 내용
```
dependencies {
implementation fileTree(dir: 'libs', include: ['*.jar'])
……………
// 아래의 implementation만 추가 하면 됩니다.
implementation 'com.android.installreferrer:installreferrer:1.0'
…………….
**DEPS**}
```
iOS Native 개발환경 구성
[iOS Native 개발환경 구성]
라이브러리 복사
다운로드한 SDK의 iOS 폴더에 있는 StorageCoreSdk.framework와 strip-frameworks.sh를 Xcode 프로젝트 파일(.xcodeproj)이 있는 폴더로 복사합니다.
Framework 추가 및 설정
- Xcode 프로젝트 설정에서 General -> Embedded Binaries에서 + 버튼을 누릅니다.
- Add Other 버튼을 눌러서 프로젝트 폴더로 복사한 StorageCoreSdk.framework를 선택하여 추가합니다.
StorageCoreSdk.framework가 추가된것을 확인할 수 있습니다.
Xcode 프로젝트 설정에서 General -> Linked Frameworks and Libraries에서 SystemConfiguration.framework을 추가합니다.
strip-frameworks.sh 설정
제공되는 Storage Core SDK Framework는 Device와 Simulator에서 모두 이용할 수 있는 Fat 형태로 제공되므로, 빌드 시 strip 과정을 거쳐야 합니다.
제공되는 쉘 스크립트를 Post Build에 설정하면 됩니다.
Xcode 프로젝트 설정에서 Build Phases에서 왼쪽 상단 + 버튼을 누르고 New Run Script Phase를 선택하여 Run Script를 추가해주세요.
- 그리고 추가된 Run Script를 열어서 다음과 같이 프로젝트 폴더로 복사한 strip-frameworks.sh를 실행하는 스크립트를 입력해주세요.
입력해야 할 기본 정보는 다음과 같습니다. String은 특수문자 포함 100자 이내로 입력하셔야 합니다.
| Name | Value | Description | | ---------------- | ------ | ------------------------------------------------------------ | | Server IP | String | NCP API URL
https://gamereport.apigw.ntruss.com/storagecore/sdk
\ 샘플로 지정된 IP 주소를 Live URL 정보로 변경 부탁드립니다. | | Auth Key | String | API 사용 인증 키
Service Center > 게임 설정에서 인증키값을 확인 후 입력해 주시기 바랍니다.
* 집계를 위한 필수 항목입니다. | | Game Version | String | 게임 버전
* 집계를 위한 필수 항목입니다. | | Channel Code | String | 채널링 코드
게임 스토어의 채널 정보를 입력합니다.
* 집계를 위한 필수 항목입니다. | | Channel ID | String | 채널링 아이디
회원 가입한 사용자의 이메일 주소 정보를 입력합니다.
* 필수 적용 항목은 아닙니다.* |Member ID(계정ID)와 Nick Name(닉네임)은 게임 유저 정보에 따라 별도 설정해 주어야 합니다.
SDK 초기화
앱 최초 실행시 SDK를 초기화 해야 합니다.
라이브러리를 사용하기 위해선 다음과 같이 헤더파일을 임포트 합니다.
#import
ViewController.m -> viewDidLoad 함수에서 다음과 같이 initSDK 함수를 호출합니다.
[StorageCoreManager initSDK:@"http://203.233.111.76:8091" authKey:@"YWtoaWw6YWtoaWw=" gameVersion:@"1.0" channelCode:@"GOOGLE" channelID:@"media_account@gmail.com" memberID:@"testuserid01" charID:@"TestCharID" nickName:@"testnickname01"];
Cocos2d-x 개발환경 구성
[Cocos2d-x 개발환경 구성]
Cocos2d-x는 iOS/Android 라이브러리를 기반으로 Cocos2d-x Wrapper를 이용하여 동작하는 방식으로 앞의 iOS 개발환경 구성 / Android 개발환경 구성을 먼저 진행해야 합니다.
Wrapper 소스코드 복사
- 다운로드한 SDK의 Cocos2d-x 폴더에 있는 StorageCoreSdk.zip 압축을 풀면 나오는 StorageCoreSdk폴더를 Cocos2d-x 프로젝트 폴더/Classes로 복사합니다.
Xcode 또는 Visual Studio 프로젝트에 Wrapper 추가
- Cocos2d-x 프로젝트 폴더/Classes/StorageCoreSdk 폴더를 드래그하여 Xcode 또는 Visual Studio 프로젝트에 추가합니다.
입력해야 할 기본 정보는 다음과 같습니다. String은 특수문자 포함 100자 이내로 입력하셔야 합니다.
| Name | Value | Description | | ---------------- | ------ | ------------------------------------------------------------ | | Server IP | String | NCP API URL
https://gamereport.apigw.ntruss.com/storagecore/sdk
\ 샘플로 지정된 IP 주소를 Live URL 정보로 변경 부탁드립니다. | | Auth Key | String | API 사용 인증 키
Service Center > 게임 설정에서 인증키값을 확인 후 입력해 주시기 바랍니다.
* 집계를 위한 필수 항목입니다. | | Game Version | String | 게임 버전
* 집계를 위한 필수 항목입니다. | | Channel Code | String | 채널링 코드
게임 스토어의 채널 정보를 입력합니다.
* 집계를 위한 필수 항목입니다. | | Channel ID | String | 채널링 아이디
회원 가입한 사용자의 이메일 주소 정보를 입력합니다.
* 필수 적용 항목은 아닙니다.* |Member ID(계정ID)와 Nick Name(닉네임)은 게임 유저 정보에 따라 별도 설정해 주어야 합니다.
SDK 초기화
앱 최초 실행시 SDK를 초기화 해야 합니다. 라이브러리를 사용하기 위해선 다음과 같이 헤더파일을 인클루드 합니다.
#include "StorageCoreWrapper.h"
최초 시작하는 Scene의 init 함수에서 다음과 같이 initSDK 함수를 호출합니다.
StorageCoreWrapper::initSDK("http://203.233.111.76:8091", "YWtoaWw6YWtoaWw=", "1.0", "GOOGLE", "media_account@gmail.com", "testuserid01", "TestCharID", "testnickname01");
Android Native 개발환경 구성
[Android Native 개발환경 구성]
라이브러리 복사
다운로드한 SDK의 Android 폴더에 있는 StorageCoreSdk.jar와 gson-2.8.4.jar를 Android Studio 프로젝트 폴더/app/libs로 복사합니다.
build.gradle 설정
dependencies 설정을 위해 build.gradle에 다음과 같이 설정합니다.
dependencies { implementation fileTree(dir: 'libs', include: ['*.jar']) implementation files('libs/gson-2.8.4.jar') implementation files('libs/StorageCoreSdk.jar') implementation 'com.android.installreferrer:installreferrer:1.0' }
AndroidManifest.xml 설정
퍼미션 추가
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" /> <uses-permission android:name="android.permission.INTERNET" />
입력해야 할 기본 정보는 다음과 같습니다. String은 특수문자 포함 100자 이내로 입력하셔야 합니다.
| Name | Value | Description | | ---------------- | ------ | ------------------------------------------------------------ | | Server IP | String | NCP API URL
https://gamereport.apigw.ntruss.com/storagecore/sdk
\ 샘플로 지정된 IP 주소를 Live URL 정보로 변경 부탁드립니다. | | Auth Key | String | API 사용 인증 키
Service Center > 게임 설정에서 인증키값을 확인 후 입력해 주시기 바랍니다.
* 집계를 위한 필수 항목입니다. | | Game Version | String | 게임 버전
* 집계를 위한 필수 항목입니다. | | Channel Code | String | 채널링 코드
게임 스토어의 채널 정보를 입력합니다.
* 집계를 위한 필수 항목입니다. | | Channel ID | String | 채널링 아이디
회원 가입한 사용자의 이메일 주소 정보를 입력합니다.
* 필수 적용 항목은 아닙니다.* |Member ID(계정ID)와 Nick Name(닉네임)은 게임 유저 정보에 따라 별도 설정해 주어야 합니다.
SDK 초기화
앱 최초 실행시 SDK를 초기화 해야 합니다.
라이브러리를 사용하기 위해선 다음과 같이 임포트 합니다.
import com.coresight.storagecoresdk.StorageCoreManager; import com.coresight.storagecoresdk.StorageCoreApi; import com.coresight.storagecoresdk.Models.Enums.*;
MainActivity -> onCreate 함수에서 다음과 같이 initSDK 함수를 호출합니다.
StorageCoreManager.initSDK(this, "http://203.233.111.76:8091", "YWtoaWw6YWtoaWw=", "1.0", "GOOGLE", "media_account@gmail.com", "testuserid01", "TestCharID", "testnickname01");