Gabble Voice API Entegrasyonu

Oyununuza veya uygulamanıza WebRTC tabanlı sesli iletişim altyapısını kurmak için gerekli uç noktalar ve yönergeler.

Hemen Test Edin (Sandbox)

Kendi uygulamanızı yazmadan önce aşağıdaki test bilgileriyle istek atabilirsiniz.

  • AppKey: TEST-APP-KEY
  • SecretKey: TEST-SECRET-12345

Sandbox limiti toplam 60 saniyedir. Canlı ortama geçmek için sağdaki alandan kayıt olunuz.

Adım 1: Sunucunuzdan Token Alın (S2S)

Güvenlik gereği, oyun istemciniz (Unity vb.) doğrudan bize bağlanamaz. Önce sizin kendi sunucunuz, bizim API'mize istek atarak o oyuncu için tek kullanımlık bir bilet (Token) almalıdır.

POST /Api/Auth.ashx
Parametreler (x-www-form-urlencoded)
ParametreTipAçıklama
appKeyStringSize verilen Public Uygulama Anahtarı.
secretKeyStringSadece sunucunuzda kalması gereken Gizli Anahtar.
userIdStringKullanıcının sizin oyununuzdaki ID'si veya Nickname'i.
roomCodeStringKatılacağı klan/oda adı (Örn: Clan_Alpha).
C# (.NET) Sunucu Entegrasyon Kodu

Bu kod parçacığı .NET standart kütüphanelerini kullanır, ekstra paket gerektirmez.

using System.Net.Http;
using System.Collections.Generic;
using System.Threading.Tasks;

public class TcallIntegration
{
    public async Task<string> GetVoiceTokenAsync(string userId, string roomCode) 
    {
        using (var client = new HttpClient()) 
        {
            var values = new Dictionary<string, string>
            {
                { "appKey", "PUB-XXXXXXXX" },
                { "secretKey", "SEC-XXXXXXXX" },
                { "userId", userId },
                { "roomCode", roomCode }
            };

            var content = new FormUrlEncodedContent(values);
            var response = await client.PostAsync("https://api.gabble.tr/Api/Auth.ashx", content);
            
            // Dönen JSON nesnesini (Token'ı) oyun istemcinize iletin.
            return await response.Content.ReadAsStringAsync(); 
        }
    }
}

Adım 2: İstemciden Ses Odasına Bağlanın

Sunucunuzdan aldığınız Token'ı oyun motorunuza (Unity, Unreal veya Web) aktarın. Ardından Microsoft SignalR kütüphanesini kullanarak ses sunucularımıza bağlanın.

// Unity veya Web İstemcinizdeki SignalR Bağlantısı
var connection = new HubConnection("https://api.gabble.tr");
var voiceHub = connection.CreateHubProxy("SdkVoiceHub");

await connection.Start();

// Token ile odaya giriş yapın
await voiceHub.Invoke("JoinWithToken", token);

Hata Kodları Sözlüğü

Hata Kodu (errorCode)Açıklama & Çözüm
ERR_METHODİstek GET ile atıldı. Lütfen POST kullanın.
ERR_PARAMEksik parametre gönderildi. 4 parametreyi de kontrol edin.
ERR_AUTHGeçersiz veya onaysız anahtarlar.
ERR_IPİsteği attığınız sunucu IP adresi beyaz listede yok.
ERR_LIMITSandbox süreniz doldu. Canlı ortama geçiniz.
Mevcut Geliştirici Girişi
Yeni Sandbox Hesabı Aç

Kayıt sonrası e-postanıza doğrulama linki gönderilecektir.

S2S API istekleri sadece bu IP'den kabul edilir.