모듈: player
목차
기능
- canSubscribeBotAsync
 - flushDataAsync
 - getASIDAsync
 - getConnectedPlayersAsync
 - getDataAsync
 - getID
 - getName
 - getPhoto
 - getSignedASIDAsync
 - getSignedPlayerInfoAsync
 - getTokenAsync
 - isFirstPlay
 - onLogin
 - setDataAsync
 - showAuthPromptAsync
 - showLinkAccountPromptAsync
 - subscribeBotAsync
 
기능
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 호출은 거부됩니다.
예
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는 네이티브 게임에도 표시됩니다.
예
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를 가져옵니다.
예
Returns
string | null
플레이어 ID.
getName
▸ getName(): string | null
플랫폼의 플레이어 이름을 가져옵니다.
예
Returns
string | null
플레이어 이름.
getPhoto
▸ getPhoto(): string | null
플랫폼에서 플레이어의 사진을 가져옵니다.
예
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>
플랫폼에서 플레이어의 토큰을 가져옵니다.
예
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
플레이어가 로그인 또는 계정 등록을 할 때 호출되는 콜백을 등록합니다.
예
매개변수
| 이름 | 유형 | 설명 | 
|---|---|---|
callback | 
() => void | 
플레이어가 로그인 또는 계정 등록을 할 때 호출되는 콜백입니다. | 
Returns
void
Throws
- NOT_SUPPORTED
 
setDataAsync
▸ setDataAsync(data): Promise<void>
현재 플레이어가 지정한 클라우드 스토리지에 저장할 데이터를 설정합니다.
플랫폼 1: 페이스북/링크에서는 각 플레이어당 최대 1MB의 데이터 저장 가능.
플랫폼2: Viber에서는 문자열로 변환하여 최대 1000자까지 저장 가능
예
매개변수
| 이름 | 유형 | 설명 | 
|---|---|---|
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는 새로운 플레이어 정보로 업데이트됩니다.
예
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)을 거부한다.
예
Returns
Promise<void>
P플레이어가 게임 봇(Bot) 구독에 성공하면 해결되고, 실패하거나 플레이어가 구독을 거부하면 거부됩니다.
Throws
- NOT_SUPPORTED
 - INVALID_PARAM
 - PENDING_REQUEST
 - CLIENT_REQUIRES_UPDATE