Skip to content

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.

js
const result = await gameTegra.custom('myCustomFunction', {
  param1: 'value1',
  param2: 42
})
csharp
var result = await gameTegra.custom<MyResponseType>("myCustomFunction",
    gameTegra.@params("param1", "value1", "param2", 42)
);
gdscript
var result = await gameTegra.custom("myCustomFunction", {
    "param1": "value1",
    "param2": 42
})

Parametreler:

AlanTipZorunluAciklama
functionNamestringEvetBackend'de tanimli fonksiyon adi
paramsobjectHayirFonksiyona gonderilecek parametreler
settingsobjectHayir(Sadece JS) Timeout ve davranis ayarlari

Settings (Sadece JS)

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: genellikle Variant / Dictionary olarak doner.

setMethodMap (Sadece JS)

callGameMethod() icin alias haritasini gunceller.

js
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.

js
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

js
await gameTegra.callGameMethod('createRoom', { maxPlayers: 4 })

joinRoom

Mevcut odaya katilir. Detay: joinRoom

js
await gameTegra.callGameMethod('joinRoom', { roomId: 'room-abc-123' })

leaveRoom

Aktif odadan ayrilir. Detay: leaveRoom

js
await gameTegra.callGameMethod('leaveRoom')

quickMatch

Hizli eslesme baslatir. Detay: quickMatch

js
await gameTegra.callGameMethod('quickMatch', { gameMode: 'ranked' })

getScore

Oyuncu skorunu getirir. Detay: getScore

js
await gameTegra.callGameMethod('getScore')

saveData

Oyun verisini kaydeder. Detay: saveData

js
await gameTegra.callGameMethod('saveData', { level: 5, coins: 1200 })

loadData

Kayitli veriyi yukler. Detay: loadData

js
await gameTegra.callGameMethod('loadData', { key: 'player_progress' })

showAd

Reklam gosterir. Detay: showAd

js
await gameTegra.callGameMethod('showAd', { type: 'rewarded' })

createLeaderboard

Yeni leaderboard olusturur. Detay: createLeaderboard

js
await gameTegra.callGameMethod('createLeaderboard', {
  name: 'high_scores',
  sortOrder: 'desc'
})

getLeaderboard

Leaderboard verisini ceker. Detay: getLeaderboard

js
await gameTegra.callGameMethod('getLeaderboard', { name: 'high_scores', limit: 10 })

updateLeaderboard

Leaderboard skorunu gunceller. Detay: updateLeaderboard

js
await gameTegra.callGameMethod('updateLeaderboard', { name: 'high_scores', score: 9500 })

Oyununuza Ozel Method Ornekleri

custom() veya callGameMethod() ile oyununuza ozel backend methodlari cagirabilirsiniz.

getInventory

js
const inventory = await gameTegra.custom('getInventory')

useItem

js
await gameTegra.custom('useItem', {
  itemId: 'health_potion',
  quantity: 1
})

buyItem

js
await gameTegra.custom('buyItem', {
  itemId: 'sword_of_fire',
  currency: 'coins'
})

Hangi durumda hangisi?

  • SDK'de hazir method varsa: callGameMethod('createRoom', ...) veya dogrudan gameTegra.createRoom(...).
  • Oyununuza ozel backend fonksiyonuysa: custom('myFunction', params).
  • JS tarafinda okunabilirlik istiyorsaniz: setMethodMap() + callGameMethod().