모듈: 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