Q-Municateに興味がある場合は、パブリックアクセスから削除されたソースコードをお問い合わせください
Q-Municateは、ボード上のあらゆる通信機能(メッセージング、ファイル転送、プッシュ通知、オーディオ/ビデオ通話など)を備えたチャットアプリケーションのオープンソースコードです。私たちはあなたにチャットアプリケーションを箱から出して提供することに触発されています。ニーズに応じて、このアプリケーションをカスタマイズできます。いつものように、QuickBlox BackEndはサービスにあります:https://quickblox.com/plans/ソースコードとQ-municateの詳細とインストールガイドを開発者セクションで見つけてください:https://qickblox.com/developers/Q-ミューナイチこれは、シンプルから複雑な実装に移行する際に、初心者を含むすべての開発者レベル向けに設計されたステップバイステップガイドです。スキルとプロジェクトの要件に応じて、このガイドのどの部分に従うかを選択できます。 QuickBlox iOSチームの支援が必要な場合は、問題を作成してお気軽にお知らせください。 Q-Municateは、QuickBlox APIを使用して、本格的なチャットアプリケーションです。
- Q-Municate 3.0.0
- 1。要件とソフトウェア環境
- 2。QuickBloxモジュール
- 3。機能
- 4。画面
- 5。オーディオおよびビデオ通話
- 6。拡張機能
- 7。コード説明
- 8。独自のチャットアプリを構築する方法
- 9。寄付
- 10。ライセンス
1。要件とソフトウェア環境
- Xcode 10以降。
- iOS 10.3以降。
- QuickBlox iOS SDK 2.17.4以降。
- QuickBlox Webrtc SDK 2.7.4以降。
- ボルト1.9.0バージョン。
- Facebook iOS SDK 5.6.0バージョン。
- FireBase 6.9.0バージョン。
1.1 QuickBlox iOS SDK
QuickBlox-モバイルアプリに超大国をもたらす通信およびクラウドバックエンドプラットフォーム。
1.2 webrtc
Q-Municateは、ビデオとオーディオの呼び出しにWeBRTCを使用して、優れたクロスプラットフォームソリューションであることを意味します。 Webrtc自体がオープンソースであるため、必要なだけコードを変更できます。または、開発に貢献した何千人もの熟練した開発者を信頼できます。
VideoChatコードサンプルを使用すると、iOSアプリにビデオ通話およびオーディオ呼び出し機能を簡単に追加できます。基礎としてコードサンプルを使用して、FaceTimeまたはSkypeに似たビデオ通話機能を有効にします。
2。QuickBloxモジュール
q-municateアプリケーションは次のとおりです。
- 認証
- ユーザー
- チャット
- ビデオ通話
- コンテンツ
- 通知をプッシュします
3。機能
次のような機能が含まれています。
- このアプリは、ランドスケープモードとポートレートモードの両方をサポートしています。
- iOSアプリケーションには英語インターフェイスがあり、ローカリゼーションを簡単に追加できます。
- 3つのサインアップ方法とログイン - Facebook、FireBase(電話番号)、および電子メール/パスワード付き
- キットに電話します
- 拡張機能を共有します
- メッセージング用のSiri拡張機能
- メッセージ履歴を使用したすべてのアクティブなチャットダイアログのリストを表示(プライベートおよびグループチャットダイアログ)
- グループチャットのダイアログを表示、編集、去ります
- プライベートチャットダイアログを表示して削除します
- 検索:ローカルダイアログ検索、連絡先検索、グローバルユーザーの検索
- プライベートおよびグループのダイアログを作成して参加します
- ダイアログの管理、更新、削除
- オーディオおよびビデオ通話(QuickBlox WeBRTCフレームワークを使用)
- 独自のユーザープロファイルを編集します
- パスワードとログアウトをリセットします
- 他のユーザープロフィールを参照してください
- ダイアログリスト、連絡先リスト、ユーザー情報のページのために更新するためにプル
これらの機能はすべてオープンソースコードで利用できるため、ニーズに応じてアプリをカスタマイズできます。
4。画面
4.1ようこそ
利用可能な機能:
- 電話で接続する - このボタンを使用すると、ユーザーはFireBaseを使用して電話番号を使用してアプリに入力できます。タップされた場合、ユーザー契約ポップアップが表示されます。
- 電子メールまたはソーシャルボタンでログインする - このボタンアクションシートを追加のログインメソッドでタップすることでポップアップします。 Facebookのログインやログインなどのメソッドが電子メール/パスワードによってあります。
- Facebookでログインすることで、ユーザーはFacebookの資格情報を使用してアプリを入力できます。タップされた場合、ユーザー契約ポップアップが表示されます。
- アプリがFacebookの承認に成功した場合、アプリはユーザーをチャットダイアログリスト画面にリダイレクトします。
- 電子メール/パスワードでログインすると、ユーザーが正しい電子メールとパスワードを提供する場合、ユーザーはアプリに入ることができます。このボタンをタップすることにより、ユーザーはログイン画面にリダイレクトされます。
電子メールとパスワードの方法を使用してユーザーをサインアップする可能性はもうないことに注意してください。電話番号やFacebook資格情報を使用してのみサインアップできます。
4.2電子メール/パスワードでログインします
利用可能な機能:
- フィールドセット:
- 電子メール - テキスト/数値/シンボリックフィールド3 chars min-境界線なし、必須(電子メールシンボルの検証が含まれています)
- パスワード - テキスト/数値/シンボリックフィールド8-40 chars(英数字と句読文字のみを含める必要があります)、必須
- ボタン:
- 戻る - ユーザーをウェルカム画面に戻します
- 完了 - 提供された電子メールとパスワードを使用してフィールド検証後にログインする
- パスワードを忘れた - パスワード画面を忘れた
4.3パスワードを忘れました
- フィールドセット:
- 電子メール - テキスト/数値/シンボリックフィールド3 chars min-境界線なし、必須(電子メールシンボルの検証が含まれています)
- ボタン:
- 戻る - ユーザーをウェルカム画面に戻します
- リセット - パスワードリセットの実行
4.4タブバー
タブバーは、アプリケーションのメインコントローラーです。それはそのようなページで構成されています:
- チャットダイアログリスト(メインページ)
- 連絡先リスト
- 設定
4.5チャットダイアログリスト
- 検索:
- 検索により、ユーザーはその名前でローカルキャッシュの既存のダイアログをフィルタリングできます。
- ボタン:
- 右のバーボタン - ユーザーを新しいダイアログ画面にリダイレクトします
4.6新しいメッセージ
1つの連絡先のみを選択する場合 - プライベートチャットが開かれ(存在する場合)、必要に応じて作成されます。それ以外の場合は、グループチャットが作成されます。
- 検索:
- タグフィールドを使用すると、連絡先のフルネームを検索できます。
- ボタン:
- 右のバーボタン - チャットダイアログを作成します
- 戻る - ユーザーをチャットダイアログページに戻します
4.7チャット
送信する可能性があります:
- テキストメッセージ
- ギャラリーとカメラからの画像
- ギャラリーとカメラからのビデオ
- 入力ツールバー右ボタンを使用したオーディオレコード
利用可能な機能:
- 共有と転送
- 画像Attachmnetsとテキストメッセージをコピーします
4.8プライベートチャット
ボタン:
- 右のバーボタン - オーディオおよびビデオ通話ボタン、ユーザーが連絡先リストに載っている場合にのみ電話をかけることができます
- 戻る - ユーザーをチャットダイアログに戻しますlist画面
- ナビゲーションバーのタイトル - ユーザーを相手のプロフィールページにリダイレクトする
4.9グループチャット
ボタン:
- 右のバーボタンとナビゲーションバーのタイトル - ユーザーをグループチャット情報画面にリダイレクトします
- 戻る - ユーザーをチャットしてダイアログリストの画面を返します
- 対戦相手のユーザーアバター - メッセージで対戦相手のユーザーアバターをタップすることにより、そのユーザーの情報ページにリダイレクトされます
4.10グループチャット情報
フィールド/ボタン:
- グループアバターをタップすることで、新しい写真を撮るか、ライブラリから選択して変更できます
- グループ名をタップすることにより、グループ名の変更画面にリダイレクトされます
- 追加メンバーフィールドをタップすることにより、追加するユーザーを選択するために連絡先画面にリダイレクトされます
- メンバーリスト内のユーザーをタップすることにより、情報ページにリダイレクトされます(リストにある自分のユーザーを除く)
- 休暇をタップしてチャットフィールドを削除することにより - 既存のグループチャットを残してローカルに削除します
4.11連絡先リスト
検索:
- 検索には2つのスコープボタンがあります。
- ローカル検索 - ユーザーは既存の連絡先を名前でフィルタリングできます。
- グローバル検索 - ユーザーがユーザーを見つけて、フルネームでプロファイルを確認できます。
4.12ユーザー情報
フィールド/ボタン
- 連絡先アクション:
- メッセージを送信 - チャットがまだない場合は、ユーザーとチャットを開きます - 作成します
- オーディオコール - ユーザーへのオーディオコール
- ビデオ通話 - ユーザーへのビデオ通話
- 連絡先とチャットを削除 - ユーザーを連絡先リストから削除し、彼とチャット
その他のユーザーアクション:
- 連絡先を追加 - ユーザーに連絡先リクエストを送信するか、既存の要求を受け入れます
4.13設定
フィールド/ボタン:
- フルネーム、ステータス、電子メールフィールドは、情報を変更できるフィールド画面を更新するようにリダイレクトされます。
- アバターアクションシートをタップすることで開きます。新しい写真を撮るか、ライブラリから選択してユーザーアバターを更新できます。
- プッシュ通知スイッチ - プッシュ通知から購読または登録解除できます。
- 友達に教えてください - この素晴らしいアプリを友達と共有できる共有コントローラーを開きます:)
- フィードバックを与える - フィードバック画面では、Q -Municateをより良くするために、バグ、改善、または提案情報でメールを送信できます。
5。オーディオおよびビデオ通話
Q-Municate QuickBlox Webrtc SDKをコールサービスとして使用します。詳細については、こちらをご覧ください。
5.1コントローラーを呼び出します
コールコントローラーには6つの状態があります。
- 着信オーディオコール
- 着信ビデオ通話
- 発信オーディオコール
- 発信ビデオ通話
- アクティブなオーディオコール
- アクティブなビデオ通話
コールコントローラーはQMCallManagerによって管理されており、基本的には特定の状態で割り当てるコールマネージャーが、着信または発信コールであろうと、必要に応じてユーザーがそれを受け入れる場合に状態をアクティブな状態に変更します。
5.2オーディオコール
下の下に、着信、発信、アクティブなオーディオコール画面を確認できます。
ツールバーボタン
- 着信コール:
- 衰退 - コールを拒否し、受信セッションとコントローラーを閉じます
- 受け入れ - 通話を受け入れ、CALL COLLER CONTROLLER STATEをアクティブなオーディオ通話に変更します
- 発信およびアクティブコール:
- マイク - 現在の呼び出しのためにマイクを無効にします
- スピーカー - 音をスピーカーまたはレシーバーで再生する必要があるかどうか。オーディオコールのデフォルトはレシーバーです。
- 衰退 - 電流のすべてを吊るし、閉じたコントローラー
5.3ビデオ通話
下の下に、着信、発信、アクティブなビデオ通話画面を確認できます。
デフォルトでは、ビデオ通話のサウンドはスピーカーにあります。
- 着信コール:
- 衰退 - コールを拒否し、受信セッションとコントローラーを閉じます
- 受け入れ - 通話を受け入れ、コントローラーの状態をアクティブなビデオ通話に変更します
- 発信およびアクティブコール:
- カメラ - 現在の通話のためにカメラを有効/無効にします
- カメラの回転 - 現在の通話のためにカメラを変更します(前面/背面)
- マイク - 現在の呼び出しのためにマイクを無効にします
- 衰退 - 電流のすべてを吊るし、閉じたコントローラー
5.4コールキット
CallKitを使用すると、呼び出しサービスをシステム上の他のコール関連アプリと統合できます。 CallKitは呼び出しインターフェイスを提供し、VoIPサービスとのバックエンド通信を処理します。着信および発信コールのために、CallKitは電話アプリと同じインターフェイスを表示し、Qマニケートアプリケーションによりネイティブなルックアンドフィールを提供します。
6。拡張機能
6.1共有延長
共有拡張機能により、ユーザーは他のエンティティとコンテンツを共有する便利な方法を提供します。共有のために利用可能なタイプ:
6.2 Intents App Extension(メッセージのためのSirikit)
Intents App拡張機能は、 Sirikitからメッセージを送信するためのユーザーリクエストを受信し、アプリ固有のアクションに変換します。
7。コード説明
以下に基本的なコードの説明を見ることができます。詳細については、ほとんどのクラスのヘッダーファイルのインラインドキュメントをご覧ください。私たちは、すべてのクラスの目的とその方法を可能な限り詳細に説明しようとしました。ご質問がある場合は、問題を作成してお気軽にお知らせください。
7.1ストーリーボード
次のようなモジュールのq-municateを分離しました。
各モジュールには独自のストーリーボードがあり、すべてのストーリーボードにはストーリーボードリンクがリンクされています(Xcode 7およびiOS 8+以降の機能)。
8。独自のチャットアプリを構築する方法
Q-Municateを使用して独自のアプリを構築したい場合は、こちらの詳細なガイドをご覧ください。
9。寄付
特徴
- fork it(https://github.com/
- 機能ブランチを作成します(
git checkout -b my-new-feature ) - あなたの変更をコミットします(
git commit -am 'My new feature' ) - ブランチへのプッシュ(
git push origin my-new-feature ) - 新しいプルリクエストを作成します
問題
問題が見つかった場合は、問題を作成してください。
10。ライセンス
Apacheライセンス、バージョン2.0。ライセンスファイルを参照してください。