Spielerstatistiken

Spielerstatistiken

Erfasst Zähler und persönliche Bestwerte je Spieler.

Kostenlos starten

Spielerstatistiken

Erfasst Zähler und persönliche Bestwerte je Spieler.

SDKs und REST

Integriert mit Unity, Godot oder Unreal oder nutzt die REST-Schnittstelle.

Projekt-Dashboard

Richtet die Funktion ein und verwaltet ihre aktuellen Daten in eurem Projekt.

Schnelle Integration

Schnelle Integration

Spielerstatistiken
Video folgt in Kürze

Runden, besiegte Gegner und Bestwerte gemeinsam melden: als Summe, Maximum, Minimum oder letzten Wert.

Schnelle Integration
Unity (C#)
using UnityEngine;
using PM.horizOn.Cloud.Manager;
using PM.horizOn.Cloud.Objects.Network.Requests;

var manager = StatisticsManager.Instance;
var snapshot = await manager.GetStatistics();
if (snapshot == null) { Debug.LogWarning(manager.LastErrorCode); return; }
string pendingKey = "horizOn_statistics_pending_" + snapshot.userId;
var pending = PlayerPrefs.HasKey(pendingKey)
    ? JsonUtility.FromJson<UpdateStatisticsRequest>(PlayerPrefs.GetString(pendingKey))
    : new UpdateStatisticsRequest {
        userId = snapshot.userId, operationId = manager.CreateOperationId(),
        updates = new[] { new StatisticUpdate("kills", 3), new StatisticUpdate("best_score", 250) }
    };
string originalJson = JsonUtility.ToJson(pending);
PlayerPrefs.SetString(pendingKey, originalJson);
PlayerPrefs.Save();
var result = await manager.UpdateStatistics(pending.updates, pending.operationId);
if (result == null) {
    // Keep the saved ID and batch. Reconcile OPERATION_EXPIRED before a new logical report.
    Debug.LogWarning(manager.LastErrorCode);
    return;
}
// A late success for O1 must never acknowledge a newer pending O2.
if (PlayerPrefs.GetString(pendingKey, null) == originalJson) {
    PlayerPrefs.DeleteKey(pendingKey);
    PlayerPrefs.Save();
}
foreach (var counter in result.values) Debug.Log(counter.key + "=" + counter.value);

Diese Beispiele nutzen das Unity-SDK (C#) und die REST-API. Godot und Unreal haben dieselben Aufrufe in ihren eigenen SDKs: siehe Quickstart

Häufig gestellte Fragen

Häufig gestellte Fragen

Bereit zur Integration?

Startet noch heute mit horizOn. Free Tier inklusive.