
Matches
Koordiniert rundenbasierte Partien und bestätigt Ergebnisse.
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
quickstart.dashboard.videos.matches
Video folgt in Kürze
quickstart.videoSummaries.matches
using UnityEngine;
using PM.horizOn.Cloud.Manager;
public sealed class MatchesDemo : MonoBehaviour
{
// Initialize/connect and restore the existing player in the Quickstart first.
// Invoke explicitly. The SDK also enforces the returned polling cadence.
public async void ReadMyMatches()
{
var user = UserManager.Instance.CurrentUser;
if (user == null || !user.IsValid()) return;
var result = await MatchesManager.Instance.GetMatches(user.UserId);
if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
Debug.Log($"Ledger revision: {result.Data.revision}");
foreach (var match in result.Data.recent)
Debug.Log($"Match {match.id}: {match.status}");
// Recent may include an active match after this player's forfeit.
// Respect result.Data.pollAfterSeconds; no background poll or automatic timeout.
}
}
// Full two-player recipe: SDK Examples/MatchesExample and MatchesSampleStore.
// ReadLedger/ReadMatch -> SaveCreateAfterLedgerReview/SaveActionAfterMatchReview.
// ApplySavedIntent sends one durable original body/revision. Unknown create is reconciled.
// Never replace a pending original with the revision from a later read.
// ReportResult uses the original finalStateRevision/result bytes/sorted winnerIds.
// Ordinary consensus is not trusted victory proof. Ranked runs use Validated Actions.Dieses SDK-Beispiel nutzt develop. Prüft, ob die nötigen APIs in eurem installierten SDK verfügbar sind. siehe Quickstart
Häufig gestellte Fragen
Bereit zur Integration?
Startet noch heute mit horizOn. Free Tier inklusive.
