Skip to content

서버 검증(필수) ​

  • 플레이어가 로그인 성공 후, 서버를 선택한 후 "게임 시작" 버튼을 클릭할 때 이 인터페이스를 호출하여 선택한 서버 상태가 정상인지 감지하고, 백그라운드에서 플레이어 로그인 서버 정보를 기록합니다. 서버 상태가 정상인 경우에만 게임에 진입할 수 있습니다. 현재 서버가 점검 상태인 경우, SDK는 점검 알림을 팝업하고 error를 반환하며, 이 때 게임은 이 인터페이스에 머물러 게임 진입 후속 로직을 중지하여 플레이어가 다른 서버를 선택하거나 서버가 열릴 때까지 기다릴 수 있도록 해야 합니다.
  • 이 인터페이스에 전달되는 서버 정보는 플레이어의 마지막 로그인 서버 정보여야 하며, 게임이 게임의 서버 선택 페이지 인터페이스를 사용할 때는 반드시 올바른 serverid를 전달해야 합니다. SDK는 전달된 serverid 값을 기반으로 SDK 서버 백엔드에서 이 서버 상태를 확인합니다.

다이어그램 ​

서버 검증 다이어그램

  • 그림과 같이, 플레이어가 "게임 시작" 버튼을 클릭할 때 이 인터페이스를 호출하여 플레이어가 선택한 서버 상태를 검증합니다.

함수 ​

  • 함수1:
java
public static void gamedreamerCheckServer(Context context,HashMap<String,String> map,GamedreamerCheckServerListener gamedreamerCheckServerListener)
  • 함수2:
java
public static void gamedreamerCheckServer(final Context context,final HashMap<String,String> map, GamedreamerCheckServerControlByGameListener gamedreamerCheckServerListener)
  • 함수1 설명:리스너는 서버 검증 상태가 정상일 때만 콜백 메서드를 트리거합니다. SDK 내부에서 검증 실패 시 dialog를 팝업하여 플레이어에게 알립니다.
  • 함수2 설명:게임이 검증 실패 시 관련 로직을 처리해야 할 때 이 인터페이스를 호출합니다. 이 메서드의 리스너는 서버 검증 성공과 실패 시 모두 관련 콜백 메서드를 트리거합니다. 이 함수를 호출하면 SDK 내부에서 검증 실패 상황을 처리하지 않으며, 게임이 직접 플레이어에게 알려야 합니다.
  • 두 함수 중 게임 요구사항에 따라 하나만 호출하면 됩니다. 어느 함수를 접속하든, 서버 검증 성공 콜백 메서드에서만 게임에 진입할 수 있습니다

함수1 매개변수 설명 ​

매개변수설명
contextContext 컨텍스트.
mapmap에 GDValues.USERID와 GDValues.SERVERCODE 두 매개변수를 전달해야 하며, 값은 각각 SDK 사용자 ID와 상태를 확인해야 할 서버의 serverCode입니다. ; v1.5.38 이후 GDValues.USERID 생략 가능。
gamedreamerCheckServerListener서버 검증 리스너.

onCheckServer 콜백 설명 ​

GamedreamerCheckServerListener.onCheckServer 콜백 메서드 설명:

  • 서버 상태가 정상으로 검증될 때 콜백됩니다.메서드 반환 매개변수 설명:
매개변수설명
server검증 상태가 정상인 서버 정보.(게임에서 이 Server 객체 정보를 저장해야 하며, 이 Server 객체를 사용하여 로그인 시 또는 플레이어가 서버를 전환할 때 저장된 Server 객체 정보를 덮어씁니다.)

예시 코드 ​

java
// 필수:GDSDK 서버 검증 인터페이스 호출, 플레이어가 "게임 진입"을 클릭할 때 이 인터페이스가 호출되는지 반드시 확인하십시오
HashMap<String, String> map = new HashMap<String, String>();
map.put(GDValues.USER_ID, gdUser.getUserId());
map.put(GDValues.SERVER_CODE, gdServer.getServercode());
GDSDK.gamedreamerCheckServer(this, map, new GamedreamerCheckServerListener() {

	@Override
	public void onCheckServer(Server server) {
		// 서버 검증 상태가 정상일 때, 이 콜백에서 게임 페이지로 진입
	}
});

함수2 매개변수 설명 ​

매개변수설명
contextContext 컨텍스트.
mapmap에 GDValues.USERID와 GDValues.SERVERCODE 두 매개변수를 전달해야 하며, 값은 각각 SDK 사용자 ID와 상태를 확인해야 할 서버의 serverCode입니다. ; v1.5.38 이후 GDValues.USERID 생략 가능。
gamedreamerCheckServerControlByGameListenerr서버 검증 리스너.

콜백 설명 ​

GamedreamerCheckServerListener.GamedreamerCheckServerControlByGameListenerr 콜백 메서드 설명:

  • onCheckServerSuccess(Server server) 콜백 메서드:서버 검증 상태가 정상일 때 콜백됩니다.(게임에서 이 Server 객체 정보를 저장해야 하며, 이 Server 객체를 사용하여 로그인 시 또는 플레이어가 서버를 전환할 때 저장된 Server 객체 정보를 덮어씁니다.)onCheckServerFail(String failMsg) 콜백 메서드:서버 검증 상태가 비정상이거나 검증 실패 시 콜백됩니다. failMsg는 실패 정보입니다.

예시 코드 ​

java
// 필수:GDSDK 서버 검증 인터페이스 호출, 플레이어가 "게임 진입"을 클릭할 때 이 인터페이스가 호출되는지 반드시 확인하십시오
HashMap<String, String> map = new HashMap<String, String>();
//map.put(GDValues.USER_ID, gdUser.getUserId());
map.put(GDValues.SERVER_CODE, gdServer.getServercode());
GDSDK.gamedreamerCheckServer(this, map, new GamedreamerCheckServerControlByGameListener() {

	@Override
	public void onCheckServerSuccess(Server server) {
		// 서버 검증 상태가 정상일 때, 이 콜백에서 게임 페이지로 진입
		Intent intent = new Intent(BeginActivity.this, GameActivity.class);
		intent.putExtra(GDValues.USER, gdUser);
		intent.putExtra(GDValues.SERVER, server);
		startActivity(intent);
		BeginActivity.this.finish();
	}

	@Override
	public void onCheckServerFail(String failMsg) {
		// 서버 검증 상태가 비정상일 때, 여기서 게임 관련 로직을 처리할 수 있으며, 게임 페이지로 진입할 수 없습니다. failMsg는 오류 정보입니다
		Toast.makeText(BeginActivity.this, failMsg, Toast.LENGTH_LONG).show();
	}
});