各側のロジックでインタラクティブなライブを終えたこの論文は、フォーカスがフロント教師IMの一部とWeb / WAPの学生の終了に関連しています。私たちは、プロジェクトの保守性を向上させ、この順序によって、できるだけ早くメンテナンス時のライブインタラクティブなプロセスの前に理解することができることを願っています。クライアントと教師終わり、それはメッセージのフロントエンドが提供するインタフェースを理解し、実装することができます。また、調和させる後半の問題を見つけるためにあなたの小麦のプロセス全体の理解を向上させることができます。
関連読書の推薦
「でも、ジミー・インタラクティブ・ライブプログラムの完全な練習1:でも、小麦インタラクティブライブとは何ですか?"
「でも、ジミー・インタラクティブ・ライブプログラムの完全な練習2:網易雲の手紙Lianmaiインタラクティブライブプログラムの進化」
「でも、ジミー・インタラクティブ・ライブプログラムの完全な練習3:網易雲の手紙Lianmaiインタラクティブ実装」
概要
最後に関連するライブ対話型サービス、教師クライアント、iOS版/ Androidの学生の終わり、ウェブ/ WAPの学生が終了します。この記事では、対話プロセスが、ジミーは、設計のフロントエンドのデザインは、フロントエンドの成分が相互作用して、チャットモジュール下さいジミーを依頼することに焦点を当てています。手の込んだは、API呼び出しを達成するために主にパッケージを介して、アクセスチャネルクラウドIM SDKいるので、チャット機能自体のために部屋をしませチャット。
システムを設計する前に、まず以下の質問を考慮する必要があります。
•機能と要件定義の部門のそれぞれの端部に、彼らはそれぞれの端部との対話方法
•各端部との間の協定
•クライアントは、してください、小麦や教師を受け取ります
•同期インタラクティブな情報インタラクティブライブクライアントが部屋に入った後、
以下に示すように、我々はすぐにIMを統合し、インタラクティブな機能を生きることができるように、さらにいくつかの質問では、我々は、システムの独自のデザインのニーズに合わせて、網易クラウドが提供するサービスは、次のサービスを整理するために頼ることができます。
•クラウドの手紙IMサービスは、基本的なインスタントメッセージング機能のセットを提供し、それは、インスタントメッセージング、リアルタイムのネットワーク機能はすぐに独自のアプリケーションを統合することができます。
•インタラクティブなブロードキャスト機能の雲の手紙は、リアルタイムのアンカーとさえ小麦の観客との対話をサポートします。
アーキテクチャ
私たちの基本的な需要は、主に以下の三つの部分であります:
1.学生のAppクライアントチャットルームに入るために、あなたはあなたの小麦を起動することができます。
2.終わりに教師は生徒が治療の小麦の同意または拒否した尋ねることができます。
3.小麦は、教師の学生に同意してください、学生が対話するためにスタジオを入力することができます。
以下に示すように、異なるプロトコルの異なるスタイルを表すデータの流れを次の基本的下さい小麦、小麦でも、インタラクティブなプロセスを、整理の必要性と相まって。
ここではいくつかの概念が導入を補完しています。
1、SDKの雲の手紙のIMクライアントは、P2Pクライアントは、クラウド側チャネルIMを通じて先生にメッセージを送信します
2、インタラクティブライブクライアントSDKは、クライアントは、対話型のライブへのアクセス
3、教師はSDKの雲の手紙、受付メッセージのP2Pを終了します
4は、教師は、インタラクティブなライブSDKを終了し、クライアントとの対話を生きます
5、SDKのウェブIMクラウド手紙終了、メッセージの送信
図6に示すように、カスタムメッセージ、送信データ構成情報の各端
設計と実装
このセクションでは、前述の概要、WAPベースのウェブ/学生側の教師クライアントの実現を達成する方法について説明します。次のセクションに含まれるもの:フローダウン、教師IMモジュールを、ウェブの学生は、モジュール構成、利点、問題を終了します。
フローダウン
下図の順序番号に基づいて、目的を達成するために教師を紹介してまず、細部のいくつかは、その補完します。チューターは2つの部分、一部のネイティブを持って、教師はネイティブ終わると呼ぶ、Webページの別の部分は、教師IMと呼びます。家庭教師ネイティブ教師とは、IM jsbridgeとカスタムメッセージを介して通信します。
まず、次のように整理jsbridgeネイティブ教師と教師のIM通信を終了します。
- notifyQueueChange
- notifyVolume
- notifyCustomMsg
- 更新状況を確認して
- notifyLiveStatus
上記フローチャートに組み合わせ、次いで流れについて説明何洗練に進みます。
1、クライアントの初期化
それぞれの側には、サーバーを要求することにより、統一されたチャットルームアドレスを取得します
2、教師側の初期化
教師IM、初期化後に、サーバ要求(getPresenterLiveInfo)、チャットルームアドレスを取得するために、チャットルームは、インタラクティブなライブデータを取得し、教師はネイティブのチャットルームの準備ができて終了通知、一つのケースを作りました。
3、小麦を処理してください。
•P2Pクライアントは、IMの教師が自分の小麦のメンテナンスを更新し、ネイティブ教師は教師IM notifyCustomMsgを呼び出し、jsbridgeで終わる、教師側のネイティブにメッセージを送信キューをリクエストしてください。
•クリックしてIM教師が承認または却下、エンドネイティブ教師によるメッセージの通知、教師はネイティブ小麦P2Pで終わるクライアントに通知してください
•インタラクティブライブSDK、スタジオにも、小麦、SDKを介してクライアントが最後にインタラクティブライブを通じてネイティブ教師メッセージを送信します
•家庭教師ネイティブメソッド呼び出しnotifyQueueChangeは、各教師IMリストを更新します
•教師IM、非同期リクエスト(informServer)クライアントに通知するためにブロードキャストカスタムメッセージ(IM-SDK)を、送信、サーバーダウン小麦のキューを更新します。
教師IMモジュール
以下に示すようなフローチャートは、精製プロセス、フロントエンドモジュールと分割設計前述します。
タブはここLivePcChatチャットコンポーネント、処理動作のLiveInteractivePresenterインタラクティブな構成要素である、XXcache対応するデータは、カプセル化層の組立作業です。成分の具体例としては、図5に示すタイミングチャートのようなデータ処理要求およびプロセスを、と呼ばれます。
ウェブ生徒エンドモジュール
ウェブ/ WAPの学生の終わりのために、ウェブ/ WAPの学生が自分自身で未開発してください小麦の機能を終了しているため。ここでは、学生の一例として、ウェブを教えするには、Web / WAPの学生は、インタラクティブリストに終わるとの相互作用をチャット実現終了。チャット部分自体と教師は、コンポーネントが多重化、したがってここで最初のモジュールに分割されてチャットするチャットルームを終了します。マルチプレクサの教師と生徒のアセンブリの端部を比較し、教師端子にコンポーネントを参照することができ、図は、スプリットウェブ組立学生側です。
コントラストがあなたの小麦関連の処理ロジックに加えて、下記の表から見ることができ、教師は、生徒が多重化することができる他の機能に終了IMおよびWeb IMを終了します。
コンフィギュレーション
インタラクティブライブ放送はので、ここでは、各製品ラインのコンフィギュラことを確認するために、対話型の教育を生きて、元の繰り返しに基づいて行われます。同様の公教育は、設定を読んで設定し、他のコンポーネントのプールおよびコンポーネント構成モジュールへのアクセスを述べ、また、一般的な教育コンポーネントキャッシュベース、ライブページまたは(バックステージ)単一のページのロードを操作することによって左右される設定、キー設定。
長所と短所の分析
この設計を使用することの利点があります
1は、すべてのサーバー要求は教師側のメンテナンスのコストを削減し、Webページを経由して送信されます。
2、モジュールは、インタラクティブなライブのconfigureにアクセスするかどうかを決定することがビジネスの異なるラインで処分することができます。
3、组件颗粒化,在不同的模块中,教师端可以接入聊天组件和互动组件,请麦组件,学生端可以只接入互动列表组件;
4、最大程度的依赖了现有的云信sdk实现的功能,能在较短的时间实现需求。
存在的问题
1、请麦的流程比较复杂,因为涉及到多端,各端调试比较浪费时间,这也是整理此文的目的。在打通对各端流程的认识后,各端在调试中都能首先定位到出问题的端,然后才能有的放矢的在某一个环节中发现问题。
2、因为是在原来的迭代基础上进行的,很多组件没有封装成教育规范的组件,不过逻辑清晰的前提下,可以在后面的迭代中优化掉。
3、优化前端实现的方法。
总 结
通过本文整理一下互动直播中各端的逻辑,便于后期接入对互动直播流程的理解。对客户端和教师端来说,可以了解到前端提供的接口和消息的实现。如果在后续另外的工程中,需要接入互动直播模块,能够快速的接入和调试,同时可以就以上提出来的存在的问题做进一步优化。
另外,想要获取更多产品干货、技术干货,记得关注网易云信博客。