Ideas y funciones para tu juego

Tu próxima función

Conversación

Mensajes conservados, suscripciones explícitas y moderación limitada.

SDK: developRequiere una sesión de jugador
Unity
Ilustración de Conversación
El resultado visible

Dos sesiones existentes: abrir canal del proyecto, enviar una vez, leer y denunciar un mensaje guardado. Chat directo requiere amistad y grupo, membresía activa.

Vídeo próximamente

Este paso aún no tiene vídeo. La guía y la solicitud MCP ya se pueden utilizar.

Conversación

Preparar el mismo proyecto

  1. Selecciona en el panel el mismo proyecto que en la configuración de tu juego.

    Conversación →
  2. La primera petición no necesita otra definición. Un resultado vacío es válido mientras no existan datos del juego.

    Dos sesiones existentes: abrir canal del proyecto, enviar una vez, leer y denunciar un mensaje guardado. Chat directo requiere amistad y grupo, membresía activa.

    PHP simpleServer devuelve 501 NOT_SUPPORTED en todas las rutas Chat.

Implementa esta función

Puedes consultar la guía. Para ejecutarla necesitas una clave de proyecto activa. Preparar el proyecto

SDK instalado, configuración del proyecto importada y jugador conectado.

Este ejemplo del SDK usa develop. Comprueba si las API necesarias están disponibles en el SDK instalado.

Completad la conexión de inicio rápido con el jugador elegido. Llamad a ReadChannelSnapshot(channelId) mediante un botón o acción de escena explícita. Abrir el archivo no envía peticiones.

C#
Assets/Scripts/ChatDemo.cs
Llamada a horizOn
1using UnityEngine;
2using PM.horizOn.Cloud.Manager;
3​
4// Existing imported SDK and authenticated player session required.
5// Call these methods explicitly from a player action; nothing runs on startup.
6public sealed class ChatDemo : MonoBehaviour
7{
8 public async void ReadChannelSnapshot(string channelId)
9 {
10 var user = UserManager.Instance.CurrentUser;
11 if (user == null || !user.IsValid()) return;
12 var result = await ChatManager.Instance.SyncChannel(user.UserId, channelId);
13 if (!result.IsSuccess) { Debug.LogWarning(result.ErrorCode); return; }
14 Debug.Log("Snapshot epoch: " + result.Data.channel.epoch);
15 foreach (var message in result.Data.messages) Debug.Log(message.text);
16 // This is the small authorized server window, not the full device history.
17 // A raw snapshot does not authorize or populate a managed realtime feed.
18 // WatchChannel waits for confirmed subscription; revocation hides the feed.
19 }
20​
21 public void ReadDeviceHistory(string channelId, string before = null)
22 {
23 var user = UserManager.Instance.CurrentUser;
24 if (user == null || !user.IsValid()) return;
25 var page = ChatManager.Instance.ReadLocalHistory(channelId, before, 50);
26 if (!page.IsSuccess) { Debug.LogWarning(page.ErrorCode); return; }
27 foreach (var message in page.Data.messages) Debug.Log(message.text);
28 // Continue only on an explicit action using page.Data.nextCursor.
29 // Local delivered history can outlive the small current server window.
30 // For send/report, import the SDK ChatExample and preserve its original
31 // operationId, issuedAt, channel and text before one explicit send.
32 // An uncertain outcome never permits a fresh identity or implicit retry.
33 }
34}
Abrir el ejemplo completo del SDK ↗

Dos jugadores, un canal

Dos sesiones existentes: abrir canal del proyecto, enviar una vez, leer y denunciar un mensaje guardado. Chat directo requiere amistad y grupo, membresía activa.

El flujo requiere suscripción confirmada: evento/resync, un Sync y marca de cambios. Sin sondeo ni alternativa desconectada; revocar oculta el texto.

Guarde el original exacto por proyecto/jugador antes de enviar. Host/sesión solo delimitan solicitudes. Nunca reemplace ID, fecha, texto o revisión inciertos.

Un 404 de operación no prueba un fallo. Conserve el original tras timeout u OPERATION_EXPIRED; concilie solo con su recibo correspondiente.

Repita IDs y motivo originales. removed confirma la repetición; REPORT_EXPIRED no crea otra denuncia.

PHP simpleServer devuelve 501 NOT_SUPPORTED en todas las rutas Chat.

Prueba tu nueva función.

Dos sesiones existentes: abrir canal del proyecto, enviar una vez, leer y denunciar un mensaje guardado. Chat directo requiere amistad y grupo, membresía activa.

Selecciona en el panel el mismo proyecto que en la configuración de tu juego.

Endpoints de la API
  • GET/chat/limits
  • POST/chat/channels/open
  • POST/chat/channels/{channelId}/sync
  • POST/chat/channels/{channelId}/messages
  • GET/chat/operations/{operationId}
  • POST/chat/channels/{channelId}/messages/{messageId}/report
Todos los endpoints en la referencia de la API
Nuestra sugerencia para el siguiente paso

Dale una puntuación máxima a cada partida.

Guarda la puntuación después de una partida y muestra quién va primero. Sigue usando tu conexión y la sesión del jugador.