Ide dan fitur game

Fitur berikutnya

Percakapan

Pesan tersimpan, langganan eksplisit, dan moderasi terbatas.

SDK: developMemerlukan sesi pemain
Unity
Ilustrasi Percakapan
Hasil yang terlihat

Dua sesi yang ada: buka kanal proyek, kirim sekali, baca dan laporkan pesan tersimpan. Chat langsung perlu pertemanan; grup perlu keanggotaan aktif.

Video akan tersedia

Langkah ini belum memiliki video. Panduan dan permintaan MCP sudah dapat digunakan.

Percakapan

Siapkan proyek yang sama

  1. Pilih proyek yang sama di dasbor dan konfigurasi game.

    Percakapan →
  2. Permintaan pertama tidak memerlukan definisi tambahan. Hasil kosong tetap sah sebelum ada data permainan yang sesuai.

    Dua sesi yang ada: buka kanal proyek, kirim sekali, baca dan laporkan pesan tersimpan. Chat langsung perlu pertemanan; grup perlu keanggotaan aktif.

    PHP simpleServer mengembalikan 501 NOT_SUPPORTED untuk semua rute Chat.

Tambahkan fitur ini

Kamu dapat membaca panduan. Untuk menjalankannya, diperlukan kunci proyek aktif. Siapkan proyek

SDK terpasang, konfigurasi proyek diimpor, dan pemain sudah masuk.

Contoh SDK ini menggunakan develop. Periksa apakah API yang diperlukan tersedia di SDK yang terpasang.

Selesaikan koneksi mulai cepat dengan pemain yang dipilih. Panggil ReadChannelSnapshot(channelId) dari tombol atau tindakan adegan yang eksplisit. Membuka berkas saja tidak mengirim permintaan.

C#
Assets/Scripts/ChatDemo.cs
Panggilan 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}
Buka contoh SDK lengkap ↗

Dua pemain, satu kanal

Dua sesi yang ada: buka kanal proyek, kirim sekali, baca dan laporkan pesan tersimpan. Chat langsung perlu pertemanan; grup perlu keanggotaan aktif.

Feed terkelola perlu konfirmasi langganan: event/resync, satu Sync dan penanda perubahan. Tanpa polling atau pengganti offline; pencabutan izin menyembunyikan teks.

Simpan asli proyek/pemain sebelum mengirim. Host/sesi hanya membatasi permintaan. Jangan ganti ID, waktu, teks atau revisi yang belum pasti.

404 operasi bukan bukti gagal. Simpan asli setelah timeout atau OPERATION_EXPIRED; rekonsiliasi hanya dengan tanda terima yang cocok.

Ulangi ID dan alasan laporan asli. removed adalah pengulangan sukses; REPORT_EXPIRED tidak membuat laporan baru.

PHP simpleServer mengembalikan 501 NOT_SUPPORTED untuk semua rute Chat.

Uji fitur barumu.

Dua sesi yang ada: buka kanal proyek, kirim sekali, baca dan laporkan pesan tersimpan. Chat langsung perlu pertemanan; grup perlu keanggotaan aktif.

Pilih proyek yang sama di dasbor dan konfigurasi game.

Titik akhir
  • 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
Semua titik akhir di referensi API
Saran kami untuk langkah berikutnya

Berikan skor tertinggi untuk setiap ronde.

Simpan skor setelah ronde dan tampilkan siapa yang unggul. Tetap gunakan koneksi dan sesi pemainmu.