製品
ソリューション
開発者
デモ
価格
会社
すべてのブログ

Yallaが人気な理由とYallaのようなチャットルームアプリを作る方法

10 分読む
Feb 18, 2025

Yallaが人気な理由とYallaのようなチャットルームアプリを作る方法

ボイスチャットアプリとは何ですか

ボイスチャットルームは、他のユーザーとプライベートな環境で会話できるオンラインコミュニティです。このタイプのルームは、クライアントとの会議やビジネスパートナーとの問題解決など、さまざまな目的で使用できます。多くのオンラインコミュニティには、ユーザーが会議やセミナーのスケジュールを調整したり、製品やサービスの更新やニュースについて議論したりするためのボイスルームがあります。

Yallaボイスチャットアプリとは何ですか

Yallaボイスチャットアプリは、ユーザーグループを接続し、世界中の異なる場所から友達を作りたい人々に楽しいボイスコールやゲームを提供することを目指しています!

アプリ名

Yallaボイスチャットアプリ

発売年

2020年

本社地域

湾岸協力理事会(GCC)

50以上

Apkpure評価

6.3/10

収益

6350万

主な収入源

アプリ内のバーチャルアイテム購入、プレミアムメンバーシップのアップグレード。

統合

Google Drive, Dropbox Business, Mailchimp, Google Analytics, Evernote Teams, Freshbooks, Zapier, Google Calendar, Adobe Campaign, CallTrekkingMetrics, Visual Visitor

Yallaがこれほど人気な理由

Yallaの成長と発展を振り返ると、この会社は2016年に設立され、同年に自社の名前を冠した最初のボイスグループチャット製品を発売しました。中東および北アフリカでの最初の純粋な音声ソーシャル製品として、Yallaは非常にローカライズされたコンテンツと製品デザインで、中東のボイスチャット市場に迅速に足場を築きました。Yalla Chatのような製品も短期間で市場の認知を得ました。

社会的製品を通じて substantial なユーザーベースを獲得した後、Yallaは軽量ゲームに進出し始めました。2018年にリリースされた「Yalla Ludo」は、Yallaのゲームビジネスの始まりを示し、ボイスチャットルーム機能を統合した最初のルドゲームでした。現在までに、この製品は毎月900万ドル以上の世界的な収益を上げており、Yallaのゲームビジネスのコア収益源として確固たる地位を築いています。

ルドとボイスチャットルームの組み合わせがもたらす巨大な可能性を見て、Yallaはその後、「Yalla Parchis」を南米に、「Yalla Baloot」をサウジアラビアに、「101 Okey Yalla」をトルコに発売し、ボイスチャットルームを地元のゲームと統合しました。しかし、収益と製品のパフォーマンスに関しては、これらの製品は「Yalla Ludo」の高みに達していません。

左から右へ: Yalla Parchis、Yalla Baloot、101 Okey Yalla

"Merge Kingdoms"は、ボイスチャットルームシステムを統合した最初のSLGゲームです。

実際、ハードコアなSLGプレイヤーにとって、リアルタイムコミュニケーションは重要なサービス要件です。連合戦では、長時間の集中したコミュニケーションが必要になることが多く、プレイヤーは通常、DiscordやTTのようなサードパーティアプリを使用してリアルタイムコミュニケーションを行います。しかし、複数のアプリを実行すると、安定性に影響を及ぼすことがあります。内蔵ボイスルームの統合は、最も「直接的」なアプローチだと言えます。

Merge Kingdoms ボイスチャットルーム

「Merge Kingdoms」のゲームプレイから始めると、新規参加者は約5〜10分のチュートリアルを通じて紹介されます。このゲームは、中東での主流のCOK-Likeゲームプレイを採用しており、大口の支出者の好みに合わせて大幅に簡素化されています。

具体的には、「Merge Kingdoms」は「Top War」(Pocket Soldiers)と類似のゲームプレイメカニクスを共有し、スライディング合成ゲームプレイスタイルを採用しています。リソースの収集、建物や部隊のアップグレードといった面倒なステップを排除し、「2倍速度の戦闘」や「スキップ」などの機能を含むことで、プレイヤーは単に建物をクリックしてリソースを集め、ドラッグして統合し、戦闘に入ることができます。

