Uygulamalı bir eğitim için blog yazımıza göz atmak isteyebilirsiniz

Kurulum

Hardal SDK, Unity Package Manager aracılığıyla kurulabilir:

  • Package Manager üzerinden paketi projenize ekleyin

  • Veya aşağıdaki satırı

    manifest.json

    dosyanıza ekleyin:

 {
    "dependencies": {
      "com.hardal.signal": "1.0.0"
    }
 }

Kurulum

Seçenek A: Menü Öğesini Kullanma

  1. Unity Editor’da

    GameObject > Hardal > Create Hardal Manager

    yolunu izleyin

  2. Bu, HardalManager bileşenine sahip yeni bir GameObject oluşturacaktır

  3. Inspector’da endpoint URL’nizi ayarlayın

  4. İsterseniz debug log’ları etkinleştirin

Seçenek B: Manuel Kurulum

  1. Sahnenizde boş bir GameObject oluşturun

  2. Bu GameObject’e HardalManager bileşenini ekleyin

  3. Inspector’da endpoint URL’yi yapılandırın

  4. GameObject sahneler arasında kalıcı olacaktır

Temel Kullanım

Hardal’ı Başlatın

// SDK Start() fonksiyonunda otomatik olarak başlatılır
// Ancak özel bir endpoint ile manuel olarak başlatabilirsiniz:
HardalManager.Instance.InitializeHardal("https://<your-hardal-signal-id>-signal.usehardal.com");

Event’leri İzleyin

// Basit bir event'i izleyin
await HardalManager.Instance.TrackEvent("game_started");
// Özelliklerle birlikte event izleyin
Dictionary<string, object> properties = new Dictionary<string, object> {
  { "level", 5 }, { "score", 1000 }, { "character", "warrior" }
};
await HardalManager.Instance.TrackEvent("level_completed", properties);
// Async olmayan versiyon
HardalManager.Instance.TrackEventNonAsync("item_purchased", properties);

Debug Modu

Şunlar hakkında detaylı bilgi görmek için Inspector’da debug günlüklerini etkinleştirin:

  • Başlatma durumu

  • Event izleme

  • Ağ istekleri

  • Hatalar ve uyarılar

Debug modunu etkinleştirmek için:

  1. HardalManager GameObject’ini seçin

  2. Inspector’da “Enable Debug Logs” seçeneğini işaretleyin

  3. Unity Console’unda “[Hardal]” önekiyle günlükleri görüntüleyin

Kullanım Örneği

Temel Uygulama

public class GameManager : MonoBehaviour {
  private void Start() {
    // Oyun başlangıcını izleyin
    HardalManager.Instance.TrackEventNonAsync("game_started");
  }
  public void OnLevelComplete(int level, int score) {
    var properties = new Dictionary<string, object> {
      { "level", level }, { "score", score }, { "time_spent", Time.time }
    };
    HardalManager.Instance.TrackEventNonAsync("level_completed", properties);
  }
}

Gelişmiş Uygulama

public class AnalyticsManager : MonoBehaviour {
  private async void TrackPurchase(string itemId, float price,
                                   string currency) {
    var properties = new Dictionary<string, object> {
      { "item_id", itemId },
      { "price", price },
      { "currency", currency },
      { "platform", Application.platform.ToString() },
      { "timestamp", DateTime.UtcNow }
    };
    try {
      await HardalManager.Instance.TrackEvent("purchase_completed", properties);
    } catch (Exception e) {
      Debug.LogError($"Failed to track purchase: {e.Message}");
    }
  }
}

Önemli Notlar

  • Projenizde yalnızca bir HardalManager örneği bulunmalıdır

  • Manager, DontDestroyOnLoad kullanılarak sahneler arasında kalıcıdır

  • Event’leri izlemeden önce her zaman SDK’nın başlatılıp başlatılmadığını kontrol edin

  • Async metotlarla çalışırken try-catch blokları kullanın

  • Geliştirme sırasında daha iyi görünürlük için debug günlüklerini etkinleştirin

En İyi Uygulamalar

  1. SDK’yı oyun yaşam döngünüzün erken bir aşamasında başlatın

  2. Anlamlı event isimleri kullanın

  3. Özellik adlarında tutarlı olun

  4. Async operasyonları düzgün şekilde yönetin

  5. Geliştirme sırasında debug modu etkinken test edin