Skip to content

모듈: player

목차

기능

기능

canSubscribeBotAsync

canSubscribeBotAsync(): Promise<boolean>

현재 사용자가 게임 봇(Bot)을 구독할 수 있는지 확인합니다.

Wortal.player.canSubscribeBotAsync()
.then(canSubscribe => console.log("Can subscribe to bot: " + canSubscribe));

Returns

Promise<boolean>

플레이어가 게임의 봇(Bot)을 구독할 수 있는지 여부를 해결하는 Promise로, 개발자는 player.canSubscribeBotAsync()를 체크한 후에만 player.subscribeBotAsync()를 호출할 수 있습니다, 게임은 일주일에 한 번 플레이어에게 봇(Bot) 구독 대화창을 표시할 수 있다.

Throws

  • NOT_SUPPORTED
  • RATE_LIMITED
  • INVALID_OPERATION
  • CLIENT_UNSUPPORTED_OPERATION

flushDataAsync

flushDataAsync(): Promise<void>

저장되지 않은 데이터를 플랫폼의 스토리지에 플래시한다. 이 방법은 비용이 많이 들기 때문에 중요한 변경이 즉각적이고 영구적으로 필요한 경우, 그리고 게임이 이를 인식하는 경우에 사용해야 한다. 중요한 변경이 아닌 경우, 플랫폼에 의존하여 백그라운드에서 영구화해야 한다.

참고: 결과가 대기 중인 동안 player.setDataAsync 호출은 거부됩니다.

Wortal.player.flushDataAsync()
 .then(() => console.log("Data flushed."));

Returns

Promise<void>

변경 사항이 성공적으로 영속화되면 해결되는 Promise, 그렇지 않으면 저장되지 않습니다.

Throws

  • NOT_SUPPORTED
  • INVALID_PARAM
  • NETWORK_FAILURE
  • PENDING_REQUEST
  • CLIENT_UNSUPPORTED_OPERATION

getASIDAsync

getASIDAsync(): Promise<string>

플레이어의 고유 식별자. 이것은 일반적인 Facebook Application-Scoped ID이며, 모든 그래프 API 호출에 사용됩니다. 네이티브 게임과 동일한 AppID를 공유하는 경우, 이 ID는 네이티브 게임에도 표시됩니다.

Wortal.player.getASIDAsync()
.then(asid => console.log("Player ASID: " + asid));

Returns

Promise<string>

플레이어의 고유 식별자. 문자열은 null로 가능합니다.

Throws

  • NOT_SUPPORTED
  • RETHROW_FROM_PLATFORM

getConnectedPlayersAsync

getConnectedPlayersAsync(payload?): Promise<ConnectedPlayer[]>

현재 플레이어와 연결된 활성 플레이어들의 정보를 포함한 ConnectedPlayer 객체의 배열을 가져옵니다.

플랫폼 : Facebook은 페이로드 파라미터나 필터를 지원하지 않습니다. 따라서 항상 지난 90일 동안 게임을 플레이한 플레이어 목록을 반환합니다.

Wortal.player.getConnectedPlayersAsync({
    filter: 'ALL',
    size: 20,
    hoursSinceInvitation: 4,
}).then(players => console.log(players.length));

매개변수

이름 유형 설명
payload? ConnectedPlayerPayload 친구가 얻을 수 있는 옵션.

Returns

Promise<ConnectedPlayer[]>

연결된 플레이어 오브젝트 목록으로 해결되는 Promise.

Throws

  • NOT_SUPPORTED
  • NETWORK_FAILURE
  • CLIENT_UNSUPPORTED_OPERATION

getDataAsync

getDataAsync(keys): Promise<any>

지정된 클라우드 스토리지에서 현재 플레이어의 데이터를 가져온다.

플랫폼: 페이스북에서 문자열로 저장된 JSON 객체는 JSON 객체로 반환된다.

Wortal.player.getDataAsync(['items', 'lives'])
 .then(data => {
     console.log(data['items']);
     console.log(data['lives']);
 });

매개변수

이름 유형 설명
keys string[] 가져오는 데이터 배열의 키입니다.

Returns

Promise<any>

입력 배열에 지정된 각 키에 대해 현재 키와 값의 쌍이 존재할 경우, 이를 포함하는 객체로 해결하는 Promise.

Throws

  • NOT_SUPPORTED
  • INVALID_PARAM
  • NETWORK_FAILURE
  • CLIENT_UNSUPPORTED_OPERATION

getID

getID(): string | null

플랫폼에서 플레이어 ID를 가져옵니다.

Wortal.player.getID(); // 'Player123ABC'

Returns

string | null

플레이어 ID.


getName

getName(): string | null

플랫폼의 플레이어 이름을 가져옵니다.

Wortal.player.getName(); // 'Ragnar Lothbrok'

Returns

string | null

플레이어 이름.


getPhoto

getPhoto(): string | null

플랫폼에서 플레이어의 사진을 가져옵니다.

Wortal.player.getPhoto();

Returns

string | null

플레이어 사진의 base64 이미지 URL.


getSignedASIDAsync

getSignedASIDAsync(): Promise<SignedASID>

플레이어의 고유 식별자. 이것은 일반적인 Facebook Application-Scoped ID이며, 모든 그래프 API 호출에 사용됩니다. 네이티브 게임과 동일한 AppID를 공유하는 경우, 이 ID는 네이티브 게임에도 표시됩니다.

Wortal.player.getSignedASIDAsync()
 .then(info => {
    myServer.validate(
    info.asid,
    info.signature,
    );
  });

Returns

Promise<SignedASID>

플레이어의 ASID와 시그니처가 포함된 오브젝트를 해결하는 Promise.