COKゲームプレイを超えて、「Merge Kingdoms」はヒーロー開発システムも取り入れています。バトルでは、ヒーローが兵士より先に攻撃し、高レベルで高グレードのヒーローはより多くのダメージを与え、バトルの時間をさらに短縮します。

ゲームプレイデザインだけを見れば、「Merge Kingdoms」は確かに軽量で新規参加者に非常に易しいですが、過度に簡素化されたゲームプレイは後半のプレイヤーの維持を減少させる可能性があることは否定できません。それにもかかわらず、ボイスチャットルームの追加は、潜在的な疲労を効果的に助けることができます。

画面の左下にある小さな家のアイコンをクリックすることで、プレイヤーはボイスチャットルームに入ることができます。「アライアンスルーム」の他に、プレイヤーは他のチャットルームにも自由に参加できます。

個別のボイスチャットルームに加えて、Yallaはギフティングシステム、リーダーボード、ミニゲーム、音楽再生をボイスチャットルームに統合しています。これは、ライブストリーミングで一般的な機能です。ボイスチャットルームでは、興味のあるトピックについて瞬時に「ルームホスト」となり、他のユーザーが会話に参加してギフトを通じて感情を表現できます。ゲームをしながらチャットを楽しむ場合は、「ハングアップ」機能を使用して、ボイスチャットルームがメインインターフェースの側に小さなウィジェットとして表示されます。

包括的な機能を備えたこのアプリは、チャットや社交的な交流を好むユーザーでも「Merge Kingdoms」のボイスチャットルームを独立したアプリとして使用でき、ゲームを別の議題として追加することができます。体験中、複数のルームのチャット内容は非常に多様で、ゲーム戦略、日常生活、その他のトピックをカバーしています。

ゲーム自体はユーザーを引き付けるためのツールとして機能し、ボイスチャットルームはターゲットユーザーを変換するためのコアポイントです。ゲームの過程で、ユーザーは友達を作ったりゲーム戦略を探求したりする目的でボイスチャットルームに入ります。相互作用を通じて、彼らは徐々により多くの社交的なニーズを発展させます。最終的に、社交的交流を好むほとんどのユーザーはボイスチャットルームの機能に戻る可能性が高く、ゲームユーザーは連合戦の際にボイスチャットルームを音声デバイスとして使用するでしょう。

自分のリアルタイムチャットアプリを構築する方法:ステップバイステップ

自分のボイスチャットアプリを構築したい場合、数時間以内に主要なステップを完了し、完全なUIインターフェースとボイスルーム機能を備えたアプリを手に入れることができます。

以下の内容は、Android統合を例として取り上げます。iOSデバイスにボイスチャットルームをインストールしたい場合は、こちらを参照してください

環境準備

Android 5.0(SDK APIレベル21)以上。

Android Studio 4.2.1以上。

Android 5.0以上のデバイス。

ステップ1. サービスを有効化する

Tencent Cloudが提供するオーディオおよびビデオサービスを使用する前に、コンソールにアクセスしてアプリケーションのサービスを有効化する必要があります。詳細な手順は、サービスを有効化するをご参照ください。

ステップ2: TUILiveKitコンポーネントをダウンロードする

コードをGithubからクローンまたはダウンロードし、その後、Androidディレクトリのtuilivekitサブディレクトリを現在のプロジェクトの同じレベルのディレクトリにコピーします。

ステップ3: プロジェクト設定

プロジェクトにjitpackリポジトリ依存関係を追加します(ギフトSVGアニメーションを再生するためのサードパーティライブラリSVGAPlayerをダウンロード):

Gradle 7.0以前

プロジェクトのルートディレクトリのbuild.gradleファイルにjitpackリポジトリのアドレスを追加します:

allprojects {
    repositories {
        google()
        mavenCentral()
        // jitpackリポジトリを追加
        maven { url 'https://jitpack.io' }
    }
}

