TikTok-Live-Connectorから数秒で移行
すでにtiktok-live-connectorを使っていますか?import行を一行変えるだけで、マネージドなTikTool APIに切り替えられます。イベント名もメソッドも同じで、コードの変更は不要です。
SDKをインストール
npm install @tiktool/liveimport行を一行変更
const { WebcastPushConnection } = require('tiktok-live-connector');const { WebcastPushConnection } = require('@tiktool/live');TikToolsのAPIキーを使う
signApiKey: 'EULER_API_KEY'signApiKey: 'TIKTOOL_API_KEY'tik.toolsで無料キーを取得できます。クレジットカードは不要です。
動作するコード例
このコードはtiktok-live-connectorでも@tiktool/liveでもまったく同じように動きます。変わるのはimportだけです。
// Before: const { WebcastPushConnection } = require('tiktok-live-connector');
const { WebcastPushConnection } = require('@tiktool/live');
const connection = new WebcastPushConnection('username', {
signApiKey: 'YOUR_TIKTOOL_API_KEY',
});
connection.on('chat', data => {
console.log(`${data.user.uniqueId}: ${data.comment}`);
});
connection.on('gift', data => {
console.log(`${data.user.uniqueId} sent ${data.giftName}`);
});
connection.on('roomUser', data => {
console.log(`Viewers: ${data.viewerCount}`);
});
connection.on('connected', state => {
console.log('Connected!', connection.getState());
});
connection.connect();イベント名の100%互換
TTLCのすべてのイベント名がまったく同じように使えます。同時にTikTools独自の名前のイベントも発火します。
| TTLCのイベント名 | 状態 | 備考 |
|---|---|---|
chat | ✓ | 同一 |
member | ✓ | 同一 |
gift | ✓ | 同一 |
like | ✓ | 同一 |
follow | ✓ | 同一 |
share | ✓ | 同一 |
subscribe | ✓ | 同一 |
social | ✓ | 同一 |
roomUser | ✓ | roomUserSeqのエイリアス - 両方発火 |
questionNew | ✓ | questionのエイリアス - 両方発火 |
linkMicBattle | ✓ | battleのエイリアス - 両方発火 |
linkMicArmies | ✓ | battleArmiesのエイリアス - 両方発火 |
emote | ✓ | emoteChatのエイリアス - 両方発火 |
envelope | ✓ | 同一 |
liveIntro | ✓ | 同一 |
roomPin | ✓ | 同一 |
barrage | ✓ | 同一 |
superFan | ✓ | 2.0.8で追加 - 対応済み |
superFanJoin | ✓ | 2.0.8で追加 - 対応済み |
superFanBox | ✓ | 2.0.8で追加 - 対応済み |
connected | ✓ | 同一 |
disconnected | ✓ | 同一 |
error | ✓ | 同一 |
streamEnd | ✓ | 同一 |
rawData | ✓ | 生のイベントペイロード全体付きで発火 |
websocketConnected | ✓ | WS接続時に発火 |
マネージドAPIに切り替える理由
壊れない
TikTokはプロトコルを定期的に更新するため、直接連携は動かなくなります。TikToolならプロトコルの変更にすべて対応するので、ダウンタイムはありません。
より速いイベント配信
最適化されたインフラで、イベントのレイテンシは50ms未満。手元でprotobufをデコードする必要もありません。
依存関係ゼロ
protobufjsもws-clientもHTTP署名も不要。外部依存のないnpmパッケージ一つだけです。
自動再接続
指数バックオフによる再接続を内蔵。ネットワークの瞬断やTikTokサーバーの再起動があっても接続が続きます。
利用状況ダッシュボード
APIの利用状況、WebSocket接続、イベント量をtik.tools/dashboardでリアルタイムに確認できます。
開発者サポート
Discord、メール、アプリ内のサポートチャットで相談できます。返信は4時間以内です。
よくある質問
TypeScriptの型はそのまま使えますか?
はい。@tiktool/liveには、chat、gift、roomUserをはじめ、すべてのイベントペイロードのTypeScript定義が含まれています。TTLCのコミュニティ管理の型を使っていた場合でも、こちらの型はより厳密で、TikTokの実際のprotobufスキーマに合わせて常に更新されています。
sessionId、processInitialData、requestPollingIntervalMsなどのTTLCのオプションはどうなりますか?
接続の動作を制御するコンストラクタのオプション(sessionId、requestPollingIntervalMs、enableExtendedGiftInfoなど)は受け付けて転送します。不要になったオプション(processInitialDataなど)は何もせず無視されるので、設定オブジェクトを整理する必要はありません。
TTLCはAPIキーなしで動くこともあります。TikToolではキーが必要ですか?
はい、signApiKeyが必要です。無料のSandboxキーはtik.tools/loginで30秒ほどで取得でき、クレジットカードは不要です。SandboxにはAPI呼び出し5,000回/日とWebSocket同時接続3件が含まれ、開発やテストには十分です。
TikTokがプロトコルを更新すると、実際にはどうなりますか?
TTLCでは、TikTokが定期的に行う署名アルゴリズムやprotobufスキーマの更新によってライブラリが動かなくなります。TikTokのデプロイから数時間で止まることもあり、オープンソースのメンテナーが修正するまで直りません。TikToolでは、プロトコルの更新はマネージドサーバー側で対応します。コード側では何も変わらず、イベントは届き続けます。
おまけ: TTLCにない機能
Live Feed Discovery
今TikTokで配信中のユーザーを検索・発見できます。言語、地域、視聴者数で絞り込めます。
Python SDK
Python SDKも利用できます: pip install tiktok-live-api。同じAPI、同じイベントを別の言語で。
移行の準備はできましたか?
無料のAPIキーを取得しましょう。クレジットカードは不要です。SandboxプランにはREST APIリクエスト5,000件/日とWebSocket同時接続3件が含まれます。無料で、開発・評価専用です。