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)
| Parametre | Tip | Açıklama |
appKey | String | Size verilen Public Uygulama Anahtarı. |
secretKey | String | Sadece sunucunuzda kalması gereken Gizli Anahtar. |
userId | String | Kullanıcının sizin oyununuzdaki ID'si veya Nickname'i. |
roomCode | String | Katı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);
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.
var connection = new HubConnection("https://api.gabble.tr");
var voiceHub = connection.CreateHubProxy("SdkVoiceHub");
await connection.Start();
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_PARAM | Eksik parametre gönderildi. 4 parametreyi de kontrol edin. |
| ERR_AUTH | Geçersiz veya onaysız anahtarlar. |
| ERR_IP | İsteği attığınız sunucu IP adresi beyaz listede yok. |
| ERR_LIMIT | Sandbox süreniz doldu. Canlı ortama geçiniz. |