Throws

  • NOT_SUPPORTED
  • RETHROW_FROM_PLATFORM

getSignedPlayerInfoAsync

getSignedPlayerInfoAsync(): Promise<object>

검증을 위한 플레이어 ID와 서명이 포함된 서명된 플레이어 오브젝트를 가져옵니다. 이를 통해 게임 및 구매 데이터 등 검증을 위한 데이터를 백엔드 서버로 전송하는 데 사용할 수 있습니다.

Wortal.player.getSignedPlayerInfoAsync()
 .then(info => {
     myServer.validate(
         info.id,
         info.signature,
         gameDataToValidate,
     )
 });

Returns

Promise<object>

플레이어 ID와 서명이 포함된 오브젝트로 해결되는 Promise.

Throws

  • NOT_SUPPORTED
  • INVALID_PARAM
  • NETWORK_FAILURE
  • CLIENT_UNSUPPORTED_OPERATION

getTokenAsync

getTokenAsync(): Promise<string>

플랫폼에서 플레이어의 토큰을 가져옵니다.

Wortal.player.getTokenAsync()
.then(token => console.log("Player token: " + token));

Returns

Promise<string>

플레이어 토큰으로 해결하는 Promise.

Throws

  • AUTH_NOT_ENABLED
  • USER_NOT_AUTHENTICATED
  • UNKNOWN
  • NOT_SUPPORTED

isFirstPlay

isFirstPlay(): boolean

플레이어가 이 게임을 처음 플레이했는지 확인합니다.

if (Wortal.player.isFirstPlay()) {
   // Show tutorial
   Wortal.player.setDataAsync({ tutorialShown: true });
}

Returns

boolean

첫 번째 플레이인 경우 true를 반환합니다. 플랫폼에 따라서는 데이터의 지속성이 없어 항상 true를 반환합니다.


onLogin

onLogin(callback): void

플레이어가 로그인 또는 계정 등록을 할 때 호출되는 콜백을 등록합니다.

Wortal.player.onLogin(() => console.log("Player logged in or registered"));

매개변수

이름 유형 설명
callback () => void 플레이어가 로그인 또는 계정 등록을 할 때 호출되는 콜백입니다.

Returns

void

Throws

  • NOT_SUPPORTED

setDataAsync

setDataAsync(data): Promise<void>

현재 플레이어가 지정한 클라우드 스토리지에 저장할 데이터를 설정합니다.

플랫폼 1: 페이스북/링크에서는 각 플레이어당 최대 1MB의 데이터 저장 가능.

플랫폼2: Viber에서는 문자열로 변환하여 최대 1000자까지 저장 가능

Wortal.player.setDataAsync({
    items: {
        coins: 100,
        boosters: 2
    },
    lives: 3,
});

매개변수

이름 유형 설명
data Record<string, unknown> 클라우드 스토리지에 영구화할 키-값 쌍을 포함하는 오브젝트. 이 객체에는 직렬화 가능한 값만 포함해야 한다. 직렬화할 수 없는 값을 포함하면 전체 수정이 거부됩니다..

Returns

Promise<void>

입력값이 설정되면 해결되는 Promise.

참고: 입력이 해결되었다고 해서 반드시 입력이 영구화되었다는 의미는 아닙니다. 즉, 데이터가 유효하고 저장되도록 예약되어 있으며, 설정된 모든 값이 player.getDataAsync에서 사용할 수 있게 되었다는 것을 의미합니다.

Throws

  • NOT_SUPPORTED
  • INVALID_PARAM
  • NETWORK_FAILURE
  • PENDING_REQUEST
  • CLIENT_UNSUPPORTED_OPERATION

showAuthPromptAsync

showAuthPromptAsync(): Promise<void>

플레이어에게 인증 프롬프트를 표시합니다. 이를 통해 플레이어는 로그인 또는 계정 등록을 할 수 있습니다. 플레이어가 성공적으로 로그인 또는 등록하면 플레이어 API는 새로운 플레이어 정보로 업데이트됩니다.

Wortal.player.showAuthPromptAsync()
.then(() => console.log("Player logged in or registered"));

Returns

Promise<void>

플레이어가 로그인 또는 등록할 때 해결되는 Promise.

Throws

  • AUTH_IN_PROGRESS
  • USER_ALREADY_AUTHENTICATED
  • USER_INPUT
  • NOT_SUPPORTED

showLinkAccountPromptAsync

showLinkAccountPromptAsync(): Promise<boolean>

플레이어에게 계정 연결 프롬프트를 표시합니다. 이를 통해 플레이어는 자신의 계정을 다른 플랫폼에 연결할 수 있습니다.

Wortal.player.showLinkAccountPromptAsync()
.then(isLinked => console.log("Player linked account: " + isLinked));

Returns

Promise<boolean>

플레이어가 계정을 연동하면 해결되는 Promise.

Throws

  • LINK_IN_PROGRESS
  • USER_NOT_AUTHENTICATED
  • NOT_SUPPORTED

subscribeBotAsync

subscribeBotAsync(): Promise<void>

플레이어가 게임 봇(Bot)을 구독하도록 요청합니다. 성공하면 플레이어는 봇(Bot)을 구독하고, 실패하면 API는 봇(Bot)을 거부한다.

Wortal.player.subscribeBotAsync()
.then(() => console.log("Player subscribed to bot"));

Returns

Promise<void>

P플레이어가 게임 봇(Bot) 구독에 성공하면 해결되고, 실패하거나 플레이어가 구독을 거부하면 거부됩니다.

Throws

  • NOT_SUPPORTED
  • INVALID_PARAM
  • PENDING_REQUEST
  • CLIENT_REQUIRES_UPDATE