====== Ionic3とfirebaseでチャットアプリ ====== firebaseを使用するためにはGoogleアカウントが必要です。ある程度の範囲であれば、firebaseは無料プランで十分です。 Ionic(Angular)とfirebaseの接続方法ですが、 -HttpModuleのみを用いる方法 -Angularfire2を用いる方法 の2通りがあります。Angularfire2を用いる方が簡単そうですが、2018年6月現在、angularfire2が5.0.0-rc10で、なんか不安定な感があるため、rcが取れるまでは、HttpModuleのみを用いる方がよさそうです。 しかし、HttpModuleはangular4.3から(Ionic3の途中、2017年8月頃から)変更になっていますので、こちらも注意が必要です。HttpModuleについては[[ionicでhttp接続|Ionicでhttp接続(v3で変更)]]をご覧下さい。 ===== ソースコード1 ===== @s_kozake 2018年08月03日に更新 Ionic 4とFirebaseでチャットアプリ\\ https://qiita.com/s_kozake/items/6c7a0cec75c957606a33 こちらのサイトが日本語でとてもわかりやすいです! https://github.com/didinj/ionic3-angular5-firebase-simple-chat\\ Ionic3とfirebaseでチャットアプリを作成し、完成版までのソースコードです。以下のサイトに英語で解説もあります。\\ [[https://www.djamware.com/post/5a629d9880aca7059c142976/build-ionic-3-angular-5-and-firebase-simple-chat-app|Build Ionic 3, Angular 5 and Firebase Simple Chat App by Didin J. on 1 20, 2018]] ===== ソースコード2 ===== https://github.com/Yamamoto0525/NgChat\\ Angular5とfirebaseを用いて、チャットアプリ作成の途中までです。以下のサイトで、日本語で、背景から丁寧に解説されています。\\ [[https://qiita.com/Yamamoto0525/items/a76ea4b3924eeb82b0f9|@Yamamoto0525 2018年03月07日に更新Angular+Firebaseでチャットアプリを作る]] 上記サイトをIonicで写経してみました。下記にリンクを記載しますので、もしよろしければご覧下さい。その都度のソースコードもGitHubにアップロードしました。 https://github.com/adash333/ionic3_firebase_chat2 -[[http://twosquirrel.mints.ne.jp/?p=23705|Ionic+Firebaseでパスワード制限つきチャットアプリ(1)]] -[[http://twosquirrel.mints.ne.jp/?p=23749|Ionic+Firebaseでパスワード制限つきチャットアプリ(2)]] -[[http://twosquirrel.mints.ne.jp/?p=23821|Ionic+Firebaseでパスワード制限つきチャットアプリ(3)AngularFire2を利用してIonicとfirebaseを接続]] -[[http://twosquirrel.mints.ne.jp/?p=23919|Ionic+Firebaseでパスワード制限つきチャットアプリ(4)angularfire2@5.0.0-rc.4とfirebase@4.8.0でCRUD実装]] -[[http://twosquirrel.mints.ne.jp/?p=23987|Ionic+Firebaseでパスワード制限つきチャットアプリ(5)navCtrl.push()でページ遷移]] -[[http://twosquirrel.mints.ne.jp/?p=24052|Ionic+Firebaseでパスワード制限つきチャットアプリ(6)RxJSを用いてデータの受け渡し(うまくいかず)]] -[[http://twosquirrel.mints.ne.jp/?p=24161|Ionic+Firebaseでパスワード制限つきチャットアプリ(7)(最終だけど途中)FirebaseAuthenticationでメールアドレス認証]] ===== ソースコード3 ===== パスワード制限やいろいろな機能が入っています。これを見て参考にしたい、、、 https://github.com/chat21/chat21-ionic ===== 自動で下にスクロール ===== チャットアプリでは、自動的に一番下にスクロールされることが必須である。(十分に古いメッセージは読み込みを後にしたいが、、、) そのようなときは、content.scrollToBottom関数を用いる。 たとえば、home.htmlの中で、自動スクロールしたい部分をで囲む。 Add your content here! home.ts で、例えば、以下のように設定。 import { Component, ViewChild } from '@angular/core'; import { Content } from 'ionic-angular'; // Ionic4の場合は、import { Content } from '@ionic/angular'; export class HomePage { @ViewChild(Content) content: Content; ionViewDidLoad() // Ionic4の場合は、ngOnInit() { setTimeout(() => { this.content.scrollToBottom(300); }, 1000); } } https://ionicframework.com/docs/api/components/content/Content/ {{:pasted:20180609-210216.png}} http://www.ionichelper.com/2017/05/01/ionic-framework-scroll-to-bottom/ {{:pasted:20180609-210558.png}} ===== firebaseのみでWebチャットアプリ ===== https://qiita.com/st5757/items/9e651e8cffaa90681426 ===== リンク ===== https://qiita.com/ryotakodaira/items/e41c3a60348a9e1c7616\\ @ryotakodaira 2015年11月30日に更新 Firebaseでリアルタイムチャットを構築する https://www.google.co.jp/amp/s/html5experts.jp/technohippy/18040/amp/\\ Firebaseで作る簡単リアルタイムウェブアプリケーション(前編) あんどう やすし