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
매개변수는 상호 배타적이므로 둘 중 하나만 사용하거나 전혀 사용하지 않아야 합니다. 아무것도 제공되지 않은 경우 GameJolt
싱글톤에 설정된 현재 사용자 이름에서 가져옵니다.
사용자의 정보를 인증합니다. 사용자를 호출하기 전에 이 작업을 수행하여 사용자의 자격 증명(사용자 이름 및 토큰)이 유효한지 확인해야 합니다. 성공하려면 GameJolt
싱글톤에 사용자 이름과 토큰을 설정해야 합니다. users_auth_completed
내보냅니다.
특정 사용자를 위한 게임 세션을 열고 사용자가 게임을 플레이하고 있음을 Game Jolt에 알릴 수 있습니다. 세션을 활성 상태로 유지하려면 해당 세션을 핑해야 하며 작업이 끝나면 세션을 닫아야 합니다. sessions_open_completed
내보냅니다.
참고:
GameJolt
싱글톤에 사용자 이름과 토큰을 설정해야 합니다. 열린 세션에 대해 핑을 보내 시스템에 아직 활성 상태임을 알립니다. 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
공백으로 두면 해당 점수는 1차 고득점 테이블에 제출됩니다. 점수 테이블에서 특정 점수의 순위를 반환합니다. scores_get_rank_completed
내보냅니다.
sort: String|int
-> 점수 테이블에 순위로 표시되는 숫자형 정렬 값입니다.table_id: String|int
(선택 사항) -> 순위를 얻으려는 점수 테이블의 ID입니다.참고:
table_id
공백으로 두면 기본 최고 점수 테이블의 순위가 반환됩니다. 전달된 매개변수에 따라 트로피 하나 또는 여러 개를 반환합니다. trophies_fetch_completed
내보냅니다.
sort: bool|null
(선택 사항) -> 사용자가 획득한 트로피만 반환하려면 true
를 전달합니다. 사용자가 달성하지 못한 트로피만 반환하려면 false
를 전달합니다. 모든 트로피를 검색하려면 null
전달하세요.trophy_ids: Array[String|int]
(선택 사항) -> 하나 이상의 트로피를 반환하려는 경우 모든 트로피의 하위 집합을 반환하려면 여기에 트로피 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
방출합니다.
일괄 요청은 개발자가 하나의 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
로 설정되면 하나의 하위 요청이 실패하면 전체 배치가 후속 하위 요청 처리를 중지하고 성공 시 false
값을 반환합니다.참고:
parallel
및 break_on_error
매개변수는 상호 배타적이며 동일한 요청에서 사용할 수 없습니다. 일괄 요청 수집을 시작합니다. 이 호출 후에는 메서드가 응답을 반환 하지 않습니다 . 일괄 요청 수집 프로세스를 완료하려면 batch_end
호출하세요.
일괄 요청 수집을 중지합니다. 이 호출 후에 메서드는 응답을 다시 반환 합니다 . batch_begin
이후에 사용해야 합니다.