Oyun fikirleri ve özellikleri

Sıradaki özelliğin

Sohbet yönetimi

Saklanan mesajlar, açık abonelikler ve sınırlı denetim.

SDK: developOyuncu oturumu gerekli
Unity
Sohbet yönetimi görseli
Görünür sonuç

İki mevcut oturum: proje kanalı açın, bir kez gönderin, okuyun ve saklanan mesajı bildirin. Doğrudan sohbet arkadaşlık, grup etkin üyelik ister.

Video yakında

Bu adımın videosu henüz yok. Rehber ve MCP isteği kullanıma hazır.

Sohbet yönetimi

Aynı projeyi hazırlayın

  1. Panelde oyun yapılandırmandaki projeyle aynı projeyi seç.

    Sohbet yönetimi →
  2. İlk istek için ek tanım gerekmez. Eşleşen oyun verisi yokken boş sonuç geçerlidir.

    İki mevcut oturum: proje kanalı açın, bir kez gönderin, okuyun ve saklanan mesajı bildirin. Doğrudan sohbet arkadaşlık, grup etkin üyelik ister.

    PHP simpleServer tüm Chat yollarında 501 NOT_SUPPORTED döndürür.

Bu özelliği ekle

Kılavuzu inceleyebilirsin. Çalıştırmak için etkin bir proje anahtarı gerekir. Projeyi hazırla

SDK kurulu, proje yapılandırması içe aktarılmış ve oyuncu oturum açmış olmalı.

Bu SDK örneği develop kullanır. Gerekli API'lerin kurulu SDK sürümünde bulunduğunu kontrol et.

Hızlı başlangıç bağlantısını ilgili oyuncuyla tamamlayın. ReadChannelSnapshot(channelId) çağrısını açık bir düğme veya sahne eyleminden yapın. Dosyayı açmak tek başına istek göndermez.

C#
Assets/Scripts/ChatDemo.cs
horizOn çağrısı
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}
Tam SDK örneğini aç ↗

İki oyuncu, bir kanal

İki mevcut oturum: proje kanalı açın, bir kez gönderin, okuyun ve saklanan mesajı bildirin. Doğrudan sohbet arkadaşlık, grup etkin üyelik ister.

Yönetilen akış abonelik onayı ister: olay/resync, bir Sync ve değişiklik işareti. Sorgu döngüsü veya çevrimdışı yedek yok; izin iptali metni gizler.

Göndermeden önce proje/oyuncu özgününü kaydedin. Host/oturum yalnızca istek sınırıdır. Belirsiz ID, zaman, metin veya revizyonu değiştirmeyin.

İşlem 404 başarısızlık kanıtı değildir. Timeout veya OPERATION_EXPIRED sonrası özgünü tutun; yalnızca eşleşen makbuzla uzlaştırın.

Özgün bildirim ID ve gerekçesini tekrarlayın. removed başarılı tekrardır; REPORT_EXPIRED yeni bildirim yaratmaz.

PHP simpleServer tüm Chat yollarında 501 NOT_SUPPORTED döndürür.

Yeni özelliğini test et.

İki mevcut oturum: proje kanalı açın, bir kez gönderin, okuyun ve saklanan mesajı bildirin. Doğrudan sohbet arkadaşlık, grup etkin üyelik ister.

Panelde oyun yapılandırmandaki projeyle aynı projeyi seç.

Uç noktalar
  • 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
API referansındaki tüm uç noktalar
Sıradaki adım için önerimiz

Her tura bir yüksek puan ekle.

Turdan sonra puanı kaydet ve kimin önde olduğunu göster. Bağlantını ve oyuncu oturumunu kullanmaya devam et.