초기화 및 상태변화 이벤트 처리 SDK 예제
초기화 및 상태변화 이벤트 처리
앱 이벤트 메서드 초기화 (iOS Only)
SDK에서 AppDelegate 메서드를 처리하기 위해 초기화 하는 과정을 수행합니다.
AppDelegate 클래스에서 호출되어야 합니다.
SDK 초기화
SDK에서 사용하는 앱 정보를 설정하고 초기화 하는 과정을 수행합니다.
게임 시작 시 다른 API보다 먼저 호출되어야 합니다.
Unity - Unity 클라이언트 SDK API | SDK 초기화
Unreal - Unreal 클라이언트 SDK API | SDK 초기화
Android -Android 클라이언트 SDK API | SDK 초기화
Windows - Windows 클라이언트 SDK API | SDK 초기화
스타트 (Start) 하기
게임이 실행되면, 게임은 시작 함수를 호출하여 게임이 실행되었다는 정보를 카카오게임 SDK로 전달해야 합니다.
카카오게임 SDK의 시작 함수가 호출되면 플랫폼의 공지 사항, 업데이트 정보, 약관 동의 등의 UI 기능을 수행합니다.
만약 이전에 로그인한 사용자의 기록이 있다면 자동 로그인을 수행합니다. 이후 그 결과를 메서드 호출 시 게임에서 입력한 콜백 함수를 통해 전달합니다.
따라서, 게임은 그 결과를 활용하여 사용자의 인증을 먼저 수행해야 할지, 혹은 이전에 하던 게임을 재개해야 할 지에 대한 결정을 할 수 있습니다.
Windows - Windows 클라이언트 SDK API | 스타트 (Start) 하기
Pause 하기
모바일 환경에서 게임이 백그라운드로 내려가는 시점이 오면, 게임은 Pause API를 호출하여 게임이 비 활성화되었다는 정보를 카카오게임 SDK로 전달해야 합니다.
카카오게임 SDK는 Pause API가 호출되면 배터리 소모를 막기 위해 연결된 세션을 끊고, 주기적으로 발송되던 Heartbeat을 중단합니다.
Unity - Unity 클라이언트 SDK API | Pause 하기
Unreal - Unreal 클라이언트 SDK API | Pause 하기
Android - Android 클라이언트 SDK API | Pause 하기
Resume 하기
모바일 환경에서 게임이 백그라운드로 내려갔다가 다시 활성화되는 시점이 오면, 게임은 Resume API를 호출하여 게임이 활성화되었다는 정보를 카카오게임 SDK로 전달해야 합니다.
카카오게임 SDK는 Resume 메서드가 호출되면 인증의 만료 여부를 확인하고 그 여부에 따라 세션을 복구한 후 그 결과를 메서드 호출시 게임에서 입력한 콜백 함수를 통해 전달합니다.
게임은 그 결과를 활용하여 사용자의 인증을 다시 수행해야 할지, 혹은 이전에 하던 게임을 재개해야 할 지에 대한 결정을 할 수 있습니다.
윈도우즈 환경에서 자동로그인 설정하기
윈도우즈 환경에서 지원하는 기능입니다.
SDK에서 제공하는 기본 로그인 UI를 사용하지 않고, 로그인 UI를 직접 구현하는 경우 자동로그인 방식을 설정하는 기능을 제공합니다.
자동로그인 유무를 설정하지 않으면 기본으로 자동로그인을 위한 파일을 생성하지 않습니다.
자동로그인을 위한 파일이 생성되는 위치는 PC에서 여러 사용자가 있을 수 있어서 ".kakaogames" 폴더에 ".access"이름의 파일에 암호화되어 저장하고 있습니다.
게임을 삭제하고 재 설치 시 자동로그인 파일이 남아 있는 경우 자동로그인이 진행되는 것을 막기 위해 윈도우SDK파일(KakaoGame.dll)위치에 암호화된 ".access"파일이 존재하는지 여부를 체크하고 정상적인 파일일 때 자동로그인 정보가 들어있는 파일을 불러와 자동로그인을 수행합니다.
자동로그인을 위한 파일들이 손상되면 해당 파일들을 삭제합니다.
자동로그인을 위한 파일이 존재한 상태에서 로그아웃이나 탈퇴를 진행하면 자동로그인을 위한 파일이 삭제됩니다.
새로운 Intent 받기 설정 추가하기
Android SDK를 직접 사용하는 경우 필요한 설정입니다.
게임의 MainActivity 내부에 아래와 같이 콜백을 추가합니다.
이 설정을 추가하지 않으면 게임하기를 통한 게임의 유입경로 체크에 문제가 됩니다. 반드시 추가해주세요.
그리고 Unity 환경에서 직접 Android SDK를 연동하는 경우 아래 설정을 추가한 해당 MainActivity를 Unity 의 Assets/Plugins/Android/AndroidManifest.xml 파일에 main activity로 설정해 줍니다.
(카카오게임 Unity, Unreal SDK를 사용하는 경우 자동으로 설정하고 있어서 추가 설정이 필요하지 않습니다.)