本文にスキップする

Building an app server with Firebase

Juheon Jeon

Hello, I'm Juheon Jeon, responsible for iOS/macOS and Flutter PlanetKit at LINE Planet.

LINE Planet is a real-time communications platform as a service (CPaaS) that provides the cloud platform and client SDKs needed to integrate real-time voice and video calling into services.

To use LINE Planet, each service must implement its own app server on the application layer to connect LINE Planet with the service's users and devices. This post introduces a high-level guide to implementing the app server using Firebase, with minimal code examples showing the core API design and implementation patterns.

サービスにインアプリ通話を導入すべき理由

チョン・ドクボム

こんにちは。音声およびビデオ通話をサービスから簡単に実装できるソリューション、LINE Planetのプロダクトマネージャーのチョン・ドクボムです。

プロダクトマネージャーをはじめとするサービス関係者は、それぞれが担当するサービスを「我が子のようなサービス」と呼ぶほど、大きな愛情を注いでいます。親が子どもの成長のために支援を惜しまないように、サービスの関係者もサービスの成長のために支援を惜しみません。サービスを活性化させるために新しい機能を追加したり、魅力的なコンテンツを加えたり、ユーザー同士が会って会話できるコミュニティーを作ったりします。

サービスを成長させる最良の方法の一つは、サービスを遊び場や広場のように、ユーザー同士が集まり楽しく交流できる場にすることです。ユーザー間でのコミュニケーションが活発になれば、ユーザーの滞在時間は自然に長くなるからです。

そのため、多くのサービスがユーザーの利用できるさまざまなコミュニケーション手段を用意しています。投稿ができるスペースを作り、他の人の投稿にコメントを残せる機能を追加するほか、同じ興味を持つ人々が集まって会話できるようにメッセンジャーを導入したりもします。

しかし、サービスの特性によっては、これだけでは十分でないと感じることもあります。本稿では、なぜサービスにインアプリ通話を導入すべきなのかについてお話ししたいと思います。

LINE Planetデモアプリケーション、LINE Planet Callを紹介します

チョン・ドクボム

音声やビデオ通話技術を体験するには、他の技術に比べて多くの努力が必要です。先日公開した「LINE Planetクイックスタート」(参照)は、ITの知識が少ないユーザーでも、最初の通話を簡単かつ迅速に体験できるようにサポートするのが目的でした。今回の記事で紹介するLINE Planetデモアプリケーションも通話体験を迅速に提供することが目的ですが、それに加えて、実際のサービスにより近い形で実装する体験を提供するために開発しました。なお、実際のサービス開発時に私たちが公開したGitHubのソースコードを参照していただき、より迅速な開発をサポートする目的もあります。

私たちは、今後も継続的に開発・管理していくこのデモアプリケーションに「LINE Planet Call」という名前をつけました。これは、単にデモを提供するのが目的ではなく、お客様に利用される一つのサービとして捉え、愛情を込めて管理するという意味です。では、LINE Planet Callがどのように構成され、どのような機能を提供しているのかを見てみましょう。

LINE Planetクイックスタート:音声・ビデオ通話をより簡単に開始する

チョン・ドクボム

Hello, World.

プログラミングの初心者には、通常、最初の練習として「Hello, World」と画面に表示することをガイドします。これにより正常に動作する最初のプログラムを作成する経験をします。

音声・ビデオ通話機能の場合はどうでしょうか?こちらにはまだ「Hello, World」のような象徴的なフレーズがないので、ご自由に何を言っても構いません。ただ、何を言うか考える前に、まず音声・ビデオ通話の機能が動作するコードを作成する必要があります。ここで最初の難関にぶつかりがちです。

私たちが日常的に使用する音声・ビデオ通話機能は、リアルタイムで動作するという特性のため、技術的に非常に複雑です。そのため、画面に「Hello, World」と表示するよりも少し多く、複雑なコードが必要になり、ユーザーは音声・ビデオ通話機能をサービスに統合する際にさまざまな困難を経験することがあります。

そこで私たちは、ユーザーが簡単かつ迅速にLINE Planetの機能を体験し、理解できるように、クイックスタートを提供することにしました。ITの知識が少ないユーザーでもクイックスタートを利用して、プロダクトの開発過程で直接機能を触ってみることができるように、アクセシビリティを高めようとしました。この記事では、その過程で経験した内容を共有したいと思います。

PlanetKit 5.2 音声品質スナップショットレポート

カン・インギュ、キム・ギジュン、イ・サンヒョン

LY Corporation Tech Blogに投稿したLINEアプリで音声品質を測定するという記事で、LINEアプリの音声品質を定量的に測定するための3つの領域であるエコー除去(acoustic echo cancellation、以下AEC)、周波数特性(frequency response)、ロスに対するロバスト性(loss robustness)とそれぞれの測定方法について詳しく説明しました。LINEアプリは、音声通話機能にLINE Planetが提供するVoIPモジュールを使用しているため、LINE Planetの音声品質を測定する際も同じ測定方法が活用できます。

今後、音声品質に影響を及ぼす改善を適用したLINE Planetバージョン発売のたびに上記3つの領域の性能を測定し、定量的な音声品質と、以前のバージョンよりも改善された部分やさらに改善が必要な部分を把握していきたいと考えています。ここでは、各バージョンの音声品質の測定結果を「音声品質スナップショット」と呼びます。

この記事は、LINE Planetバージョン間の音声品質スナップショットを初めて比較してまとめたもので、主にPlanetKit 5.1とPlanetKit 5.2の音声品質スナップショットを比較・分析した結果を紹介しています。

LINE Planetドキュメントサイト改善のお知らせ

ハ・ソンチャン

こんにちは、LINE Planetプロジェクトのテクニカルライターのハ・ソンチャンです。今年初めにLINE Planetのドキュメントサイトを新しく立ち上げ、より良い構成とUIを提供するだけでなく、これまで英語のみに対応していたものを英語と韓国語の2つの言語にも対応するようにしました。その後も、より良いユーザーエクスペリエンスを提供するために努力を続けています。

ここでは、最近リリースされたPlanetKit 5.2およびWebPlanetKit 5.2までのLINE Planetドキュメントサイトの改善点をご紹介します。ここでは、改善の核となる情報アーキテクチャの改善、開発者体験の向上、検索機能の最適化を中心に説明します。

良い音質を伝えるためのVQE

カン・インギュ

コロナ禍の長期化により、リモートワークやオンライン授業などの非対面活動が大幅に増加しました。これをきっかけに、人々は非対面活動のメリットを学び、自然にそれを好むようになり、新型コロナウイルス感染症の流行後も着実に非対面活動が増えています。

非対面活動には、相互に情報を伝えるビデオ会議システムが必須です。この記事では、ビデオ会議において音声情報がどのような過程を経て相手に伝わるのか、高品質の音声を伝えるための方法について説明します。