コレクションでコンテンツを整理
必要に応じて、コンテンツの保存と分類を行います。
STAGE は Firebase と Flutter を使用してリリース時間を半分に短縮
はじめに
STAGE は、インドのさまざまな
方言や言語に対応した、機能豊富なストリーミング プラットフォームです。詩から映画、自己啓発
コンテンツまで、STAGE は自社プラットフォーム
でほぼすべての形式のエンターテイメントを 1 日あたり 180 万人を超えるアクティブ ユーザーに提供しています。
課題
インドの幅広い
視聴者に合わせたコンテンツを提供するという使命を果たすために、STAGE は iOS、Android、ウェブ、macOS、Android TV など、さまざまな
プラットフォーム向けのアプリを提供する必要がありました。しかし、
開発チームは少人数であるため、このマルチプラットフォーム アプリを効率的に
作成する方法が必要でした。また、ストリーミング市場で競争力
を高めるために、コンテンツを安全かつリアルタイムで保存してユーザーに
配信し、スムーズな
視聴体験を提供できるインフラストラクチャも必要でした。
解決方法
チームは、
各アプリを平行して構築しようと1 か月間試してみた後に、Google デベロッパー グループ で Flutter を知りました。
Flutter は、1 つのコードベースからすべてのアプリを
開発でき、時間を
かなり節約できるため、有望なソリューションのように思えました。また、
ホットリロードなどの機能にも期待が持てました。ホットリロードを使用すると、デベロッパーはアプリのコード変更の結果
をすぐに確認できるため、開発を迅速に進め、デバッグを
簡単に行うことができます。Flutter の豊富なカスタマイズ可能ウィジェットにより、美しくレスポンシブなユーザー インターフェースを
簡単に構築できます。
Flutter ではフロントエンドとバックエンドの両方の開発に使用されているプログラミング言語が Dart だけ
ということもあり、Flutter は非常に習得しやすいと判断しました。
STAGE のデベロッパー チームは小規模ですが、Flutter コミュニティのサポートにより必要な情報を得ることができました。
STAGE では、完全なライフサイクル サポートのため、Flutter のフロントエンド ツールと Firebase の 補完的な
バックエンド サービスを組み合わせることにしました。チームは、Firebase のフルマネージド
バックエンド サービスを使用して、市場投入を迅速化しました。
ライブ配信にとって特に重要なコンテンツのリアルタイムの保存、同期、配信には、
Realtime Database と Cloud Storage を中核として使用しました。チームは、Authentication を使用して安全な
ユーザー ログインフローを設定し、Cloud Functions を使用してバックエンド タスクを自動化し、ユーザーの行動をより深く理解するため Google
アナリティクス を統合しました。
Firebase は、インフラストラクチャ プロダクトに加えて、アプリの
品質を向上し、ビジネスの成長を促進するためのツールも提供しています。STAGE チームは、テストとモニタリングのプロダクト
である Test Lab と Crashlytics を使用して、さまざまなデバイス
でアプリがパフォーマンスと安定性を維持していることを確認しました。また、Cloud Messaging などのエンゲージメント プロダクトを使用して、パーソナライズされた
通知を配信しました。
先日、STAGE は Remote Config と A/B Testing を使用して、さまざまなオーディエンス セグメントでさまざまな無料トライアル
特典を評価しました。Remote Config を利用することで、アプリのアップデートを必要とせずに、ユーザーの行動や好みに合わせて特典をカスタマイズ
し、初期の
分析情報に基づいて最適化できます。テストは簡単に設定してすぐに実施
できました。チームは、最適な特典を展開してキャンペーンを調整し、
ユーザー コンバージョンを 25% 向上させることができました。
今後、STAGE は Flutter と Firebase を使用してフル機能のデスクトップ アプリを構築する予定です。
LG と Samsung のテレビのサポートもまもなく開始されます。
結果
50% - 報告されたデベロッパーの効率向上
1/2 - アプリのリリース サイクルに架かる時間
2 倍 - 機能のリリースの迅速化
「Flutter は、さまざまなウィジェットとツールを内蔵した、強力で柔軟性の高いモバイル開発フレームワークです。おかげで、美しくて機能が充実したマルチプラットフォーム アプリを簡単に作成できます。Firebase と組み合わせることで、アプリのバックボーンに必要なインフラストラクチャだけでなく、品質の向上、ユーザーのエンゲージメント、新しいアイデアの安全なテストに役立つツールも手に入る点が特に気に入っています。」
- Mirnal(Flutter の STAGE チームリーダー)
[null,null,[],[],[],null,["# STAGE Case Study\n\n[*arrow_back*\nExplore other case studies](/case-studies) \n[View more solutions](/solutions) \n\n##### STAGE uses Firebase and Flutter to cut release time in half\n\n*** ** * ** ***\n\n##### Introduction\n\n[STAGE](https://play.google.com/store/apps/details?id=in.stage) is a feature-rich streaming platform catering to a wide range\nof Indian dialects and languages. From poetry to movies to motivational\ncontent, STAGE offers almost every form of entertainment on their platform\nto over 1.8 million daily active users.\n\n*** ** * ** ***\n\n##### Challenges\n\nTo fulfill their mission of providing tailored content to a wide\nrange of Indian audiences, STAGE needed to offer apps for a variety\nof platforms, including iOS, Android, Web, macOS, and Android TV. But\nwith a small development team, they needed a highly efficient way to\nbuild this multi-platform app, with infrastructure that could store and\ndeliver their content to users securely and in real time for a smooth\nviewing experience that would help them stand out in the competitive\nstreaming market. \n\n*** ** * ** ***\n\n##### Solution\n\nAfter a month of trying to build each app in parallel,\nthe team learned about [Flutter](https://flutter.dev/) in a [Google Developer Group](https://developers.google.com/community/gdg).\nIt seemed like a promising solution, as it would allow them to\ndevelop all of their apps from a single codebase, saving them a\nconsiderable amount of time. They were also excited about features\nlike hot reload, which allows developers to immediately see the results\nof their code changes in the app, allowing for faster development and\npainless debugging. Flutter's rich set of customizable widgets also\nmakes it easy to build beautiful and responsive user interfaces.\n\nThe team found Flutter very easy to learn, in part because it uses a\nsingle programming language, Dart, for both front-end and back-end development.\nThe Flutter community helped STAGE's small developer team get up to speed quickly.\n\nSTAGE decided to pair Flutter's front-end tools with [Firebase's](/) complementary\nback-end services for full-lifecycle support. They used Firebase's fully managed\nback-end services to get to market faster, with [Realtime Database](/products/realtime-database) and [Cloud Storage](/products/storage)\nat the heart to store, sync, and deliver content to users in real time, which is\nespecially critical for live broadcasts. They used [Authentication](/products/auth) to set up a secure\nuser sign-in flow, [Cloud Functions](/products/functions) to automate backend tasks, and integrated [Google\nAnalytics](/products/analytics) to better understand their user behavior.\n\nIn addition to infrastructure products, Firebase also provides tools to improve app\nquality and drive business growth. The STAGE team used testing and monitoring products\n[Test Lab](/products/test-lab) and [Crashlytics](/products/crashlytics) to ensure their app was performant and stable on a variety of\ndevices, and engagement products like [Cloud Messaging](/products/cloud-messaging) to deliver personalized\nnotifications.\n\nRecently, STAGE used [Remote Config](/products/remote-config) and [A/B Testing](/products/ab-testing) to evaluate various free-trial\noffers with different audience segments. [Remote Config](/products/remote-config) allowed them to personalize\nthe offers to match user behavior and preferences, and optimize them based on early\ninsights - without requiring an app update. The test was easy to set up and quick to\nrun, and the team was able to roll out the best offers to scale the campaign, which\nhelped increase user conversions by 25%.\n\nNext up, STAGE plans to build a full-featured desktop app with Flutter and Firebase,\nwith support for LG and Samsung TVs coming soon.\n\n*** ** * ** ***\n\nResults\n\n50% - reported increase in developer efficiency\n\n2x - faster app release cycles\n\n2x - faster feature releases \n\n\"Flutter is a powerful and flexible mobile development framework with a wide range of built-in widgets and tools that make it easy to build beautiful, feature-rich multi-platform apps. We love how it pairs with Firebase to not only give us the infrastructure we need for the backbone of our app, but also tools to help us improve quality, engage users, and test new ideas safely.\"\n\n\n- Mirnal, Flutter Lead, STAGE \n\n### Learn more\n\n[Get started with Firebase](/) \n[Get started with Flutter](https://flutter.dev/) \nTry Firebase today\n\n\nIntegrating it into your app is easy.\n[Get started](https://console.firebase.google.com/) \n\n#### All Firebase products\n\n##### Build\n\n- [App Check](/products/app-check)\n- [App Hosting](/products/app-hosting)\n- [Authentication](/products/auth)\n- [Cloud Functions](/products/functions)\n- [Cloud Storage](/products/storage)\n- [Data Connect](/products/data-connect)\n- [Extensions](/products/extensions)\n- [Firestore](/products/firestore)\n- [Firebase ML](/products/ml)\n- [Genkit](https://genkit.dev/)\n- [Hosting](/products/hosting)\n- [Realtime Database](/products/realtime-database)\n- [Firebase AI Logic client SDKs](/products/firebase-ai-logic)\n\n[Generative AI](/products/generative-ai) \n\n##### Run\n\n- [A/B Testing](/products/ab-testing)\n- [App Distribution](/products/app-distribution)\n- [Cloud Messaging](/products/cloud-messaging)\n- [Crashlytics](/products/crashlytics)\n- [Google Analytics](/products/analytics)\n- [In-App Messaging](/products/in-app-messaging)\n- [Performance Monitoring](/products/performance)\n- [Remote Config](/products/remote-config)\n- [Test Lab](/products/test-lab)"]]