Game Method (Custom API)
Bu sayfa, SDK'deki game method cagri katmanini aciklar: custom(), setMethodMap() ve callGameMethod().
custom
Backend'de tanimlanmis herhangi bir fonksiyonu dogrudan cagirir.
const result = await gameTegra.custom('myCustomFunction', {
param1: 'value1',
param2: 42
})var result = await gameTegra.custom<MyResponseType>("myCustomFunction",
gameTegra.@params("param1", "value1", "param2", 42)
);var result = await gameTegra.custom("myCustomFunction", {
"param1": "value1",
"param2": 42
})Parametreler:
| Alan | Tip | Zorunlu | Aciklama |
|---|---|---|---|
| functionName | string | Evet | Backend'de tanimli fonksiyon adi |
| params | object | Hayir | Fonksiyona gonderilecek parametreler |
| settings | object | Hayir | (Sadece JS) Timeout ve davranis ayarlari |
Settings (Sadece JS)
const result = await gameTegra.custom('slowFunction', { data: 'test' }, {
timeout: 120,
activeTimeout: true
})Donus Tipi
Donus tipi backend implementasyonuna baglidir.
JavaScript: gelen veri oldugu gibi dondurulur.Unity:custom<T>ile generic tipe deserialize edilir.Godot: genellikleVariant/Dictionaryolarak doner.
setMethodMap (Sadece JS)
callGameMethod() icin alias haritasini gunceller.
gameTegra.setMethodMap({
...gameTegra.methodMap,
myCustom: 'myBackendFunction'
})callGameMethod (Sadece JS)
Method map uzerinden alias ile cagri yapar. Alias haritada yoksa dogrudan method adi gibi ele alinir.
const room = await gameTegra.callGameMethod('createRoom', { maxPlayers: 4 })
const inventory = await gameTegra.callGameMethod('myCustom', { userId: 'u1' })Varsayilan Game Method Alias'lari
Asagidaki alias'lar varsayilan method map'te gelir ve her biri tek tek cagrilabilir.
createRoom
Yeni oda olusturur. Detay: createRoom
await gameTegra.callGameMethod('createRoom', { maxPlayers: 4 })joinRoom
Mevcut odaya katilir. Detay: joinRoom
await gameTegra.callGameMethod('joinRoom', { roomId: 'room-abc-123' })leaveRoom
Aktif odadan ayrilir. Detay: leaveRoom
await gameTegra.callGameMethod('leaveRoom')quickMatch
Hizli eslesme baslatir. Detay: quickMatch
await gameTegra.callGameMethod('quickMatch', { gameMode: 'ranked' })getScore
Oyuncu skorunu getirir. Detay: getScore
await gameTegra.callGameMethod('getScore')saveData
Oyun verisini kaydeder. Detay: saveData
await gameTegra.callGameMethod('saveData', { level: 5, coins: 1200 })loadData
Kayitli veriyi yukler. Detay: loadData
await gameTegra.callGameMethod('loadData', { key: 'player_progress' })showAd
Reklam gosterir. Detay: showAd
await gameTegra.callGameMethod('showAd', { type: 'rewarded' })createLeaderboard
Yeni leaderboard olusturur. Detay: createLeaderboard
await gameTegra.callGameMethod('createLeaderboard', {
name: 'high_scores',
sortOrder: 'desc'
})getLeaderboard
Leaderboard verisini ceker. Detay: getLeaderboard
await gameTegra.callGameMethod('getLeaderboard', { name: 'high_scores', limit: 10 })updateLeaderboard
Leaderboard skorunu gunceller. Detay: updateLeaderboard
await gameTegra.callGameMethod('updateLeaderboard', { name: 'high_scores', score: 9500 })Oyununuza Ozel Method Ornekleri
custom() veya callGameMethod() ile oyununuza ozel backend methodlari cagirabilirsiniz.
getInventory
const inventory = await gameTegra.custom('getInventory')useItem
await gameTegra.custom('useItem', {
itemId: 'health_potion',
quantity: 1
})buyItem
await gameTegra.custom('buyItem', {
itemId: 'sword_of_fire',
currency: 'coins'
})Hangi durumda hangisi?
- SDK'de hazir method varsa:
callGameMethod('createRoom', ...)veya dogrudangameTegra.createRoom(...). - Oyununuza ozel backend fonksiyonuysa:
custom('myFunction', params). - JS tarafinda okunabilirlik istiyorsaniz:
setMethodMap()+callGameMethod().