Twitch クローンに Adalo が最適な理由
Adalo はデータベース駆動のウェブアプリとネイティブ iOS・Android アプリのためのノーコードアプリビルダーです。Apple App Store と Google Play に公開できる 3 プラットフォーム対応の単一バージョンを作成できます。このクロスプラットフォーム機能は、視聴者がデバイスや機能の妥協なくお気に入りのクリエイターをどこでも視聴できることを期待する Twitch スタイルのストリーミングプラットフォームを構築するときにまさに必要なものです。
ストリーミングプラットフォームが成功するには、アプリストアでの存在感が不可欠です。ネイティブ iOS・Android アプリにより、ストリーマーがライブになった瞬間にフォロワーに通知するプッシュ通知を活用できます。このリアルタイムエンゲージメントが、Twitch のようなプラットフォームを繁栄させる忠実でアクティブなコミュニティを生み出します。有料プランでレコード上限なしの Adalo の内蔵データベースにより、プラットフォームが成長するにつれてチャンネル・チャットログ・サブスクライバーデータをスケールできます。
Adalo がストリーミングプラットフォームの構築に適している理由
Adalo はデータベース駆動のウェブアプリとネイティブ iOS・Android アプリのための AI パワードアプリビルダーです。Apple App Store と Google Play に公開できる 3 プラットフォーム対応の単一バージョンを作成できます。これにより、ユーザーがスマートフォン・タブレット・デスクトップブラウザ間で機能や利便性を妥協することなくシームレスなアクセスを期待する Twitch スタイルのストリーミングプラットフォームを作成するための優れた基盤となります。
ストリーマーがライブになったときにフォロワーに通知するプッシュ通知を活用するには、ネイティブ iOS・Android アプリが必要です。これはリアルタイムエンゲージメントを促進し、ユーザーを引き戻す機能です。有料プランでレコード上限なしの Adalo の内蔵データベースと組み合わせることで、スケールでチャンネル・サブスクリプション・チャット履歴を管理するために必要なすべてが揃います。
この包括的なチュートリアルでは、Adalo のアプリプラットフォームを使って機能的なライブストリーミングプラットフォームを構築する方法を詳しく説明します。Adalo はネイティブで Twitch のような真のライブストリーミング機能を提供できませんが、サードパーティのストリーミングサービスを統合することで、ライブチャット・ユーザープロフィール・チャンネル登録・ビデオオンデマンド機能を備えた動作するビデオ共有プラットフォームを作成する方法を学びます。
重要なポイント
- Daily.co をライブストリーミングに、Stripe をマネタイズに統合して、コードなしで2〜5 週間で Twitch スタイルのストリーミングアプリを構築できます
- 単一のビルドから iOS・Android・ウェブに公開——Adalo のモジュラーインフラは上限なしで月間アクティブユーザー 100 万人以上にスケールします
- 有料プランの無制限データベースレコードにより、チャット履歴・ユーザーデータ・ビデオメタデータが上限なしで成長できます
- 使用量ベースの課金なし——ストリーミングコミュニティが成長しても予測可能な月額料金
前提条件と初期設定
ステップ 1:Adalo アカウントを作成してプランを選ぶ
- Adalo.com にアクセスして無料アカウントにサインアップする
- プロトタイプ作成には無料ティアから始める(テストアプリ無制限)
- 以下のために Professional プラン(月額 36 ドル)または月額 52 ドル(年払い)へのアップグレードを計画する:
- カスタムアクション(外部 API 統合に必要)
- 外部コレクション
- ビデオコンテンツ用 25GB ストレージ
- 無制限データベースレコード——成長するユーザーベースに上限なし
- ダッシュボードの「新しいアプリを作成」をクリックする
ステップ 2:ビデオ互換性のためにプロジェクトを設定する
- 「レスポンシブアプリ(Adalo 2.0)」を選択する(ビデオコンポーネントの互換性に必要)
- アプリに名前を付ける(例:「StreamLive」または「MyStreaming」)
- 「ゼロから始める」を選択する(ストリーミングテンプレートは利用不可)
- 事前作成テンプレートをスキップ——ストリーミング用のカスタム画面を構築します
ステップ 3:アプリテーマを設定する
- プライマリカラーを選択する(ダークテーマ推奨:Twitch 風の美学には #18181B)
- CTA とライブインジケーター用のアクセントカラーを選択する(#9146FF パープルまたは #00FF00 グリーン)
- モダンなサンセリフフォントを選ぶ(Inter・Roboto・SF Pro)
- 「続行」をクリックしてビジュアルエディターに入る
データベース構造の構築
ストリーミングプラットフォームにとって Adalo の主な利点の一つは、有料プランでレコード上限なしの内蔵リレーショナルデータベースです。データベース行に基づいて課金したり高額なアップグレードを強制する上限を設けるプラットフォームとは異なり、Adalo ではチャットメッセージ・ユーザープロフィール・ビデオメタデータが制限なしに成長できます。これはチャット活動だけで 1 ストリーム当たり何千ものレコードを生成できるストリーミングアプリで特に重要です。
ステップ 4:Users コレクションを拡張する
- 左サイドバーのデータベースアイコンをクリックする
- 「Users」コレクションを選択する(自動的に作成される)
- 以下のプロパティを追加する(それぞれ「+ プロパティを追加」をクリック):
- ユーザーネーム(テキスト - チャンネルの一意の識別子)
- 表示名(テキスト)
- プロフィール画像(画像)
- バナー画像(画像 - チャンネルページ用)
- 自己紹介(テキスト - 複数行)
- ユーザータイプ(テキスト)- 値:「Streamer」「Viewer」
- ライブ中(True/False - デフォルト:False)
- フォロワー数(数値 - デフォルト:0)
- サブスクライバー数(数値 - デフォルト:0)
- 総視聴回数(数値 - デフォルト:0)
- アカウント作成日時(日付 & 時刻 - 自動)
ステップ 5:Videos コレクションを作成する
- 「+ コレクションを追加」をクリックする
- 「Videos」という名前を付ける
- 以下のプロパティを追加する:
- ビデオタイトル(テキスト)
- ビデオ URL(テキスト - 外部ホストのビデオ用)
- ビデオファイル(ファイル - 最大 50MB;40MB を超えるファイルはタイムアウトする可能性あり)
- サムネイル(画像 - 200KB 未満に圧縮)
- 説明(テキスト - 複数行)
- カテゴリ(テキスト)- 値:「ゲーム」「音楽」「トーク番組」「クリエイティブ」「スポーツ」
- 視聴回数(数値 - デフォルト:0)
- いいね数(数値 - デフォルト:0)
- ライブ中(True/False - デフォルト:False)
- ストリーム URL(テキスト - ライブストリーム用の Daily.co ルーム URL)
- 再生時間(数値 - 秒単位)
- アップロード日時(日付 & 時刻 - 自動)
- ストリーム開始時刻(日付 & 時刻)
ステップ 6:Comments コレクションを作成する
- 「+ コレクションを追加」をクリックする
- 「Comments」という名前を付ける
- プロパティを追加する:
- コメントテキスト(テキスト - 複数行、最大 500 文字)
- タイムスタンプ(日付 & 時刻 - 自動)
- いいね数(数値 - デフォルト:0)
- ピン留め中(True/False - デフォルト:False)
スケーラビリティに関する注意: 人気ストリーム中のライブチャットは 1 分あたり何百ものコメントを生成することがあります。Adalo の有料プランの無制限データベースストレージにより、チャット履歴の削除や高額なティアへのアップグレードを強いるレコード制限に達することはありません。
ステップ 7:Follows コレクションを作成する
- 「+ コレクションを追加」をクリックする
- 「Follows」という名前を付ける
- プロパティを追加する:
- フォロー日時(日付 & 時刻 - 自動)
- 通知有効(True/False - デフォルト:True)
ステップ 8:Subscriptions コレクションを作成する
- 「+ コレクションを追加」をクリックする
- 「Subscriptions」という名前を付ける
- プロパティを追加する:
- ティア(テキスト)- 値:「ベーシック(4.99ドル)」「プロ(9.99ドル)」「エリート(24.99ドル)」
- 開始日時(日付 & 時刻 - 自動)
- 終了日時(日付 & 時刻)
- ステータス(テキスト)- 値:「アクティブ」「キャンセル済み」「期限切れ」
- Stripe サブスクリプション ID(テキスト)
- 月額(数値)
ステップ 9:Live Streams コレクションを作成する
- 「+ コレクションを追加」をクリックする
- 「Live Streams」という名前を付ける
- プロパティを追加する:
- ストリームタイトル(テキスト)
- Daily ルーム URL(テキスト - Daily.co 統合用)
- ストリームキー(テキスト - 自動生成の一意の識別子)
- 現在の視聴者数(数値 - デフォルト:0)
- 最大視聴者数(数値 - デフォルト:0)
- ステータス(テキスト)- 値:「予定」「ライブ中」「終了」
- 開始日時(日付 & 時刻)
- 終了日時(日付 & 時刻)
ステップ 10:データベースのリレーションシップを設定する
- Videos コレクション内:
- Users へのリレーションシップを追加:「クリエイター」(1 人のユーザーが多くのビデオを持てる)
- Comments へのリレーションシップを追加:一対多
- Comments コレクション内:
- Users へのリレーションシップを追加:「コメンター」(コメントを書いたユーザー)
- Videos へのリレーションシップを追加:多対一
- Follows コレクション内:
- Users へのリレーションシップを追加:「フォロワー」(フォローするユーザー)
- Users へのリレーションシップを追加:「フォロー対象」(フォローされるユーザー)
- Subscriptions コレクション内:
- Users へのリレーションシップを追加:「サブスクライバー」
- Users へのリレーションシップを追加:「チャンネル」(登録されているストリーマー)
- Live Streams コレクション内:
- Users へのリレーションシップを追加:「ストリーマー」
- Videos へのリレーションシップを追加:一対一(アーカイブされたストリーム)
必要なコンポーネントのインストール
ステップ 11:ビデオコンポーネントをインストールする
ビデオコンポーネントは Adalo に内蔵されています(マーケットプレイスのインストール不要)。サポートするもの:
- 直接アップロードされた最大 50MB のビデオファイル
- 外部ビデオ URL(YouTube・Vimeo・直接 CDN リンク)
- カスタムビデオプレーヤー
重要な制限: 40MB を超えるファイルはアップロード中にタイムアウトする可能性があります。大きなファイルには外部ホスティングを使用してください。
ステップ 12:チャットコンポーネントをインストールする
- コンポーネントパネルで「チャット」を検索する
- チャット機能は内蔵されています(マーケットプレイスのインストール不要)
- あるいは、事前設定済みの機能を使うためにチャット機能テンプレートを使用する
ステップ 13:外部ビデオホスティングを設定する(オプションだが推奨)
Adalo にはファイルサイズの制限があるため、外部ホスティングを設定する:
オプション 1:YouTube 埋め込み
- 無料、無制限のストレージ
- 内蔵プレーヤーコントロール
- 公開コンテンツに最適
オプション 2:Vimeo Pro(月額 20〜75 ドル)
- プライバシーコントロール
- カスタムブランディング
- 高品質ストリーミング
オプション 3:AWS S3 + CloudFront
- ファイルの完全なコントロール
- GB 単位の従量課金
- 技術的なセットアップが必要
ステップ 14:ライブストリーミング用に Daily.co をインストールする
- Daily.co にアクセスしてアカウントを作成する
- Daily.co には無料ティアがあります(月 10,000 分)
- Daily.co ダッシュボードから API キーを取得する
- Adalo の Web View コンポーネントを通じて統合します
ステップ 15:Stripe 支払いコンポーネントをインストールする
- Adalo マーケットプレイスにアクセスする
- 「Stripe」を検索して支払いコンポーネントをインストールする
- Stripe アカウントを作成する(無料)
- Stripe API キーを取得する(まずはテストモード、後で本番用)
ユーザー認証とプロフィールの作成
ステップ 16:ウェルカム画面を構築する
- デフォルト画面を「Welcome」に名前変更する
- アプリロゴを追加する(画像コンポーネント)
- ヘッドラインテキストを追加する:「Watch, Stream, Connect」
- 説明文を追加する:「何千人ものクリエイターがライブストリーミングするコミュニティに参加しましょう」
- 2 つのボタンを追加する:
- 「サインアップ」→ 新しい画面「Sign Up」にリンク
- 「ログイン」→ 新しい画面「Login」にリンク
ステップ 17:サインアップ画面を作成する
- 「Sign Up」という新しい画面を追加する
- Users コレクションに接続したフォームコンポーネントを追加する
- 以下のフィールドを含める:
- メール(メール入力)
- パスワード(パスワード入力 - 最低 8 文字)
- 表示名(テキスト入力)
- ユーザーネーム(テキスト入力 - 小文字、スペースなし)
- ユーザータイプ用のドロップダウンを追加する:
- オプション:「ストリームを視聴したい」(Viewer)「ストリーミングしたい」(Streamer)
- これによりユーザータイプのプロパティが設定される
- フォーム送信アクションを設定する:
- 新しいユーザーレコードを作成する
- ユーザータイプが「Streamer」の場合 → 「Streamer Setup」に移動する
- ユーザータイプが「Viewer」の場合 → 「Browse Streams」に移動する
ステップ 18:ストリーマー設定画面を作成する
- 「Streamer Setup」という新しい画面を追加する
- テキストを追加する:「チャンネルを設定する」
- ログイン中のユーザーを更新するフォームを追加する:
- プロフィール画像(画像ピッカー)
- バナー画像(画像ピッカー)
- 自己紹介(テキストエリア - 最大 300 文字)
- カテゴリ(ドロップダウン:ゲーム・音楽・トーク番組・クリエイティブ・スポーツ)
- 送信ボタン → 「Streamer Dashboard」に移動する
ステップ 19:ユーザープロフィール/チャンネルページを構築する
- 「Channel Page」という新しい画面を追加する
- ヒーローセクションを追加する:
- 画像:バナー画像(全幅、高さ 200px)
- プロフィール画像をオーバーレイ(円形、100px)
- 表示名(H1 テキスト)
- ユーザーネーム(小さめのテキスト)
- フォロワー数とサブスクライバー数
- アクションボタンを追加する:
- ボタン:「フォロー」(フォロー中でない場合に表示)
- アクション:フォローレコードを作成する
- 更新:フォローされたユーザー → フォロワー数 +1
- ボタン:「サブスクライブ」→「Subscription Tiers」に移動する
- ボタン:「フォロー」(フォロー中でない場合に表示)
- タブセクションを追加する:
- タブ 1:「ビデオ」- 過去のストリーム/アップロードのリスト
- タブ 2:「について」- 自己紹介とチャンネル情報
- ビデオのカスタムリストを追加する:
- フィルター:クリエイター = このチャンネルのユーザー
- 並び替え:アップロード日時(新しい順)
- 表示:サムネイル・タイトル・視聴回数・アップロード日時
ブラウズと発見インターフェースの構築
ステップ 20:ストリームブラウズホーム画面を作成する
- 「Browse Streams」という新しい画面を追加する
- トップナビゲーションバーを追加する:
- ロゴ(この画面にリンク)
- 検索アイコン(「Search」にリンク)
- プロフィールアイコン(ログイン中のユーザーのチャンネルにリンク)
- 「ライブ中」セクションを追加する:
- テキスト:赤いドットインジケーター付きの「ライブチャンネル」
- カスタムリスト(横スクロール):
- フィルター:ライブ中 = True のビデオ
- 並び替え:現在の視聴者数(多い順)
- 表示:サムネイル(「LIVE」バッジ付き)・クリエイター名・現在の視聴者数・カテゴリ