본문으로 건너뛰기
버전: 5.11.8

Initialize

public BackendReturnObject Initialize(bool useAsyncPoll = false, bool autoLocationToAsync = true);
public BackendReturnObject Initialize(BackendCustomSetting settings);
public void InitializeAsync(bool useAsyncPoll, bool autoLocationToAsync, Action<BackendReturnObject> callback);
public void InitializeAsync(BackendCustomSetting settings, Action<BackendReturnObject> callback);

파라미터

ValueTypeDescription
useAsyncPollbool비동기 함수의 콜백을 풀링 기능을 이용하여 메인 스레드에서 처리할지 여부
autoLocationToAsyncbool국가 정보 불러오기를 비동기로 호출할 것인지, 혹은 초기화 함수 후에 호출하여 국가정보 불러오기까지 응답을 함께 받을 것인지 여부
settingsBackendCustomSetting뒤끝 SDK를 초기화할 때 사용할 인자 값 객체
callbackAction<BackendReturnObject>초기화 성공/실패 시 호출할 비동기 함수의 콜백 함수

useAsyncPoll

useAsyncPoll 인자를 true로 선언한 경우 반드시 유니티 특정 객체에서 Update 함수 혹은 코루틴 등을 활용하여 Backend.AsyncPoll 함수를 주기적으로 호출해야 비동기 함수의 콜백이 정상적으로 호출됩니다.

autoLocationToAsync

autoLocationToAsync를 true로 선언한 경우 초기화 함수 성공 응답 이후, InitializeAsync에 대한 callback은 Success로 리턴되고, 국가 정보 불러오기 함수가 호출됩니다.
autoLocationToAsync를 false 선언한 경우 초기화 함수 성공 응답 이후, 국가 정보 불러오기 함수를 호출하고 응답을 기다린 뒤, 두 개 모두 성공일 경우에 Success가 리턴됩니다.

자세한 내용은 콜백 함수 풀링 문서를 참고해 주세요.

BackendCustomSetting

ValueTypeDescriptionDefault
packageNamestring게임의 패키지 네임string.Empty
clientAppIDstring게임을 구분하는 게임 고유 아이디string.Empty
signatureKeystring게임 데이터를 서버와 주고받을 시 데이터를 암호화할 때 필요한 키string.Empty
functionAuthKeystring뒤끝펑션을 사용할 때 인증을 위한 키string.Empty
isAllPlatformboolAndroid 혹은 iOS 기기 이외의 다른 OS 허용 여부를 결정하는 값
해당 값이 false일 경우, Android 혹은 iOS 이외의 OS에서 서버로 접속을 시도하는 경우 오류가 리턴됩니다.true
sendLogReportbool서버로 요청을 보낼 때 서버에 추가로 로그를 저장할지 결정하는 값입니다.true
timeOutSecuint서버로 요청을 보냈을 때 설정한 시간(초) 동안 응답이 오지 않았을 경우 타임아웃 에러로 처리할 시간을 결정합니다.
default: 100초, 최소: 30초, 최대: 100초100
useAsyncPollbool비동기 함수의 콜백을 풀링 기능을 이용하여 메인 스레드에서 처리할지 여부false
autoLocationToAsync를bool국가 정보 불러오기를 비동기로 호출할 것인지, 혹은 초기화 함수 후에 호출하여 국가정보 불러오기까지 응답을 함께 받을 것인지 여부false

packageName이 string.Empty 인 경우 sdk를 초기화 할 때 Application.identifier 값을 사용합니다.

설명

뒤끝 SDK를 사용하기 위해서는 반드시 SDK 초기화를 수행해야 합니다.
초기화는 게임이 실행되는 동안 1회만 수행하면 됩니다.

초기화 함수의 인자 값으로 BackendCustomSetting을 넘길 경우 유니티 인스펙터 창에서 설정한 The Backend Settings의 값은 모두 무시하고, BackendCustomSettings에 정의된 값으로 SDK 초기화를 시도합니다.

The Backend Settings에 정의된 값과 BackendCustomSetting에 정의된 값을 혼용하여 사용할 수 없습니다.

Example

동기

using BackEnd;

void Start()
{
// 첫 번째 방법(동기)
var bro = Backend.Initialize(true, true);
if(bro.IsSuccess())
{
// 초기화 성공 시 로직
}
else
{
// 초기화 실패 시 로직
}
}

동기(SDK 설정값을 직접 선언)

using BackEnd;

void Start()
{
// 두 번째 방법(동기)
// SDK 설정값
BackendCustomSetting settings = new BackendCustomSetting();
settings.clientAppID = "클라이언트 앱 아이디";
settings.signatureKey = "시그니처 키";
settings.functionAuthKey = "뒤끝펑션 키";
settings.isAllPlatform = true;
settings.sendLogReport = true;
settings.timeOutSec = 100;
settings.useAsyncPoll = true;

var bro = Backend.Initialize(settings);
if(bro.IsSuccess())
{
// 초기화 성공 시 로직
}
else
{
// 초기화 실패 시 로직
}
}

비동기

using BackEnd;

void Start()
{
// 세 번째 방법(비동기)

// 외부쓰레드 응답을 메인쓰레드로 가져오는 로직을 활성화할 것인지 여부
bool useAsyncPoll = true;

// 국가 정보 불러오기를 비동기로 별도 호출할 것인지 여부(false일 경우, 초기화 응답 이후 국가 정보 불러오기)
bool autoLocationToAsync = true;
Backend.InitializeAsync(useAsyncPoll, autoLocationToAsync, callback => {
if(callback.IsSuccess())
{
// 초기화 성공 시 로직
}
else
{
// 초기화 실패 시 로직
}
});
}

비동기(SDK 설정값을 직접 선언)

using BackEnd;

void Start()
{
// 네 번째 방법(비동기)
// SDK 설정값
BackendCustomSetting settings = new BackendCustomSetting();
settings.clientAppID = "클라이언트 앱 아이디";
settings.signatureKey = "시그니처 키";
settings.functionAuthKey = "뒤끝펑션 키";
settings.isAllPlatform = true;
settings.sendLogReport = true;
settings.timeOutSec = 100;
settings.useAsyncPoll = true;
settings.autoLocationToAsync = false;

Backend.InitializeAsync(settings, callback => {
if(callback.IsSuccess())
{
// 초기화 성공 시 로직
}
else
{
// 초기화 실패 시 로직
}
});
}

Return Cases


Success Case statusCode : 204
message : Success

추가로 유니티 디버그 콘솔 창에 Server setting success가 출력됩니다.


Error Case Client App ID 혹은 Signature Key가 잘못된 경우
statusCode : 404
errorCode : NotFoundException
message : game not found, game을(를) 찾을 수 없습니다

Client App ID 혹은 Signature Key가 null 혹은 string.Empty인 경우
statusCode : 400
errorCode : InitializeFail
message : Please Edit the Baceknd Settings