こんにちは、LINEヤフー株式会社の福野です。
社内のさまざまなアプリの開発を横断的に支援する仕事をしています。
本記事では当社のAndroid・iOSアプリを 衛星通信に対応させるための取り組みについてご紹介します。
衛星通信とは?
衛星通信とは、その名の通り通信衛星を利用する通信方式のことです。
地上の通信インフラが整っていない地域や、災害時などの緊急時における通信手段として注目されています。

一昔前は衛星通信専用の機材を必要としましたが、近頃ではスマートフォンから直接衛星と通信できる技術も登場しています。
D2C(Direct-to-Cellular)と呼ばれるこの技術では、スマートフォンと衛星が直接つながってSMSやデータ通信を実現します。
あなたのアプリも衛星通信に対応させてみませんか?
とはいえ、何も特別なことをしなくてもアプリから衛星通信が利用できるわけではありません。
いくら携帯キャリアが衛星通信を提供していて、頭上には通信衛星が飛び交っていても、あなたのアプリが衛星通信に対応していなければユーザーは衛星通信を利用できません。圏外と同じような状態です。
これはOSの仕様によるものですが、非常にもったいないことです。
あなたのアプリも衛星通信に対応させてみませんか?
次項に紹介する対応を行うだけで、あなたのアプリも一旦は衛星通信に対応できます。それは山間部や海上、あるいは災害時など、既存の地上の通信環境が利用できない状況でユーザーの助けになるはずです 。
衛星通信対応の実装方法
とりあえず通信を行うだけであれば、対応方法は非常にシンプルです。
Androidの場合
衛星通信対応を明示的に宣言するアプリに対してのみ衛星通信が許可されます。
現行のAndroid 16の場合、AndroidManifest.xmlに以下のようなメタデータを追加することが必要です。
<meta-data android:name="android.telephony.PROPERTY_SATELLITE_DATA_OPTIMIZED" android:value="com.example.yourapp" />
その名前の通り、android.telephony.PROPERTY_SATELLITE_DATA_OPTIMIZEDは衛星通信に最適化されたアプリであることを宣言するフラグです。
フラグを宣言する以上、極端に長大なデータ通信を行う動作がないか注意を払う必要はありますが、これだけでOSはあなたのアプリに衛星通信を許可してくれます。
iOSの場合
iOS 26の場合は、Xcode(26以上)のSigning & Capabilitiesタブから、Carrier-Constrained Network Category and OptimizedのCapabilityを追加します。

App Categoryに必要なカテゴリを選択することで、衛星通信に対応させることができます。(App Optimizedのチェックボックスもありますが、こちらは必須ではありません)
この際、あなたのアプリのEntitlementsには以下のようなキーと値が追加されます。
<key>com.apple.developer.networking.carrier-constrained.appcategory</key>
<array>
<string>messaging-8001</string>
</array>
やはりこれだけでOSはあなたのアプリに衛星通信を許可してくれます。
衛星通信対応のテスト方法
驚くほど簡単に衛星通信に対応できてしまいました。
しかし本当にこれで衛星通信に対応できているのでしょうか? テストしようと思うと、これは意外と難しい問題です。
地上には無数の基地局が存在しており、地上の大半の場所では地上の通信インフラを利用できます。
一方で通信衛星は地上よりはるかに遠く、過酷な宇宙空間にあり、数が少なく、レイテンシも大きく、しかも高速で飛び回っています。
したがって通信衛星の帯域は限られていて、Android・iOSの両OSともに地上の基地局が利用できる場合には衛星通信を許可しません。つまり、通常の環境下では衛星通信に切り替えることができないのです。
モック衛星データモード(Androidのみ)
一応、Androidにおいては特別なコマンドを利用することで、モック衛星データモードという動作モードを利用できます。

