Raportowanie awarii

Raportowanie awarii

Wykrywaj, grupuj i naprawiaj awarie, zanim zniszczą ocenę w App Store

Zacznij za darmo

Inteligentne grupowanie

Awarie z tym samym fingerprintem są grupowane automatycznie, więc widzisz jeden problem do rozwiązania zamiast tysięcy duplikatów.

Ścieżka breadcrumbów

Do 50 zdarzeń breadcrumb przed awarią ujawnia dokładnie, co gracz robił, dzięki czemu możesz niezawodnie odtworzyć problem.

Wskaźnik sesji bez awarii

Śledź procent sesji zakończonych bez awarii i obserwuj poprawę w miarę rozwiązywania problemów.

Szybka integracja

Szybka integracja

Gra uruchomiona

Sesja
00:14:32
Wskaźnik sesji bez awarii
98.2%
Unity (C#)
// Unity C#: Crash Reporting
using System;
using System.Collections.Generic;
using PM.horizOn.Cloud.Manager;

// Once at startup: registers the crash session and catches unhandled exceptions
CrashManager.Instance.StartCapture();
CrashManager.Instance.SetUserId(UserManager.Instance.CurrentUser.UserId);

// Context that is sent with the next report
CrashManager.Instance.RecordBreadcrumb("scene", "Entered world_3");

// Report a handled exception as NON_FATAL
try { LoadTextures(); }
catch (Exception ex)
{
    CrashManager.Instance.RecordException(ex, new Dictionary<string, string> { ["asset"] = "boss_texture" });
}
REST
# REST API: Crash Reporting

# Create a crash session at app start
curl -X POST https://horizon.pm/api/v1/app/crash-reports/session \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{"sessionId":"SESSION_ID","appVersion":"1.2.3","platform":"Android"}'

# Report a crash (type CRASH, NON_FATAL or ANR)
curl -X POST https://horizon.pm/api/v1/app/crash-reports/create \
  -H "X-API-Key: YOUR_API_KEY" \
  -H "Content-Type: application/json" \
  -d '{
    "sessionId": "SESSION_ID",
    "type": "CRASH",
    "message": "NullReferenceException in PlayerController",
    "fingerprint": "PlayerController.NullRef",
    "appVersion": "1.2.3",
    "sdkVersion": "1.0.0",
    "platform": "Android",
    "os": "Android 14",
    "deviceModel": "Pixel 8"
  }'

Te przykłady używają SDK Unity (C#) i REST API. Godot i Unreal mają te same wywołania we własnych SDK: zobacz quickstart

Najczęściej zadawane pytania

Najczęściej zadawane pytania

Gotowy do integracji?

Zacznij budować z horizOn już dziś. Free Tier w zestawie.