コンテンツにスキップ

モジュール:コンテキスト

目次

機能

機能

chooseAsync

chooseAsync(payload?): Promise<void>

プレイヤーの選択ダイアログのコンテキストを開きます。プレイヤーが使用可能なコンテキストを選択した場合、クライアントはそのコンテキストへの同期を試み、成功すれば処理が完了します。しかし、プレイヤーがメニューを終了した場合、それかクライアントが新しいコンテキストへの同期に失敗した場合、この処理は完了しません。

Wortal.context.chooseAsync()
    .then(console.log(Wortal.context.getId()));

パラメーター

名前 タイプ 内容説明
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 は解決されます。

Wortal.context.createAsync('player123');

パラメーター

名前 タイプ 内容説明
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を取得します。

let id = Wortal.context.getId();
console.log(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

現在のコンテキストのタイプを取得する。

let type = Wortal.context.getType();
console.log(type);

Returns

ContextType

現在のコンテキストのタイプ。


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のみがチェックされます。こちらは、ゲームプレイセッション内の特定のゲームコンテキストで最初に呼び出された際、常に元の結果を返します。それ以降の呼び出しの際、引数に関係なく、コンテキストの変更とクエリの結果がリセットされるまで元のクエリの結果を返します。

let result = Wortal.context.isSizeBetween(2, 4);
console.log(result.answer);

パラメーター

名前 タイプ 内容説明
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>

特定のコンテキストへの切り替えをリクエストします。プレイヤーがそのコンテキストに入る権限を持っていない場合、またはプレイヤーがゲームがそのコンテキストに入る許可を与えない場合、このリクエストは拒否されます。それ以外の場合、プロミスはゲームが指定されたコンテキストに切り替わったときに解決されます。

Wortal.context.switchAsync('abc123');

パラメーター

名前 タイプ 内容説明
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