2. プロジェクトのルートディレクトリにあるsettings.gradleファイルを見つけ、次のコードを追加します。このコードは、ステップ2でダウンロードしたtuilivekitコンポーネントを現在のプロジェクトにインポートします:

include ':tuilivekit'

3. アプリディレクトリのbuild.gradleファイルを見つけ、次のコードを追加します。このコードは、新たに追加されたtuilivekitコンポーネントに対する現在のアプリの依存関係を宣言します:

api project(':tuilivekit')

4. SDK内でJavaのリフレクション機能を使用するため、SDK内の一部のクラスを難読化しないリストに追加する必要があります。そのため、次のコードをproguard-rules.proファイルに追加します:

-keep class com.tencent.** { *; }

5. AndroidManifest.xmlに、Theme.AppCompatテーマを設定し、android:theme属性をアプリケーションに指定します:

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android='httpschemasandroidcomapkresandroid'"
    xmlns:tools="http://schemas.android.com/tools">
    <application android:theme="@style/Theme.AppCompat.DayNight.NoActionBar">
        ...
    </application>
</manifest>

ステップ4. ログイン

TUILiveKitコンポーネントの機能を呼び出す前に、TUIコンポーネントのログインを行う必要があります。プロジェクト内では、ビジネスログインシナリオまたはアプリの初回起動アクティビティ内に次のログインコードを追加することをお勧めします。これにより、TUICoreの関連APIを呼び出してTUIコンポーネントのログインを完了します。このステップは非常に重要です。なぜなら、ログインが成功した後にのみ、TUILiveKitのすべての機能を使用できるからです。したがって、関連パラメータが正しく設定されているかどうかを注意深く確認してください。

import TUICore

TUILogin.login(context, 
    1400000001,     // ステップ1で取得したSDKAppIDに置き換えます
    "denny",        // ユーザーIDに置き換えてください
    "xxxxxxxxxxx",  // コンソールでUserSigを計算して埋め込みます
    new TUICallback() {
    @Override
    public void onSuccess() {
        Log.i(TAG, "ログイン成功");
    }

    @Override
    public void onError(int errorCode, String errorMessage) {
        Log.e(TAG, "ログイン失敗、エラーコード: " + errorCode + " メッセージ:" + errorMessage);
    }
});

パラメータ説明:ログイン関数で使用される主要なパラメータは以下の通りです:

SDKAppID: ステップ1の最後で取得され、ここでは詳細には説明されていません。

UserID: 現在のユーザーのIDであり、文字(a–zおよびA–Z)、数字(0–9)、ハイフン(-)、またはアンダースコア(_)のみを含むことができる文字列です。

UserSig: Tencent Cloudが現在のユーザーがTRTCサービスを使用する許可を検証するために使用する認証資格です。これを生成するには、SDKSecretKeyを使用して、SDKAppIDやUserIDなどの情報を暗号化します。一時的なUserSigを生成するには、コンソールのユーザー生成ボタンをクリックします。

ステップ5. ライブプレビュー画面に入る

  1. app_activity_anchor.xmlという新しいファイルを作成します(デフォルトパス: app/src/main/res/layout/app_activity_anchor.xml)。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android='httpschemasandroidcomapkresandroid'"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id='idfl_container'"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>
  1. AnchorActivity.javaという新しいファイルを作成し、AndroidManifest.xmlに登録します。TUILiveKit TUIVoiceRoomFragmentページを読み込むことによって、プレビュー画面を表示できます。
public class AnchorActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_activity_anchor);

        //RoomIdはカスタマイズできます
        String roomId = "123666";

        TUIVoiceRoomFragment.RoomParams params = new TUIVoiceRoomFragment.RoomParams();
        //デフォルト値はパッケージがサポートする最大座席数です
        params.maxSeatCount = 0;
        params.seatMode = TUIRoomDefine.SeatMode.APPLY_TO_TAKE;

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        TUIVoiceRoomFragment fragment = new TUIVoiceRoomFragment(roomId, 
        TUIVoiceRoomFragment.RoomBehavior.PREPARE_CREATE, params);
        fragmentTransaction.add(R.id.fl_container, fragment);
        fragmentTransaction.commit();
    }
}

