[section=TableOfContents]Daftar Isi[/section] [b]Sedikit perkenalan:[/b] [olist] [*] [doclink=features/steam_controller/getting_started_for_players]Memulai sebagai [b]Pemain[/b][/doclink] [*] [doclink=features/steam_controller/getting_started_for_devs]Memulai sebagai [b]Pengembang[/b][/doclink] [/olist] [b]Untuk si paling ahli:[/b] [olist] [*] [doclink=features/steam_controller/concepts][/doclink] [*] [doclink=features/steam_controller/device][/doclink] [*] [doclink=features/steam_controller/iga_file][/doclink] [*] [doclink=features/steam_controller/action_manifest_file][/doclink] [*] [doclink=features/steam_controller/input_source][/doclink] [*] [doclink=features/steam_controller/input_source_modes][/doclink] [*] [doclink=features/steam_controller/mode_shifting][/doclink] [*] [doclink=features/steam_controller/browse_configs][/doclink] [*] [doclink=features/steam_controller/activators][/doclink] [*] [doclink=features/steam_controller/mouse_regions][/doclink] [*] [doclink=features/steam_controller/radial_menus][/doclink] [*] [doclink=features/steam_controller/touch_menus][/doclink] [*] [doclink=features/steam_controller/action_set_layers][/doclink] [*] [doclink=features/steam_controller/legacy_mode][/doclink] [/olist]…
(RFC 3339 UTC dengan format seperti: [b]2010-01-01T00:00:00Z[/b]) Saat menghitung hasil, sebaiknya dapatkan nilai waktu terkini dari batch terakhir untuk digunakan untuk panggilan berikutnya ke GetReport. Jika tidak mendapatkan hasil, lanjutkan menggunakan nilai parameter waktu yang sama sampai mendapatkan hasil.…
Jika pengguna tidak memiliki Steam Wallet, tidak sedang login melalui Steam Client, dan kamu belum menerima alamat IP, panggilan ini akan mengembalikan eror yang menunjukkan pengguna sedang tidak login. Metode ini memiliki versi lama yang sudah tidak lagi didukung secara resmi. …
[b]Catatan:[/b] Saat ini hanya Steam Controller (2015), Steam Controller (2026), dan Steam Deck yang mendukung getaran haptik. Panggilan API ini akan diabaikan untuk semua model kontroler yang lain. Jika kamu memperkirakan tingkat getaran, pertimbangkan untuk menggunakan API [api]ISteamInput::TriggerVibration[/api]; perangkat-perangkat ini mengubah panggilan getaran menjadi haptik secara otomatis. …
[b]Catatan:[/b] Saat ini hanya Steam Controller (2015), Steam Controller (2026), dan Steam Deck yang mendukung getaran haptik. Panggilan …
Panggilan ini perlu dilakukan sebelum kamu dapat mengambil atau mengatur entri papan peringkat. Metode ini juga mengatur metode pengembalian panggilan yang digunakan. …
Metode ini juga mengatur metode pengembalian panggilan yang digunakan. Panggilan ini harus dibuat setelah kamu memilih papan peringkat menggunakan [code-inline]FindLeaderboard()[/code-inline]. …
[b]Fungsi[/b] - Metode ini pada dasarnya membungkus panggilan [api]ISteamUserStats::RequestCurrentStats[/api] yang merupakan panggilan asinkron ke Steam untuk meminta statistik dari pemain saat ini. …
[b]Fungsi[/b] - Metode ini pada dasarnya membungkus panggilan [api]ISteamUserStats::StoreStats[/api] yang merupakan panggilan asinkron ke Steam untuk menyimpan statistik dari pemain saat ini di server. …
Sebaiknya hanya lakukan ini sekali saat aplikasi dimulai, dan simpan handle untuk semua panggilan API berikutnya. [b]Hasil:[/b] [apitype]ISteamController::ControllerActionSetHandle_t[/apitype] Handle dari set tindakan yang dimaksud. …
[/td][/tr] [/table] Memicu peristiwa getaran pada kontroler yang didukung. [b]Catatan:[/b] Panggilan API akan diabaikan untuk semua model kontroler yang tidak kompatibel. Ini menghasilkan efek vibrasi "getaran" tradisional. …
Terserah pada aplikasimu untuk mengurai string ini dengan tepat. Untuk segala panggilan Web API yang mengembalikan item sebagai JSON, key [code-inline]dynamic_props[/code-inline] akan menunjuk ke objek JSON lengkap yang berisi properti item dinamis. …
Saat ini, kamu dapat memodifikasi hingga 100 item untuk pengguna per panggilan. Jumlah panggilan ini dibatasi untuk setiap pengguna. Oleh karena itu, sebaiknya kelompokkan modifikasi yang kamu buat dan kirimkanlah pada waktu yang tepat untuk game-mu. …
Jika tidak, [code-inline]pnBufferSize[/code-inline] akan diatur ke ukuran yang diperlukan. Dalam situasi ini, buat panggilan kedua dengan ukuran buffer yang benar. [b]CATATAN:[/b] Data yang dikembalikan dalam panggilan yang berhasil ke GetOPFStringForApp() hanya dapat diambil sekali. Jika harus mengambilnya beberapa kali, panggilan ke [api]ISteamVideo::GetOPFSettings[/api] harus dilakukan setiap kalinya. [b]Mengembalikan:[/b] bool [b]true[/b] jika kami memiliki data OPF dari panggilan sebelumnya ke [api]ISteamVideo::GetOPFSettings[/api], dan [b]false[/b] jika tidak. …
[section=callresults]CallResults[/section] Banyak metode Steamworks yang menggunakan hasil panggilan, dan bukan callback, untuk mengembalikan hasil dari panggilan fungsi secara asinkron. Perbedaan antara callback dan hasil panggilan adalah: Callback disiarkan ke semua penerima, sementara hasil panggilan hanya menargetkan penerima tertentu. …
Alih-alih hanya satu fungsi yang mengirimkan semua callback dan hasil panggilan ke penerima panggilan aktif, kamu perlu mendapatkan callback berikutnya yang tersedia dalam satu siklus dan mengirimkannya menggunakan mekansime apa pun yang kamu inginkan. …
[/td][/tr] [/table] Mendapatkan nilai total dari statistik gabungan. Sebelum melakukan panggilan ini, kamu harus sudah memanggil [api]ISteamUserStats::RequestGlobalStats[/api] dan panggilan itu harus berhasil melalui callback-nya. …
[/td][/tr] [/table] Dapatkan nilai statistik saat ini untuk pengguna yang dimaksud. Sebelum melakukan panggilan ini, kamu harus sudah memanggil [api]ISteamUserStats::RequestUserStats[/api] dan panggilan itu harus berhasil melalui callback-nya. …
[/callout] [subsection]Identifikasi Perusahaan[/subsection] Ketika memasukkan informasi perusahaamu, kamu harus mengikuti pedoman ini: [list][*]Masukkan nama depan dan belakang legalmu. Jangan masukkan alias atau nama panggilan. [*]Nama Legal Perusahaan harus merupakan entitas legal yang akan menandatangani Perjanjian Cyber Cafe. [*]Nama perusahaan yang dimasukkan harus sama dengan nama yang tertulis di dokumen resmi dengan bank dan dokumen pajak IRS AS atau dokumen pajak asing jika berlaku. [*]Kamu tidak boleh memasukkan "Doing Business As ("DBA") atau "nama panggilan" atau alias/nama panggilan untuk nama perusahaanmu.…
Jangan masukkan "Doing Business As" (d/b/a) atau "nama panggilan." Catatan: Meskipun kami dapat bekerja dengan perusahaan non-AS dan PT Perseorangan/CV non-AS, kami tidak dapat bekerja dengan kemitraan yang berada di luar AS jika kemitraan tersebut akan dikenakan pajak pada tingkat individu dan bukan sebagai kemitraan. …
. [*]Daftar Putih IP - Setiap key penerbit juga dapat dikunci ke kumpulan alamat IP panggilan tertentu. [/list] Empat jenis Perizinan Key Web API adalah: [list][*]Transaksi mikro untuk memulai, menyelesaikan, dan mencocokkan pembelian dalam game. [*]Panggilan Data Penjualan ke API IPartnerFinancialService. [*]Panggilan Ekonomi untuk game yang menggunakan Layanan Inventaris Steam. [*]Panggilan API umum untuk hal-hal seperti pengautentikasian pengguna atau pemeriksaan kepemilikan DLC—semua yang tidak termasuk dalam tiga perizinan di atas. …
Key dapat dipetakan ke beberapa nilai yang berbeda (dari satu ke banyak hubungan). [*] [api]ISteamUGC::RemoveItemKeyValueTags[/api] - Menghapus tag key-nilai yang sudah ada dari item. [*] [api]ISteamUGC::SetItemContent[/api] - Mengatur folder yang akan disimpan sebagai konten untuk item. [*] [api]ISteamUGC::SetItemPreview[/api] - Mengatur gambar pratinjau utama untuk item. [/list] [*] Setelah panggilan pembaruan selesai, memanggil [api]ISteamUGC::SubmitItemUpdate[/api] akan memulai proses pengunggahan ke Workshop Steam. [list] [*] Mendaftarkan handler hasil panggilan untuk [apitype]ISteamUGC::SubmitItemUpdateResult_t[/apitype] [*] Ketika handler hasil panggilan dijalankan, periksa [code-inline]m_eResult[/code-inline] untuk mengonfirmasikan bahwa pengunggahan berhasil diselesaikan. [*] Catatan: Tidak ada metode untuk membatalkan pembaruan dan mengunggah setelah panggilan dibuat. …
[/list] [/list] [*] Mengirim kueri ke Steam menggunakan [api]ISteamUGC::SendQueryUGCRequest[/api] yang akan memanggil handler hasil panggilan [api]ISteamUGC::SteamUGCQueryCompleted_t[/api] yang terdaftar di langkah 1. [*] Di handler hasil panggilan untuk [api]ISteamUGC::SteamUGCQueryCompleted_t[/api], panggil [api]ISteamUGC::GetQueryUGCResult[/api] untuk mendapatkan rincian untuk setiap item yang dikembalikan. [*] Kamu juga dapat memanggil fungsi-fungsi ini untuk mendapatkan informasi tambahan tentang setiap item (beberapa data ini tidak dikembalikan secara default, jadi kamu harus mengonfigurasikan kuerimu dengan benar): [list] [*] [api]ISteamUGC::GetQueryUGCPreviewURL[/api] - Mengembalikan URL ke gambar pratinjau setiap item workshop setelah menerima hasil panggilan kueri UGC. [*] [api]ISteamUGC::GetQueryUGCMetadata[/api] - Mengembalikan set metadata pengembang setiap item workshop setelah menerima hasil panggilan kueri UGC. [*] [api]ISteamUGC::GetQueryUGCChildren[/api] - Mengembalikan ID item turunan dari setiap item workshop setelah menerima hasil panggilan kueri UGC. [*] [api]ISteamUGC::GetQueryUGCStatistic[/api] - Mengembalikan berbagai statistik setiap item workshop setelah menerima hasil panggilan kueri UGC. [*] [api]ISteamUGC::GetQueryUGCNumAdditionalPreviews[/api] dan [api]ISteamUGC::GetQueryUGCAdditionalPreview[/api] - Mengembalikan rincian pratinjau tambahan yang berhubungan dengan setiap item workshop setelah menerima hasil panggilan kueri UGC. [*] [api]ISteamUGC::GetQueryUGCNumKeyValueTags[/api] dan [api]ISteamUGC::GetQueryUGCKeyValueTag[/api] - Mengembalikan rincian tag key-nilai yang terkait dengan setiap item workshop setelah menerima hasil panggilan kueri UGC. …
[/td][/tr] [tr][td][b]pbFailed[/b][/td][td]bool *[/td][td]Nilai ini dikembalikan jika panggilan API mengalami kegagalan.[/td][/tr] [/table] Mendapatkan konten dari Panggilan API yang sudah selesai. Diberikan ke bagian backend dari wrapper CallResult. …
Setiap panggilan IPC setidaknya merupakan peralihan konteks thread atau bahkan proses, jadi kamu perlu mengontrol seberapa sering panggilan tersebut dilakukan. …
[section]Persiapan[/section] Semua fungsi asinkron papan peringkat mengembalikan handle ke hasil panggilan API Steam. Kamu bisa menemukan informasi lebih lanjut tentang cara menerima hasil-hasil ini di bagian Hasil Panggilan dalam dokumen Permulaan. …
FindLeaderboard dan FindOrCreateLeaderboard adalah metode asinkron, dan mengembalikan handle papan peringkat untuk papan peringkat tertentu melalui hasil panggilan [api]ISteamUserStats::LeaderboardFindResult_t[/api]. Setelah papan peringkat dibuat, kamu bisa mengubah metode pengurutan dan jenis tampilan untuk papan peringkat melalui Admin Game. …
appid=440&count=3]https://api.steampowered.com/ISteamNews/GetNewsForApp/v2/?appid=440&count=3[/url] Baca lebih lanjut tentang panggilan khusus ini di sini: [webapi]ISteamNews/GetNewsForApp[/webapi] [section]Memperoleh SteamID Pengguna[/section] Web API Steamworks mengidentifikasi pengguna individu dengan menggunakan ID Steam 64-bit unik mereka. …
[/list] [section]Daftar Putih Alamat IP[/section] Kami mengizinkan pencantuman alamat IP dalam daftar putih untuk panggilan Web API. Ini adalah lapisan keamanan tambahan jika key Web API disusupi, yang memastikan bahwa hanya panggilan Web API dari alamat IP di dalam daftar putih yang akan berhasil. …
[b]CATATAN:[/b] Jika ini dipanggil tanpa memanggil [api]ISteamUser::requestEncryptedAppTicket[/api], panggilan mungkin berhasil, tapi kemungkinan akan mendapatkan tiket rusak. [b]Hasil:[/b] bool [b]true[/b] jika panggilan berhasil mengembalikan tiket aplikasi ke [code-inline]pTicket[/code-inline]. …
Key enkripsi dapat diperoleh dari halaman [url=https://partner.steamgames.com/apps/sdkauth/]Key Tiket Aplikasi Terenkripsi[/url] di Admin Aplikasi untuk aplikasimu. Hanya boleh ada satu panggilan [apitype]ISteamUser::EncryptedAppTicketResponse_t[/apitype] yang tertunda, dan panggilan ini tunduk pada batas kecepatan 60 detik. …
Mengambil jumlah tag masing-masing item workshop setelah menerima hasil panggilan kueri UGC. Kamu harus melakukan panggilan ini berulang kali untuk mendapatkan rincian semua item workshop yang dikembalikan. [b]CATATAN:[/b] Ini hanya boleh dipanggil dengan handle yang didapatkan dari hasil panggilan [apitype]ISteamUGC::SteamUGCQueryCompleted_t[/apitype] yang berhasil. …
[/td][/tr] [/table] Mengambil rincian masing-masing item workshop setelah menerima hasil panggilan kueri UGC. Kamu harus melakukan panggilan ini berulang k…
Kamu bisa membuat perjanjian penagihan baru untuk pengguna kapan saja, tapi perjanjian penagihan sebelumnya akan dinonaktifkan setelah menyelesaikan panggilan [webapi]ISteamMicroTxn/FinalizeTxn[/webapi]. Setiap perjanjian penagihan memiliki ID 64-bit unik yang dapat kamu gunakan sebagai referensi, tapi hanya perjanjian terbarulah yang dapat digunakan untuk memproses pembayaran. …
Ini hanya berguna jika kamu memiliki sistem di mana pengguna mungkin dikenakan biaya yang lebih sedikit dari jumlah awal atau berulang, karena panggilan ke ProcessAgreement akan mengambil nilai jumlah untuk ditagihkan kepada pengguna. [subsection]Status Penerimaan[/subsection] Untuk menerima status pembayaran untuk perjanjian penagihan, server game-mu harus memanggil WebAPI [webapi]ISteamMicroTxn/GetReport[/webapi]. …
[b]Hasil[/b] - N/A [b]Fungsi[/b] - Konstruktor menginisialisasi sejumlah anggota sambil mengambil AppID yang sedang kita gunakan. Metode callback juga disertakan untuk memproses panggilan asinkron ke Steam. Terakhir, panggilan pertama dilakukan ke [code-inline]Initialize()[/code-inline] untuk memeriksa apakah API siap digunakan. …
"ACH_WIN_ONE_GAME"). [b]Hasil[/b] - nilai boolean menunjukkan apakah panggilan berhasil atau gagal. Jika panggilan gagal, maka Steam tidak diinisialisasi. [b]Fungsi[/b] - Metode ini mengatur pencapaian tertentu untuk dicapai dan mengirim hasilnya ke Steam. …