2026年3月19日に開催されたKDDIのハンズオン講座「だれでも作れる!au Starlink Direct対応 衛星データ通信アプリの作り方」に参加してきました

au Starlink Direct 対応アプリ開発 ハンズオンイベント | 募集要項

今回その内容をブログにまとめました。

au Starlink Directとは?

au Starlink Directは、auの電波が届かない場所でも、空が開けた場所であれば衛星を介してデータ通信ができるサービスです

・対応端末: Android 44機種以上(Pixel 9以降など)、iPhone 13以降(SEを除く)など続々拡大中

・通信エリア: 日本国内のau 5G/4G LTEエリア外

・通信速度: 地上波よりは低速(数百kbps程度)で、衛星の位置により途切れる場合もあります

0. 事前準備:開発環境のセットアップ

衛星通信のAPIを叩くには、最新の環境が必要です。

・Android: Android Studio最新版を使用し、API 36.1 (“Baklava”; Android 16.0) のVirtual Deviceを作成します

・iOS: Xcode最新版を用意します 。私は26.3をインストールしました。

1. 衛星通信モードの再現方法(Android)

地上波が届く場所では衛星に接続できないため、デバッグにはエミュレータを使います

1、Virtual Deviceを起動し、電話アプリで *#*#4636#*#* を入力します

2、「Phone Information (V2)」→「Satellite」タブを選択

3、Mock (Carrier Satellite Mode)Mock Satellite Data mode をONにします

4、Wi-FiをOFFにすると、ステータスバーに衛星アイコンが表示され、擬似的な衛星通信状態になります

2. 実装ステップ1:OSに「対応」を宣言する

まず、アプリが衛星通信を許可されていることをOSに伝えます。これを行わないと、衛星接続時に通信がブロックされます

Androidの場合

AndroidManifest.xml タグ内に以下の1行を追加します。

<meta-data android:name=“android.telephony.PROPERTY_SATELLITE_DATA_OPTIMIZED” android:value=“your.package.name” />

iOSの場合

Xcodeの「Signing & Capabilities」から 「+ Capability」 をクリックし、「Carrier-Constrained Network Category and Optimized」 を追加します

App Category: アプリの種類(Weather, Messagingなど)を選択

・App-Optimized: チェックを入れることで、デフォルトでの通信が可能になります

3. 実装ステップ2:衛星通信中を検知してUXを切り替える

Androidの検知ロジック

NetworkRequest/NetworkCallback を利用して判定します

NET_CAPABILITY_NOT_BANDWIDTH_CONSTRAINED が設定されていない

または

TRANSPORT_SATELLITE が設定されている

上記の場合に「衛星通信中」とみなします

iOSの検知ロジック

NWPathMonitor を使用します

isUltraConstrained プロパティが true である場合

上記の場合に「衛星通信中」とみなします

4. 衛星データ通信を確認する

衛星データ通信アプリの開発において、最大の壁となるのが「どうやってテストするか」です本来auの地上波が届く場所では衛星に接続できないため、UXを検証するには電波の届かない山奥などの実地へ行く必要があります

しかし、わざわざ現地に行かなくてもKDDI 高輪オフィスで検証ができる「2つのテスト手法」が紹介されました。

1. 【iOS】疑似環境:特殊な「圏外箱」で衛星通信をシミュレート

iPhoneアプリの検証で活用できるのが、ハードウェアを組み合わせた疑似環境です。

・仕組み: iPhone実機を電波を完全に遮断する「圏外の箱」の中に入れます。

・シミュレート: 箱の中に、衛星通信を模した特殊な信号を疑似的に届けます。

・操作方法: 箱の中にあるiPhoneの画面をPC上にシミュレータとして映し出し、手元のPCからリモート操作して動作確認を行います

・メリット: 物理的に電波を遮断した状態でのアプリの挙動や、衛星通信特有のレスポンスを、デスクに座ったまま詳細にチェックできます。

2. 【Android】リモートデモ検証環境:au Starlink Directに接続している端末へ遠隔アクセス

Androidアプリでは、実際に衛星通信ができる環境にある端末を「借りる」というダイレクトな手法が用意されていました。

・仕組み: 実際に衛星通信が可能なエリア(今回は北海道)に設置されたAndroid実機に、ネットワーク経由でリモート接続します。

・検証内容: 現地の本物の衛星回線を利用して、アプリが正しく通信できるか、UXの切り替えがスムーズかを確認できます。

・操作方法: リモートでAPKファイルをインストールし、実際の動作を検証します

・メリット: 「本物の衛星通信」をターゲットにできるため、シミュレータでは再現しきれないネットワークの揺らぎや遅延を含めた、極めて精度の高いテストが可能です。

まとめ

何から始めれば良いかわからない、という方にぴったりな実装ハンズオンでした。

au Starlink Directをアプリに組み込むということの実装自体は、シンプルにできそうなイメージを持ちましたが、実際に「数百kbps程度」という低速環境を想定したUXを作り込むことが、開発側の課題になるかと思います。

また開発したアプリを検証するために、わざわざ圏外の地へ行かなくても良い環境を整えていただいていることは驚きでした。

実際に開発する機会があれば是非利用させていただきたいと思います。

興味がある方は、下記サイトからも確認できます!

au Starlink Direct 対応アプリ アプリ開発事業者様向け サポートサイト | au

最後まで読んでいただきありがとうございました!