AnchorActivityをAndroidManifest.xmlに登録します(実際のパッケージ名を使用してください):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android='httpschemasandroidcomapkresandroid'"
    xmlns:tools="http://schemas.android.com/tools">
    <application>
        ...
        <!-- 例:AnchorActivityを登録するには、実際のパッケージ名を使用してください -->
        <activity android:name="com.trtc.uikit.livekit.example.main.AnchorActivity"
                  android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"/>
        ...
    </application>
</manifest>

ライブストリーミングを開始する必要がある場合(ビジネスによって異なりますが、デフォルトではMainActivityのクリックイベントで実行できます)、次の操作を行ってホスト開始ページを引き出します:

Intent intent = new Intent(context, AnchorActivity.class);
startActivity(intent);

ステップ6: ルームリストを引き出す

1, app_activity_main.xmlという新しいファイルを作成します(デフォルトパス: app/src/main/res/layout/app_activity_main.xml)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android='httpschemasandroidcomapkresandroid'"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id='idfl_live_list'"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>
  1. MainActivity.javaを作成し、それをAndroidManifest.xmlに登録し、TUILiveKitのTUILiveListFragmentページを読み込むことで、ルームリストを表示できます。
public class MainActivity extends AppCompatActivity {
    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_activity_main);

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        TUILiveListFragment listFragment = new TUILiveListFragment();
        fragmentTransaction.add(R.id.fl_live_list, listFragment);
        fragmentTransaction.commit();
    }
}

MainActivityをアプリのAndroidManifest.xmlに登録します(MainActivityの実際のパッケージ名を使用してください):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android='httpschemasandroidcomapkresandroid'"
    xmlns:tools="http://schemas.android.com/tools">
    <application>
        ...
        <!-- 例:MainActivityを登録するには、実際のパッケージ名を使用してください -->
        <activity 
            android:name="com.trtc.uikit.livekit.example.view.main.MainActivity" 
            android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"/>
        ...
    </application>
</manifest>

ステップ7. 観客がスタジオに入る

app_activity_audience.xmlという新しいファイルを作成します(デフォルトパス: app/src/main/res/layout/app_activity_audience.xml)。

<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android='httpschemasandroidcomapkresandroid'"
    android:layout_width="match_parent"
    android:layout_height="match_parent">

    <FrameLayout
        android:id='idfl_container'"
        android:layout_width="match_parent"
        android:layout_height="match_parent" />
</RelativeLayout>

AudienceActivity.javaという新しいファイルを作成し、AndroidManifest.xmlに登録します。TUILiveKitのTUILiveRoomAudienceFragmentページを読み込むことで、ルームに入ることができます。

public class AudienceActivity extends AppCompatActivity {

    @Override
    protected void onCreate(@Nullable Bundle savedInstanceState) {
        super.onCreate(savedInstanceState);
        setContentView(R.layout.app_activity_audience);
        //RoomIdはカスタマイズできます
        String roomId = "123666";

        FragmentManager fragmentManager = getSupportFragmentManager();
        FragmentTransaction fragmentTransaction = fragmentManager.beginTransaction();
        TUIVoiceRoomFragment fragment = new TUIVoiceRoomFragment(roomId, 
                TUIVoiceRoomFragment.RoomBehavior.JOIN, null);
        fragmentTransaction.add(R.id.fl_container, fragment);
        fragmentTransaction.commit();
    }
}

AudienceActivityをアプリプロジェクトのAndroidManifest.xmlに登録します(AudienceActivityの実際のパッケージ名を使用してください):

<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android='httpschemasandroidcomapkresandroid'"
    xmlns:tools="http://schemas.android.com/tools">
    <application>
        ...
        <!-- 例:AudienceActivityを登録するには、実際のパッケージ名を使用してください -->
        <activity android:name="com.trtc.uikit.livekit.example.main.AudienceActivity"
                  android:theme="@style/Theme.AppCompat.DayNight.NoActionBar"/>
        ...
    </application>
