モジュール:コンテキスト
目次
機能
- chooseAsync
- createAsync
- getId
- getPlayersAsync
- getType
- inviteAsync
- isSizeBetween
- shareAsync
- shareLinkAsync
- switchAsync
- updateAsync
機能
chooseAsync
▸ chooseAsync(payload?): Promise<void>
プレイヤーの選択ダイアログのコンテキストを開きます。プレイヤーが使用可能なコンテキストを選択した場合、クライアントはそのコンテキストへの同期を試み、成功すれば処理が完了します。しかし、プレイヤーがメニューを終了した場合、それかクライアントが新しいコンテキストへの同期に失敗した場合、この処理は完了しません。
例
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
payload? |
ChoosePayload |
コンテキストの選択肢を定義するオブジェクト。 |
Returns
Promise<void>
コンテキストが切り替わった場合に解決する Promise。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- SAME_CONTEXT
- NETWORK_FAILURE
- USER_INPUT
- PENDING_REQUEST
- CLIENT_UNSUPPORTED_OPERATION
createAsync
▸ createAsync(playerId?): Promise<void>
現在のプレーヤーと、特定のプレーヤーまたはプレーヤーリストとの間のコンテキストの作成の際に使用可能。このAPIは、次の3つのユースケースに対応しています: 1) 入力がひとつの playerID の場合、特定のプレイヤーと現在のプレイヤーとの間のコンテキストの作成または切り替えを試みる時。2) 入力が複数の playerID リストであり、すべてのプレーヤーを含むコンテキストを作成しようとする時。3) 入力がない場合、フレンドピッカー(友達招待の機能)がロードされ、一緒にプレイするプレイヤーとのコンテキストを作成するよう、現在のプレイヤーに要求する時。
また、プレイヤーリストのプレイヤーが現在のプレイヤーと繋がっていない場合、またはプレイヤーが新しいコンテキストの実行を拒否した場合などに返されるPromise は拒否されます。しかし、そうでない場合、ゲームは新しいコンテキストに切り替わる際に、Promise は解決されます。
例
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
playerId? |
string | string[] |
コンテキストを作成するプレイヤーIDまたはプレイヤーIDリスト。指定がない場合、フレンドピッカー(友達招待の機能)がロードされ、一緒にプレイするプレイヤーとのコンテキストを作成するよう、現在のプレイヤーに要求します。LinkとViberについては、1つのプレイヤーIDしか受け付けません。 |
Returns
Promise<void>
ゲームが新しいコンテキストに切り替わったときに解決するPromise。それ以外の場合は拒否されます。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- SAME_CONTEXT
- NETWORK_FAILURE
- USER_INPUT
- PENDING_REQUEST
- CLIENT_UNSUPPORTED_OPERATION
getId
▸ getId(): string | null
現在のコンテキストのIDを取得します。
例
Returns
string | null
現在のコンテキストの文字列 ID(存在する場合)。シングルプレイヤーの場合、または現在コンテキストをサポートしていないプラットフォームでゲームがプレイされている場合、Null を戻します。
getPlayersAsync
▸ getPlayersAsync(): Promise<ConnectedPlayer[]>
現在のコンテキストでアクティブなプレイヤーたちに関する情報(過去90日間に現在のコンテキストでゲームをプレイしたプレイヤー)を含む ConnectedPlayer オブジェクトの配列を取得します。
例
Wortal.context.getPlayersAsync()
.then(players => {
console.log(players.length);
console.log(players[0].id);
console.log(players[0].name);
});
Returns
Promise<ConnectedPlayer[]>
現在のコンテキストのプレーヤーリストを含む Promise。
現在のプレーヤーを含めることができます。
Throws
- NOT_SUPPORTED
- NETWORK_FAILURE
- CLIENT_UNSUPPORTED_OPERATION
- INVALID_OPERATION
getType
▸ getType(): ContextType
現在のコンテキストのタイプを取得する。
例
Returns
現在のコンテキストのタイプ。
inviteAsync
▸ inviteAsync(payload): Promise<number>
ユーザーが友達をゲームに招待するためのダイアログを呼び出します。 招待リンクにはBLOBデータを添付することができ、招待リンクから開始されたすべてのゲームセッションは、 Wortal.session.getEntryPointData() からアクセスすることができます。 データを文字列に変換する場合、最大文字数は1000文字以内でなければなりません。ユーザーはアクション(招待)をキャンセルしてダイアログを閉じることを選択でき、返される Promise は、ユーザーが実際に友達を招待したかどうかに関係なく、ダイアログが閉じられたときに解決されます。 ダイアログに含まれるセクションは、セクションパラメータを使用してカスタマイズが可能。これによって、どのセクションを含めるか、また、その各セクションに含める結果の数、そして、セクションの表示順を指定することができます。 最後のセクションには、可能な限りの結果が含まれます。 セクションが指定されていない場合、デフォルトのセクション設定が適用されます。フィルターパラメータを使用して、結果をフィルタリングできます。フィルターを適用しても結果が返されない場合、結果はフィルターなしで生成されます。
例
Wortal.context.inviteAsync({
image: 'data:base64Image',
text: 'Invite text',
cta: 'Play',
data: { exampleData: 'yourData' },
})
.then(() => console.log("Invite sent!"))
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
payload |
InvitePayload |
招待するときに共有する内容を指定します。詳しくは例をご覧ください。 |
Returns
Promise<number>
プラットフォームのフレンドピッカー(友達招待の機能)が終了したときに解決する Promise 。こちらは、メッセージが共有された友達の数を含みます。また、Facebookは常に “ 0 ”を返します。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- NETWORK_FAILURE
- PENDING_REQUEST
- CLIENT_UNSUPPORTED_OPERATION
- INVALID_OPERATION
isSizeBetween
▸ isSizeBetween(min?, max?): ContextSizeResponse | null
現在のゲームコンテキストの参加者数が指定された最小値と最大値の範囲内にあるかどうかを判定します。片方のBoundが Null の場合、もう一方のBoundのみがチェックされます。こちらは、ゲームプレイセッション内の特定のゲームコンテキストで最初に呼び出された際、常に元の結果を返します。それ以降の呼び出しの際、引数に関係なく、コンテキストの変更とクエリの結果がリセットされるまで元のクエリの結果を返します。
例
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
min? |
number |
コンテキスト内の最小プレイヤー数。 |
max? |
number |
コンテキスト内の最大プレイヤー数。 |
Returns
ContextSizeResponse | null
チェックした結果のオブジェクト。サポートされていない場合、Null を戻します。
shareAsync
▸ shareAsync(payload): Promise<number>
ダイアログを呼び出し、指定したコンテンツ(例えばユーザーのタイムライン上の投稿など)を共有できるようにします。BLOBデータをシェアに添付し、そのシェアから開始されたすべてのゲームセッションは、 Wortal.session.getEntryPointData() からアクセスすることができます。データを文字列に変換する場合、最大文字数は1000文字以内でなければなりません。ユーザーは共有アクションをキャンセルしてダイアログを閉じることを選択でき、返される Promise は、ユーザーが実際にコンテンツを共有したかどうかに関係なく、ダイアログが閉じられたときに解決されます。
例
Wortal.context.shareAsync({
image: 'data:base64Image',
text: 'Share text',
cta: 'Play',
data: { exampleData: 'yourData' },
}).then(result => console.log(result)); // Contains shareCount with number of friends the share was sent to.
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
payload |
SharePayload |
共有メッセージを定義するオブジェクト。 |
Returns
Promise<number>
プラットフォームのフレンドピッカー(友達招待の機能)が終了したときに解決する Promise 。
こちらは、メッセージが共有された友達の数を含みます。また、Facebookは常に “ 0 ”を返します。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- NETWORK_FAILURE
- PENDING_REQUEST
- CLIENT_UNSUPPORTED_OPERATION
- INVALID_OPERATION
shareLinkAsync
▸ shareLinkAsync(payload): Promise<void>
ユーザーがクリップボードにコピーしたり共有したりできるカスタムゲームリンクを含むダイアログを起動します。カスタムリンクにはBLOBデータを添付することができます。リンクから開始されたゲームセッションは、Wortal.session.getEntryPointData() からデータにアクセスできます。データを文字列に変換する場合、最大文字数は1000文字以内でなければなりません。提供されたテキストと画像は、プレビューのリンクを生成するために使用されます。プレビューのタイトルはゲーム名となります。テキストは44文字以下であることが推奨されています。画像は、正方形またはアスペクト比1.91:1であることが推奨されています。返される Promise は、ユーザーが実際にリンクを共有したかどうかに関係なく、ダイアログが閉じられたときに解決されます。
例
Wortal.context.shareLinkAsync({
image: 'data:base64Image',
text: 'Share text',
data: { exampleData: 'yourData' },
})
.then(() => resumeGame);
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
payload |
LinkSharePayload |
カスタムリンクのペイロードを定義するオブジェクト。 |
Returns
Promise<void>
ダイアログが閉じられた場合に解決する Promise。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- NETWORK_FAILURE
- PENDING_REQUEST
- INVALID_OPERATION
switchAsync
▸ switchAsync(contextId): Promise<void>
特定のコンテキストへの切り替えをリクエストします。プレイヤーがそのコンテキストに入る権限を持っていない場合、またはプレイヤーがゲームがそのコンテキストに入る許可を与えない場合、このリクエストは拒否されます。それ以外の場合、プロミスはゲームが指定されたコンテキストに切り替わったときに解決されます。
例
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
contextId |
string |
切り替えたいコンテキストのID、または"SOLO"(ソロ)という文字列を指定して、ソロコンテキストに切り替えます。 |
Returns
Promise<void>
指定したコンテキストにゲームが切り替わったときに解決するPromise。それ以外の場合は拒否されます。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- SAME_CONTEXT
- NETWORK_FAILURE
- USER_INPUT
- PENDING_REQUEST
- CLIENT_UNSUPPORTED_OPERATION
updateAsync
▸ updateAsync(payload): Promise<void>
現在のコンテキストのチャットスレッドにメッセージを送信し、アップデートを投稿します。プレーヤーがこのメッセージからゲームを開始すると、それらのゲームセッションは Wortal.session.getEntryPointData() から指定されたBLOBデータにアクセスできるようになります。
例
Wortal.context.updateAsync({
image: 'data:base64Image',
text: 'Update text',
cta: 'Play',
data: { exampleData: 'yourData' },
});
パラメーター
| 名前 | タイプ | 内容説明 |
|---|---|---|
payload |
UpdatePayload |
更新メッセージを定義するオブジェクト。 |
Returns
Promise<void>
更新メッセージをを定義するオブジェクト。
Throws
- NOT_SUPPORTED
- INVALID_PARAM
- PENDING_REQUEST
- INVALID_OPERATION