Rozmowy

Rozmowy

Wymieniaj wiadomości na żywo. Starsza historia pozostaje na kliencie.

Zacznij za darmo

Rozmowy

Wymieniaj wiadomości na żywo. Starsza historia pozostaje na kliencie.

SDK i REST

Zintegruj Unity, Godot lub Unreal albo użyj interfejsu REST.

Panel projektu

Konfiguruj funkcje i zarządzaj ich bieżącymi danymi w projekcie.

Szybka integracja

Szybka integracja

quickstart.dashboard.videos.chat
Wideo wkrótce

quickstart.videoSummaries.chat

Szybka integracja
Unity (C#)
using UnityEngine;
using PM.horizOn.Cloud.Manager;

// Existing imported SDK and authenticated player session required.
// Call these methods explicitly from a player action; nothing runs on startup.
public sealed class ChatDemo : MonoBehaviour
{
    public async void ReadChannelSnapshot(string channelId)
    {
        var user = UserManager.Instance.CurrentUser;
        if (user == null || !user.IsValid()) return;
        var result = await ChatManager.Instance.SyncChannel(user.UserId, channelId);
        if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
        Debug.Log("Snapshot epoch: " + result.Data.channel.epoch);
        foreach (var message in result.Data.messages) Debug.Log(message.text);
        // This is the small authorized server window, not the full device history.
        // A raw snapshot does not authorize or populate a managed realtime feed.
        // WatchChannel waits for confirmed subscription; revocation hides the feed.
    }

    public void ReadDeviceHistory(string channelId, string before = null)
    {
        var user = UserManager.Instance.CurrentUser;
        if (user == null || !user.IsValid()) return;
        var page = ChatManager.Instance.ReadLocalHistory(channelId, before, 50);
        if (!page.IsSuccess) { Debug.LogWarning(page.ErrorCode); return; }
        foreach (var message in page.Data.messages) Debug.Log(message.text);
        // Continue only on an explicit action using page.Data.nextCursor.
        // Local delivered history can outlive the small current server window.
        // For send/report, import the SDK ChatExample and preserve its original
        // operationId, issuedAt, channel and text before one explicit send.
        // An uncertain outcome never permits a fresh identity or implicit retry.
    }
}

SDK zapisują odebraną historię na urządzeniu, oddzielnie od aktywnego okna serwera. Zmiana konta ją ukrywa; usuwa ją tylko jawne usunięcie lokalne. zobacz quickstart

Najczęściej zadawane pytania

Najczęściej zadawane pytania

Gotowy do integracji?

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