</manifest>

観客がルームに入る必要がある場合(ビジネスによって異なりますが、デフォルトではMainActivityのクリックイベントで実行できます)、次の操作を行って観客の入室ページを引き出します:

Intent intent = new Intent(context, AudienceActivity.class);
startActivity(intent);

同様のアプリやプラットフォームを構築したいですか?今すぐ無料で10,000分を取得してください

無料で始める

Yallaグループボイスチャットルームアプリの主な機能

 マルチユーザーボイスルーム: Yallaでは、ユーザーがボイスチャットルームを作成または参加できるため、グループディスカッションや社交的な集まりに最適です。

 グローバル接続: 世界中の人々と接続でき、文化交流や国際的な友達を作るための素晴らしいプラットフォームです。

 インタラクティブゲーム: アプリ内には、ユーザーがボイスチャットを楽しみながら遊べるさまざまなインタラクティブゲームが組み込まれており、楽しさと競争を加えています。

 ライブエンターテイメント: Yallaでは、ユーザーが音楽を聴いたり、パフォーマンスを観賞したり、ライブディスカッションに参加したりするライブセッションを開催しており、エンターテイメントとエンゲージメントを提供しています。

 ユーザープロフィールとカスタマイズ: ユーザーは、アバター、ステータス更新などでプロフィールを作成し、カスタマイズでき、コミュニティ内でのパーソナライズされた体験とアイデンティティを持つことができます。

Yallaチャットルームアプリの5つの優れた代替案

Discord

ゲーマーの間で人気のあるDiscordは、優れたボイスチャット機能を提供し、テキストやビデオオプションも備えており、カジュアルおよびプロフェッショナルなインタラクションに適しています。

Clubhouse

このアプリは、技術から自己啓発まで、さまざまなトピックに関するディスカッションをホストできるルームでのライブボイス会話に焦点を当てています。

Viber

セキュアなメッセージングで知られるViberは、ボイスおよびビデオ通話オプションも提供し、スタンプやGIFなどの機能を追加して活気あるチャット体験を提供しています。

Telegram

主にメッセージングアプリであるTelegramは、Voice Chats 2.0として知られる大規模なグループボイスチャットをサポートしており、ライブイベントや大規模なグループディスカッションをホストするのに適しています。

Zello

このアプリはウォーキートーキーのように機能し、プッシュ・トゥ・トーク機能を使ってリアルタイムで音声通信を行うことができ、迅速かつ効率的なボイスチャットに最適です。

よくある質問

Yallaのボイスチャットルームに参加するにはどうすればよいですか?

Yallaのボイスチャットルームに参加するには、アプリを開き、利用可能なルームのリストをブラウズするか、特定のルームを見つけるために検索機能を使用し、タップして参加します。

Yallaで自分のチャットルームを作成できますか?

はい、Yallaではユーザーが自分のチャットルームを作成することができます。トピックを設定し、公開または非公開を決定し、友達を招待したり誰でも参加できるようにしたりできます。

Yallaは安全に使用できますか?

Yallaは、尊重と安全な環境を確保するためにさまざまなモデレーションツールとガイドラインを使用してユーザーの安全を優先しています。ただし、他のオンラインプラットフォームと同様に、注意を払い、個人情報を保護することが重要です。

Yallaは複数の言語をサポートしていますか?

はい、Yallaは複数の言語をサポートしており、グローバルなオーディエンスにアクセスでき、英語以外の話者のユーザー体験を向上させます。

Yallaの使用に関連する料金はありますか?

Yallaは無料でダウンロードおよび使用できますが、プレミアム機能やコンテンツへのアクセスのためにアプリ内購入やサブスクリプションも提供しています。

オンラインで質問がある場合やサポートが必要な場合、私たちのサポートチームはいつでもお手伝いする準備ができています。お気軽にお問い合わせまたは、TelegramDiscordに参加してください。