دليل تطوير الألعاب

ابنِ لبث TikTok LIVE لعبة تفاعلية

اجعل المشاهدين يتحكمون في لعبتك بأوامر الدردشة والهدايا والإعجابات. يعمل مع Unity و C++ ومتصفحات الويب وأي محرك يدعم WebSocket.

ما هي ألعاب TikTok LIVE؟

ألعاب TikTok LIVE التفاعلية تجارب يتحكم بها المشاهدون، حيث تؤثر أفعال الجمهور مباشرة في اللعب. عندما يرسل المشاهدون رسائل دردشة أو هدايا أو إعجابات أو يتابعون صاحب البث، تطلق هذه الأحداث استجابات داخل اللعبة: ظهور أعداء، أو تغيّر البيئة، أو التحكم في الشخصيات.

من الأمثلة الشائعة:

  • معارك تتحكم بها الدردشة - يكتب المشاهدون أوامر للانضمام إلى الفرق والقتال
  • مؤثرات تطلقها الهدايا - إرسال وردة يُظهر عنصرًا، والكون يطلق معركة مع الزعيم
  • موجات الإعجابات - الإعجابات تؤثر في الجاذبية أو السرعة أو الصعوبة
  • تنبيهات المتابعة - المتابعون الجدد يُظهرون شخصيات NPC صديقة

كيف يعمل

تتصل لعبتك بـ TikTools API عبر WebSocket وتستقبل الأحداث لحظيًا من بث TikTok LIVE. كل حدث يتضمن اسم مستخدم المشاهد، والفعل الذي قام به، والبيانات المرتبطة (قيمة الهدية، رسالة الدردشة، إلخ).

// The flow:
// 1. Viewer watches TikTok LIVE stream
// 2. Viewer sends a gift/chat/like
// 3. TikTool API delivers the event via WebSocket
// 4. Your game receives the event and responds

TikTok LIVE → TikTool API → WebSocket → Your Game Engine

الخيار 1: لعبة ويب (JavaScript)

الطريقة الأبسط: اتصل مباشرة من المتصفح أو من خادم Node.js:

import { TikTokLive } from '@tiktool/live'

const client = new TikTokLive({
  uniqueId: 'streamer_username',
  apiKey: process.env.TIKTOOL_API_KEY
})

// Gift → Spawn an item based on gift value
client.on('gift', (event) => {
  const item = event.diamondCount >= 100
    ? 'boss_enemy'
    : event.diamondCount >= 10
    ? 'power_up'
    : 'small_coin'

  spawnItem(item, event.nickname)
  console.log(`${event.nickname} spawned a ${item} with ${event.giftName}!`)
})

// Chat → Let viewers vote or issue commands
client.on('chat', (event) => {
  const cmd = event.comment.toLowerCase().trim()

  if (cmd === '!join') {
    addPlayer(event.nickname, event.userId)
  } else if (cmd === '!left' || cmd === '!right') {
    movePlayer(event.nickname, cmd.replace('!', ''))
  }
})

// Like → Increase game speed or difficulty
client.on('like', (event) => {
  increaseDifficulty(event.totalLikeCount)
})

// Viewer count → Scale the challenge
client.on('viewer_count', (event) => {
  setEnemySpawnRate(event.viewerCount / 100)
})

await client.connect()
console.log('🎮 Game connected to TikTok LIVE!')

الخيار 2: Unity (C#)

استخدم اتصال WebSocket المباشر من Unity، بدون أي إضافة:

using System;
using UnityEngine;
using NativeWebSocket;  // Install via Package Manager

public class TikTokLiveGame : MonoBehaviour
{
    WebSocket ws;

    async void Start()
    {
        ws = new WebSocket(
            "wss://api.tik.tools?uniqueId=streamer_username&apiKey=YOUR_API_KEY"
        );

        ws.OnMessage += (bytes) =>
        {
            var json = System.Text.Encoding.UTF8.GetString(bytes);
            var msg = JsonUtility.FromJson<TikToolEvent>(json);

            switch (msg.@event)
            {
                case "gift":
                    SpawnGiftEffect(msg.data.giftName, msg.data.diamondCount);
                    break;
                case "chat":
                    ProcessChatCommand(msg.data.comment, msg.data.user.nickname);
                    break;
                case "like":
                    IncreaseDifficulty();
                    break;
            }
        };

        await ws.Connect();
        Debug.Log("Connected to TikTok LIVE!");
    }

    void Update()
    {
        #if !UNITY_WEBGL || UNITY_EDITOR
        ws?.DispatchMessageQueue();
        #endif
    }
}

نصائح لتصميم اللعبة

  • اعرض أسماء المشاهدين - اعرض اسم الداعم أو كاتب الرسالة داخل اللعبة ليشعر المشاهدون بالتقدير
  • تكيّف مع عدد المشاهدين - استخدم أحداث viewer_count لضبط الصعوبة ديناميكيًا
  • مستويات الهدايا - اربط قيم هدايا TikTok (1💎 = صغيرة، 10💎 = متوسطة، 100💎+ = أسطورية) بمؤثرات داخل اللعبة
  • فترات الانتظار - امنع الإزعاج بإضافة فترة انتظار لكل مستخدم على أوامر الدردشة
  • استجابة مرئية - اعرض دائمًا ما حدث عندما يتفاعل مشاهد ليبقى الجمهور متفاعلًا

الأسئلة الشائعة

هل أحتاج إلى API رسمي من TikTok لصنع لعبة LIVE؟

لا. لا يوفر TikTok واجهة API عامة لأحداث بث LIVE. يوفر TikTool واجهة API مُدارة من طرف ثالث توصل البيانات عبر WebSocket وتعمل مع أي محرك ألعاب. فترة تقييم Sandbox المجانية لمدة 7 أيام تكفي لبناء نموذج أولي للعبتك.

ما الأحداث التي يمكنني استخدامها في لعبتي؟

كل الأحداث: chat و gift و like و follow و share و member (الانضمام) و viewer_count. راجع مرجع الأحداث للتوثيق الكامل.

هل يمكنني استخدامه مع Godot أو GameMaker أو محركات أخرى؟

نعم. أي محرك يدعم اتصالات WebSocket يمكنه استخدام TikTool API. اتصل بـ wss://api.tik.tools وحلّل رسائل JSON. لا حاجة إلى SDK.