- モバイルデータ通信が可能な端末を用意
- ダイヤルパッドで
*#*#4636#*#*を入力 - デバイス情報V2->衛星->制限付き(左から2番目)を選択
4636はダイヤルパッド内の英語表記でINFOに対応しており、通信に関するデバッグではよく使われるコマンドです。
モック衛星データモードが有効な間、OSはあたかも衛星通信環境下であるかのように振る舞います。
さらにテストの再現度を高めたい場合は、以下の手順でネットワークダウンロード速度制限を有効にすることもできます。
- 設定->デバイス情報->ビルド番号を連打して開発者モードを有効化
- 設定->システム->開発者向けオプション->ネットワークダウンロード速度制限
- 1Mbps程度に設定

意図的に通信速度を制限することで、衛星通信らしい環境をよりリアルに再現できます。
とはいえ実際に通信衛星と接続しているわけではないため、衛星通信特有の制限を完全に再現できるわけではありません。
実際の衛星は四方八方に飛び回っており、本来の通信品質はタイミングによって変動します。このテスト環境は安定しすぎているのです。
現地テスト
あなたのアプリには、より正確で確実なテスト結果を求められるかもしれません。
そんなときは、さらに確実なテスト手法を採ることもできます。

山に行きましょう。
まあ、山でも海でも、あるいは通信インフラが整っていない 地域であればどこでもいいのですが、そういった場所に行けば自然と衛星通信環境になります。
場所によってはやはり地上の基地局が利用できてしまうこともあるため、事前に衛星通信が利用できる場所を調査しておくとよいでしょう。キャンプ場であれば電波の有無が共有されていることが多く、そういった電波が通じない場所の近辺であれば衛星通信環境に入りやすいと思います。
山中におけるテストはEnvironment-dependent(環境依存)であるためテストの再現性が低いのが難点ですが、なによりもリアルな環境でのテストは、モック衛星データモードでは見つけられない問題を発見できる可能性もあります。Test Runner(人間)の遭難に十分注意してください。
LINEヤフーの衛星通信対応

今月(2026年4月)の中ごろから月末にかけて、LINEヤフーの9つのiOS・Androidアプリが衛星通信に対応します。
- LINE
- Yahoo!天気
- Yahoo!防災速報
- Yahoo! JAPAN
- Yahoo!カーナビ
- Yahoo!乗換案内
- Yahoo!マップ
- Yahoo!メール
- Yahoo!ニュース
この中のいくつかのアプリ(特にヤフーブランドのアプリ)について、私のほうでも実装・テスト・プロモーション文言の作成などに協力させていただきました。みんなで山にだって行きました。
どれも生活に役立つアプリばかりです。
いくつかのアプリでは、私が加えた差分がそのまま本番アプリに入って います。
GitHub上のContributorsに私の名前を加えられて嬉しいですし、アプリをユーザーの手にお届けできるのを楽しみにしています。
よもやま苦労話
本件の対応にあたっては、社内のさまざまな方々が関わってくださいました。改めてお礼申し上げます。
- プロモーションにおけるブランドの使用について、ブランドを管理する担当者の方々に多数のご助言をいただきました。
- テストケースの作成、リリース日の調整など、各サービスのエンジニアやPR担当の方々にも工数を割いていただきました。
- SDKに詳しいエンジニアの方々には、実装にあたっての技術的な質問に丁寧に答えていただきました。
実装そのものはシンプルであっても、それをリリースするまでの工程にはさまざまな関係者の協力が必要と実感しました。
こうして届けられたアプリが、山間部や海上、あるいは災害時にユーザーの役に立てばなにより嬉しいです。
おわりに
本記事では、LINEヤフーのAndroid・iOSアプリを衛星通信に対応させるための取り組みについてご紹介しました。
宇宙開発の父コンスタンチン・ツィオルコフスキーは、地球は人類の揺り籠だが、いつまでも揺り籠にいられるわけではないという言葉を残しました。私たちのアプリが発する通信パケットもまた、揺り籠から宇宙空間へと飛び出そうとしています。
当記事があなたのアプリを衛星通信に対応させるきっかけになれば幸いです。
注意事項
- 衛星通信に対応した携帯キャリアおよび対応端末でのみ利用可能です。
- 衛星通信下では通信速度が低速となるため一部機能に制限が生じる場合があります。
- 通信品質や利用可否は通信環境やキャリアの提供条件に依存します。


