BLOGSpeee開発陣による技術情報発信ブログです。メディア開発・運用、スマートフォンアプリ開発、Webマーケティング、アドテクなどで培った技術ノウハウを発信していきます!2017-10-05継続は「力」なり[Firebase+Android]TweetこんにちはSpeeeエンジニアのid:eva-hashimotoです。先日行われたSpeeeKaigiで発表しました内容を記事にしたいと思います。気づくと最近やたらと筋トレブームがきているのとyoutubeなどの動画解説が充実しているので充実した筋トレライフが送れています。そこで筋トレするにあたりトレーニングメニューや私が行っているエニタイムフィットネスの情報などを管理できるアプリがあれば便利だなと感じているわけです。バックエンドアプリ開発と同時にサーバサイドも開発すると工数がかかるのとアプリ開発に集中したいため、バックグラウンドにはMBaaSのFirebaseを利用しAndroidアプリの開発を行いました。将来は食事管理や体重管理などできたらと思ってます。Firebaseとの接続Firebaseでプロジェクト作成をするとgoogle-service.jsonが自動生成されます。それをAndroidプロジェクトのappフォルダ直下に配置します。database.getReference("history");google-service.jsonにプロジェクト情報が入っているため、ソースコードにはデータベースのスキーマ??の接続情報だけで大丈夫です。データ登録データベースはリアルタイムデータベースを使い、リモートDBと同期して瞬時にデータ更新ができるようになります。トレーニングメニューの履歴登録では下記のようなModelになります。Firebaseにはタイムスタンプ型(Date型)がないためUnixtimeで登録します。System.currentTimeMillis());databaseRef.push().setValue(t);これでデータベースへ登録ができます。オンライン時には即時にローカル・リモートへDBが同期されますが、オフライン時にはローカルのデータベースに書き込まれ、回線が復活するとリモートへ同期されるなどとても便利です。これをフルスクラッチで開発しなくて済むし、これだけのコード量で実現できるのでアプリ開発でMBaaSを利用しない手はないかと感じます。トレーニング分析トレーニングの履歴から傾向分析を行いたいと思うわけですが、リアルタイムデータベースを集計しダッシュボードを作成するのが普通だとお思います。ダッシュボードや集計って運用していくと大変になってくるので今回はFirebase内にあるAnalyticsを使い分析することにして見ました。いうことでアプリないからカスタムメトリックストしてリアルタイムデータベースに登録している内容と同じものをデータ送信し、Analytisのダッシュボードで見ることをやって見ます。アーキテクチャーAnalyticsデータはBigQueryとも連携可能であるため、Analyticsでデータを見ることもできますし、アプリからCloudFunctionを利用を叩きリアルタイムデータベースに書き込むことでアプリでは非同期で集計結果が反映されるなどの仕組みも可能になります。params);まとめこのようにアプリのバックエンド、分析、クラッシュレポートなど多数の支援がFirebase煮詰まっているため、サーバサイドを意識することが減るのはメリットだと感じます。リアルタイムデータベースなども活用することでUIのリアクティブプログラミングとも親和性が高いと感じます。これからアプリ開発ではMBaaSが主流になる可能性が高いと思いました。セキュリティ担当の後藤です。はじめ...2018-07-30Speeeで広告システム作ってるエンジニアが日々やっていることSpeeeのバックエンドエンジニアの柳沼(@ygnmhdtt)です。開催しました!こんにちは!エンジニア組織推進室の中野です。参加してきました月別アーカイブスターをつけました引用をストックしましたストック一覧を見る閉じる引用するにはまずログインしてくださいログイン閉じる引用をストックできませんでした。再度お試しください閉じる限定公開記事のため引用できません。