HTTP リクエストを通じて実行される Game Jolt API のラッパー。これには、すべての Game Jolt API エンドポイントが含まれており、可能な限り使用を簡素化することを目的としています。 Godot 4.xと互換性があります。 Godot 3.x バージョンについては、このブランチを参照してください。
使用例については、以下のドキュメントを参照してください。 addons/gamejolt/example
には、グラフィカル インターフェイス上のすべてのエンドポイントとパラメーターを含むサンプル シーンもあります。
注:パラメータの後には?
はオプションです。例: sessions_ping(status?) -> GameJolt
。
Project Settings > Plugins
でプラグインを有効にします。Project Settings > General > Game Jolt > Config > Global
で API リクエストを実行できるようにゲーム ID と秘密キーを設定します。Project Settings > General > Game Jolt > Config > Debug
でデフォルトのユーザー名とトークンを設定できます。このセットアップの後、コード上のシングルトンGameJolt
で以下のメソッドを使用して API リクエストを実行できます。
各 Game Jolt API メソッドは、成功したかどうかにかかわらず、リクエストが完了した後にシグナルを発行します。特定の信号を接続して、メソッド コールバックの応答をキャプチャできます。
func _ready () -> void :
GameJolt . time_completed . connect ( _on_GameJolt_time_completed )
GameJolt . time ()
func _on_GameJolt_time_completed ( result : Dictionary ) -> void :
# Do something with the request result...
または、信号の結果を変数でawait
こともできます。
func _onButtonTime_pressed () -> void :
GameJolt . time ()
var result : Dictionary = await GameJolt . time_completed
# Do something with the request result...
注:すべてのシグナルはresponse: Dictionary
を返します。
一般的な
user_name_changed
user_token_changed
game_id_changed
private_key_changed
ユーザー
users_fetch_completed(response: Dictionary)
users_auth_completed(response: Dictionary)
セッション
sessions_open_completed(response: Dictionary)
sessions_ping_completed(response: Dictionary)
sessions_check_completed(response: Dictionary)
sessions_close_completed(response: Dictionary)
スコア
scores_fetch_completed(response: Dictionary)
scores_tables_completed(response: Dictionary)
scores_add_completed(response: Dictionary)
scores_get_rank_completed(response: Dictionary)
トロフィー
trophies_fetch_completed(response: Dictionary)
trophies_add_achieved_completed(response: Dictionary)
trophies_remove_achieved_completed(response: Dictionary)
データストレージ
data_store_set_completed(response: Dictionary)
data_store_update_completed(response: Dictionary)
data_store_remove_completed(response: Dictionary)
data_store_fetch_completed(response: Dictionary)
data_store_get_keys_completed(response: Dictionary)
友達
friends_completed(response: Dictionary)
時間
time_completed(response: Dictionary)
バッチコール
batch_completed(response: Dictionary)
GameJolt
シングルトンをローカルで設定する一般的な方法。
認証およびその他のユーザー スコープ タスクのユーザー名を設定します。 user_name_changed
を出力します。
value: String
-> ユーザー名。 現在のユーザー名を取得します。
認証およびその他のユーザー スコープ タスク用のユーザー トークンを設定します。 user_token_changed
を発行します。
value: String
-> ユーザーのゲーム トークン。 現在のユーザーのゲーム トークンを取得します。
すべてのタスクに必要なゲーム ID を設定します。 game_id_changed
を発行します。
value: String
-> Game Jolt プロジェクトのゲーム ID。 現在のゲームIDを取得します。
すべてのタスクに必要な秘密キーを設定します。 private_key_changed
を発行します。
value: String
-> Game Jolt プロジェクトのゲーム秘密キー。 現在のゲームの秘密キーを取得します。
ユーザーのデータを返します。 users_fetch_completed
を発行します。
user_name: String
(オプション) -> データを取得したいユーザーのユーザー名。user_ids: Array[String|int]
(オプション) -> データを取得したいユーザーの ID。注: user_name
パラメータとuser_ids
パラメータは相互に排他的です。どちらか 1 つだけを使用するか、何も使用しません。何も指定されていない場合は、 GameJolt
シングルトンに設定されている現在のユーザー名から取得されます。
ユーザーの情報を認証します。これは、ユーザーの資格情報 (ユーザー名とトークン) が有効であることを確認するために、ユーザーを呼び出す前に行う必要があります。成功するには、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。 users_auth_completed
を発行します。
特定のユーザーのゲーム セッションを開き、ユーザーがゲームをプレイしていることを Game Jolt に伝えることができます。セッションをアクティブに保つにはセッションを ping する必要があり、セッションが終了したらセッションを閉じる必要があります。 sessions_open_completed
を発行します。
注:
GameJolt
シングルトンに設定する必要があります。 開いているセッションに ping を送信して、セッションがまだアクティブであることをシステムに伝えます。セッションが 120 秒以内に ping されなかった場合、システムはセッションを閉じるため、別のセッションを開く必要があります。システムがセッションを消去しないように、約 30 秒ごとに ping を実行することをお勧めします。ゲーム内でプレーヤーが"active"
状態であるか"idle"
状態であるかをシステムに知らせることもできます。 sessions_ping_completed
を発行します。
status: String
(オプション) -> セッションのステータスを"active"
または"idle"
に設定します。注:ユーザー名とトークンをGameJolt
シングルトンに設定する必要があります。
ユーザーが開いているセッションがあるかどうかを確認します。特定のユーザー アカウントがゲーム内でアクティブかどうかを確認するために使用できます。 sessions_check_completed
を発行します。
注:
"success"
フィールドにfalse
返します。この動作は、このフィールドを使用してエラー状態を示す他のエンドポイントとは異なります。GameJolt
シングルトンに設定する必要があります。 アクティブなセッションを閉じます。 sessions_close_completed
を発行します。
注:ユーザー名とトークンをGameJolt
シングルトンに設定する必要があります。
ゲームのユーザーまたはグローバルのスコアのリストを返します。 scores_fetch_completed
を出力します。
limit: String|int
(オプション) -> 返したいスコアの数。table_id: String|int
(オプション) -> スコアテーブルの ID。guest: String
(オプション) -> ゲストの名前。better_than: String|int
(オプション) -> このスコア ソート値よりも優れたスコアのみをフェッチします。worse_than: String|int
(オプション) -> このスコア ソート値よりも悪いスコアのみを取得します。this_user: bool
(オプション) -> true
の場合、現在のユーザーのスコアのみをフェッチします。それ以外の場合は、すべてのユーザーのスコアを取得します。注:
this_user
がtrue
の場合、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。limit
のデフォルト値は10
スコアです。取得できるスコアの最大数は100
です。table_id
が空白のままの場合、プライマリ スコア テーブルからのスコアが返されます。this_user
をtrue
として渡します。すべてのスコアを取得するには、 this_user
true
のままにし、 guest
""
のままにします。guest
使用すると、特定のゲスト名でスコアを取得できます。 this_user
true
として渡すか、 guest
(またはなし) のいずれかのみを渡し、両方を渡すことはありません。ゲームのハイスコアテーブルのリストを返します。 scores_tables_completed
を出力します。
ユーザーまたはゲストのスコアを追加します。 scores_add_completed
を出力します。
score: String
-> スコアに関連付けられた文字列値です。例: "500 Points"
。sort: String|int
-> これはスコアに関連付けられた数値ソート値です。すべての並べ替えはこの番号に基づいて行われます。例: 500
。table_id: String|int
(オプション) -> 送信先のスコア テーブルの ID。guest: String
(オプション) -> ゲストの名前。 GameJolt
シングルトンのユーザー名をオーバーライドします。extra_data: String|int|Dictionary|Array
(オプション) -> 文字列として保存したい追加データがある場合は、この変数を使用できます。注:
GameJolt
シングルトンにユーザー名とトークンを設定し、 guest
空のままにする必要があります。ゲスト用に保存している場合は、 guest
パラメータを渡す必要があります。extra_data
値は、API およびゲームのダッシュボードを通じてのみ取得できます。サイト上のユーザーに公開されることはありません。プレイ時間、収集したコインなど、スコアに関連する他のデータがある場合は、必ずそれを含める必要があります。これは、ゲーマーが不正にハイスコアを達成したと思われる場合に役立ちます。table_id
が空白のままの場合、スコアはプライマリ ハイ スコア テーブルに送信されます。 スコア テーブル上の特定のスコアのランクを返します。 scores_get_rank_completed
を出力します。
sort: String|int
-> これは、スコア テーブルのランクで表される数値ソート値です。table_id: String|int
(オプション) -> ランクを取得するスコア テーブルの ID。注:
table_id
空白のままにすると、プライマリ ハイスコア テーブルのランクが返されます。渡されたパラメータに応じて、1 つまたは複数のトロフィーを返します。 trophies_fetch_completed
を発行します。
sort: bool|null
(オプション) -> ユーザーに達成されたトロフィーのみを返すにはtrue
を渡します。ユーザーが達成していないトロフィーのみを返すにはfalse
を渡します。すべてのトロフィーを取得するにはnull
を渡します。trophy_ids: Array[String|int]
(オプション) -> 1 つまたは複数のトロフィーを返したい場合、すべてのトロフィーのサブセットを返したい場合は、ここにトロフィー ID を渡します。注:
trophy_ids
を渡すと、 achieved
パラメータが渡された場合は無視されます。GameJolt
シングルトンに設定する必要があります。 特定のユーザーが達成したトロフィーを設定します。 trophies_add_achieved_completed
を発行します。
trophy_id: String|int
-> ユーザーに追加するトロフィーの ID。注:ユーザー名とトークンをGameJolt
シングルトンに設定する必要があります。
特定のユーザーが以前に獲得したトロフィーを削除します。 trophies_remove_achieved_completed
を発行します。
trophy_id: String|int
-> ユーザーから削除するトロフィーの ID。注:ユーザー名とトークンをGameJolt
シングルトンに設定する必要があります。
データストアにデータを設定します。 data_store_set_completed
を発行します。
key: String
-> 設定したいデータ項目のキー。data: String|Array|Dictionary
-> 設定したいデータ。global_data: bool
(オプション) -> true
に設定すると、 GameJolt
に設定されたユーザー名とトークンを無視し、ユーザー データの代わりにグローバル データを処理します。注:
global_data
がfalse
の場合、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。 データ ストア内のデータを更新します。 data_store_update_completed
を発行します。
key: String
-> 更新するデータ項目のキー。operation: String
-> 実行したい操作。value: String|int
-> データ ストア アイテムに適用する値。global_data: bool
(オプション) -> true
に設定すると、 GameJolt
に設定されたユーザー名とトークンを無視し、ユーザー データの代わりにグローバル データを処理します。注:
operation
の有効な値: "add"
、 "subtract"
、 "multiply"
、 "divide"
、 "append"
および"prepend"
。global_data
がfalse
の場合、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。 データ ストアからデータを削除します。 data_store_remove_completed
を発行します。
key: String
-> 削除するデータ項目のキー。global_data: bool
(オプション) -> true
に設定すると、 GameJolt
に設定されたユーザー名とトークンを無視し、ユーザー データの代わりにグローバル データを処理します。注:
global_data
がfalse
の場合、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。 データ ストアからデータを返します。 data_store_fetch_completed
を発行します。
key: String
-> 取得するデータ項目のキー。global_data: bool
(オプション) -> true
に設定すると、 GameJolt
に設定されたユーザー名とトークンを無視し、ユーザー データの代わりにグローバル データを処理します。注:
global_data
がfalse
の場合、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。 ゲームのグローバル データ ストア内のすべてのキー、またはユーザーのデータ ストア内のすべてのキーを返します。 data_store_get_keys_completed
を発行します。
pattern: String
(オプション) -> データ ストア内のキー名に適用するパターン。global_data: bool
(オプション) -> true
に設定すると、 GameJolt
に設定されたユーザー名とトークンを無視し、ユーザー データの代わりにグローバル データを処理します。注:
"*"
です。"key"
値のリストを返します。 "key"
戻り値は複数回出現する可能性があります。global_data
がfalse
の場合、 GameJolt
シングルトンにユーザー名とトークンを設定する必要があります。ユーザーの友達のリストを返します。 friends_completed
を発行します。
注:ユーザー名とトークンをGameJolt
シングルトンに設定する必要があります。
Game Jolt サーバーの時刻を返します。 time_completed
を発行します。
バッチ リクエストは、開発者が 1 つの HTTP リクエストで複数の API 呼び出しを送信できるようにするサブリクエストのコレクションです。コードでバッチ呼び出しを使用するには、リクエスト呼び出しをbatch_begin
とbatch_end
の間に配置します。たとえば、メソッドは次の順序で使用します。
func _onButtonBatch_pressed () -> void :
# Begin to gather batch requests
GameJolt . batch_begin ()
# Add the time request to the batch
GameJolt . time ()
# Add the scores_tables request to the batch
GameJolt . scores_tables ()
# Stop gathering batch requests
GameJolt . batch_end ()
# Perform the batch call with the two requests above (time and score_tables)
GameJolt . batch ()
var result : Dictionary = await GameJolt . batch_completed
バッチリクエストは、 batch_begin
とbatch_end
でリクエストを集めた後に実行します。 batch_completed
を発行します。
parallel: bool
(オプション) -> デフォルトでは、各サブリクエストはサーバー上で順番に処理されます。これがtrue
に設定されている場合、前のサブリクエストの終了を待たずに、次のサブリクエストが開始されることなく、すべてのサブリクエストが同時に処理されます。break_on_error: bool
(オプション) -> これがtrue
に設定されている場合、1 つのサブリクエストが失敗すると、バッチ全体が後続のサブリクエストの処理を停止し、成功した場合はfalse
の値を返します。注:
parallel
パラメーターとbreak_on_error
パラメーターは相互に排他的であり、同じリクエスト内で使用することはできません。 バッチのリクエストの収集を開始します。この呼び出しの後、メソッドは応答を返しません。 batch_end
を呼び出して、バッチ リクエストの収集プロセスを終了します。
バッチのリクエストの収集を停止します。この呼び出しの後、メソッドは再び応答を返します。 batch_begin
の後に使用する必要があります。