LASSIC Media らしくメディア
アプリのCarPlay/Android Auto対応を外注する
LASSIC IT事業部|元請(プライムベンダー)としてシステム保守・運用を受託
この記事のポイント
- CarPlay/Android Auto対応は対応カテゴリに制限があり、すべてのアプリが対象ではありません。対象外カテゴリへの対応依頼は見積もり前に確認が必要です。
- UIはネイティブアプリとは異なるテンプレートベース設計が義務づけられており、既存アプリの流用ではなく車載向けの再設計が求められます。
- Apple側のエンタイトルメント申請・Googleの審査フローを含む外注プロセスには、プラットフォーム固有の手続き知識を持つパートナー選定が不可欠です。
目次
CarPlay/Android Auto対応とは:車載プラットフォーム連携の基礎
モバイルアプリのCarPlay/Android Auto対応を外注するとは、スマートフォンアプリをApple CarPlayまたはAndroid Autoの車載ディスプレイ向けに拡張し、運転中でも利用できる形に再設計・実装する作業を外部パートナーに委託する取り組みです。
CarPlayはAppleが提供する車載連携プラットフォームで、対応iPhone(iOS 7.1以降)を車載ユニットに接続すると、車のディスプレイにアプリの車載専用UIが表示されます*1。Android AutoはGoogleが提供する同様の仕組みで、Android 9(API レベル 28)以上のスマートフォンを車載ユニットに接続して動作します*2。
いずれのプラットフォームも、スマートフォン側のアプリとは別に「車載ディスプレイ向けUI」を実装する必要があります。既存のスマートフォン画面をそのまま車載ディスプレイに映すのではなく、プラットフォームが定めたテンプレートと設計ガイドラインに沿ったUIを新たに開発します。
対応できるアプリカテゴリの制限—許可されない領域がある
CarPlayもAndroid Autoも、車載ディスプレイで使用できるアプリカテゴリを公式に制限しています。外注依頼の前にまず自社アプリが対象カテゴリに含まれるかを確認することが、プロジェクト全体のリスクを下げる第一歩です。
CarPlayが対応するカテゴリ
Apple Developer公式サイトが公開するCarPlayの対応カテゴリは以下のとおりです*1。
- オーディオ(音楽・ポッドキャスト・ラジオ等の再生)
- ナビゲーション(ターン・バイ・ターンの経路案内)
- メッセージング・VoIP(テキスト送受信・通話。SiriKitインテント対応が必要)
- EV充電(電気自動車の充電スポット管理)
- 給油(ガソリンスタンド検索・管理)
- 駐車(駐車場検索・決済)
- ドライビングタスク(重要な運転関連タスクのサポート)
- パブリックセーフティ(緊急・公共安全関連)
- クイックフードオーダー(飲食注文)
- 音声会話型(AIアシスタント等の音声操作アプリ)
- ビデオ(駐車中に限定。一部対応車種)
- ウィジェット・ライブアクティビティ
汎用的なビジネスアプリ・ゲーム・フォトアプリ・ブラウザ等はCarPlayの対象外です。自社アプリが上記12カテゴリのいずれにも該当しない場合、CarPlay対応そのものが不可能であるため、外注の検討に進む前にApple Developerの公式カテゴリ一覧との照合が必要です。
Android Autoが対応するカテゴリ
Android Developers公式ドキュメントによれば、Android Autoは以下のカテゴリをサポートします*2。
- メディア(音楽・ラジオ・オーディオブック・ポッドキャスト)
- コミュニケーション(ショートメッセージ・通話)
- テンプレートアプリ(POI・IoT・天気・ナビゲーション支援)
- 駐車中限定アプリ(ビデオ・ブラウザ・ゲーム。Android Automotive OS専用)
駐車中限定アプリ(ビデオ・ブラウザ・ゲーム)はAndroid Automotive OS(後述)でのみ利用可能で、Android Autoでは動作しません。この点の取り違えは外注仕様書の段階で発生しやすいミスです。
テンプレートUI設計の実態—ネイティブ画面は使えない
CarPlayとAndroid Autoはどちらも、既存のスマートフォン向けUIをそのまま車載ディスプレイへ転用することを認めていません。プラットフォームが用意したテンプレートの中から適切なものを選び、その範囲内でUIを構成する「テンプレートベース設計」が義務づけられています。
CarPlayのテンプレート体系
CarPlayフレームワーク(CarPlayフレームワーク:AppleのCarPlay対応アプリを構築するためのiOS公式SDK)が提供する主要テンプレートは次のとおりです*1。
- CPListTemplate:一覧表示(楽曲リスト・ルート候補等)
- CPGridTemplate:グリッドレイアウトによるカテゴリ選択
- CPTabBarTemplate:タブ切り替えによるナビゲーション
- CPMapTemplate:地図表示(ナビアプリ向け)
- CPNowPlayingTemplate:現在再生中の情報表示
- CPInformationTemplate:情報パネル(EV充電・駐車等)
- CPPointOfInterestTemplate:POI(関心地点)表示
カスタムビュー(UIView)は原則として使用できません。テンプレート外の独自レイアウトを実装したいという要件が出た場合、CarPlayの仕様上対応不可能である点を外注パートナーとの要件定義段階で確認しておくことが重要です。
Android for Cars App Libraryのテンプレート体系
Android Auto向けのテンプレートアプリはAndroid for Cars App Library(AndroidXライブラリ群の一部。Car App Library)を使用します*2。主なテンプレートは次のとおりです。
- ListTemplate:スクロール可能なリスト表示
- GridTemplate:グリッドレイアウト
- NavigationTemplate:ナビゲーション表示
- PlaceListMapTemplate:地図+POIリスト
- MessageTemplate:メッセージ表示
- PaneTemplate:情報パネル
Car App LibraryはAndroid AutoとAndroid Automotive OS(後述)の両方に対応しており、一つのコードベースで両プラットフォームに展開できる設計です。ただしメディアアプリ(音楽・ポッドキャスト等)はCar App LibraryではなくMediaBrowserService(Androidのメディアブラウザサービス)とMediaSession(メディアセッション管理API)を使う別系統の実装が必要です*2。
ドライバーの注意をそらさない設計要件
両プラットフォームとも、「ドライバーの注意をそらさない」設計(Distraction Guidelines)を設計要件の中核に置いています。これはUI上の制約としてコードレベルで強制される部分と、レビューで判定される部分に分かれます。
CarPlayのDriving Restrictions
Apple Developer公式の設計ガイドラインは以下の原則を定めています*1。
- インタラクションは2〜3秒で完結できるよう設計する(グランス設計)
- テキスト入力は走行中に制限され、音声入力(Siri)を優先する
- 複雑なアニメーションや連続スクロールを避ける
- 高コントラスト・大きなタップターゲットで視認性を確保する
- CarPlayに最適化されていないウィジェットはシステムが非表示にできる
走行中の操作制限はフレームワーク側が自動で適用する部分もありますが、UIデザイン段階でこれらの制約を前提とした設計が求められます。既存のスマートフォンアプリで動いていたフォーム入力・長文スクロール・複雑な遷移フローは、車載版では全面的な再設計対象になります。
Android AutoのDistraction Guidelines
Android Developers公式ドキュメントは、Android Autoのテンプレートに以下の制約を設けています*2。
- ボタンやメニュー項目のテキスト量に上限がある(Distraction Safeguards)
- ユーザー操作への応答時間に要件がある
- ハンズフリー操作(音声コマンド)を優先した設計を求める
- 走行中に使用不可にすべき機能はプラットフォームが自動制限する
テンプレートの制約はCar App Libraryがコードレベルで強制します。リスト1画面に表示できるアイテム数や、ネストできる画面階層の深さにも上限が定められており、外注先がこの制限を把握せずに設計すると実装段階で大幅な手戻りが発生します。
エンタイトルメント取得と審査フロー
CarPlayとAndroid Autoはどちらも、App StoreやGoogle Playでの通常アプリ申請とは別のプロセスを経る必要があります。このプロセスの理解不足が外注プロジェクトの遅延要因になることがあります。
CarPlayのエンタイトルメント申請
CarPlayに対応するiOSアプリは、AppleからCarPlayエンタイトルメント(アプリが特定の権限やAPIを使用することをAppleが許可するプロビジョニング設定)を取得しなければなりません*1。取得までの流れは以下のとおりです。
- Apple DeveloperのCarPlayページからエンタイトルメントをリクエスト
- Appleが対応カテゴリの適格性を審査
- 承認後、プロビジョニングプロファイルにエンタイトルメントが付与される
- 付与されたエンタイトルメントを利用してXcodeでビルド・App Store審査へ提出
エンタイトルメントの審査期間はAppleの判断によって異なります。外注プロジェクトのスケジュールには、この審査待ちの期間を見込んだバッファを設ける必要があります。
Android Autoの審査フロー
Android Autoアプリは通常のGoogle Play公開フローに加え、Android Autoに特化した審査項目があります*2。
- Google Playへの提出前に、Desktop Head Unit(DHU:開発マシン上でAndroid Auto画面をエミュレートするテストツール)を使ってUI・動作の検証が必要
- Car App LibraryのAPIバージョンとターゲットAPIレベルの要件を満たすこと
- メディアアプリはEarly Access Programを通じた内部テストトラックからの提出が必要になる場合がある
テスト環境として、Android AutoにはDesktop Head Unit(DHU)、Android Automotive OSには専用エミュレータが用意されています。外注先がこれらのテスト環境を用意できるかを事前に確認することが、品質担保につながります。
| 比較項目 | CarPlay(Apple) | Android Auto(Google) |
|---|---|---|
| 接続方式 | iPhone(iOS 7.1以降)をUSB/Wi-Fiで車載ユニットに接続 | Android 9(API 28)以上のスマートフォンをUSB/Wi-Fiで接続 |
| UI構築方法 | CarPlayフレームワークのテンプレートを使用 | Car App Library(テンプレート)またはMediaBrowserService(メディア) |
| 権限取得 | Appleへのエンタイトルメント申請が必須 | Google Playの審査フロー+Android Auto固有のテスト要件 |
| 対応できないカテゴリの例 | 汎用ビジネスアプリ・ゲーム・フォトアプリ・ブラウザ等 | ビデオ・ゲーム・ブラウザ(走行中。Automotive OS駐車中のみ可) |
| テスト環境 | Xcode付属のCarPlayシミュレータ | Desktop Head Unit(DHU)・Android Automotive OS エミュレータ |
Android Auto と Android Automotive OS の違いを押さえる
Androidの車載連携には「Android Auto」と「Android Automotive OS」の2種類があり、混同すると要件定義が全く異なる方向にずれます。外注仕様書を書く前にこの違いを明確にしておくことが必要です。
Android Auto:スマートフォンを中継する投影型
Android Autoは、ユーザーのスマートフォンを車の画面に「投影」する方式です*2。アプリはスマートフォン上で動作し、車のディスプレイには最適化されたUIが表示されます。対応車種は数百モデルに及ぶほか、スマートフォン単体でも「Android Autoスタンドアロン」として利用できます。
Android Automotive OS:車に組み込まれたAndroid
Android Automotive OSは、車両のインフォテインメントシステムに直接組み込まれたAndroidです*2。スマートフォンとの接続なしに車内でアプリが動作します。2020年以降、Android搭載車両に採用が始まっており、アプリをGoogle Playから車両へ直接インストールできます。
駐車中限定のビデオ・ゲーム・ブラウザアプリが開発可能なのはAndroid Automotive OSのみです。外注要件に「車載でビデオ再生を実現したい」という内容がある場合、Android AutoではなくAndroid Automotive OS向けの開発になります。
外注時に発生しやすいリスクと必要スキルの全容
CarPlay/Android Auto対応を外注する際には、通常のモバイルアプリ開発と異なる専門知識が複数必要です。この点を外注パートナーの選定基準に組み込まないと、実装段階で想定外のコスト増や手戻りが発生します。
内製で対応する場合に必要な技術スタック
CarPlay対応をiOSエンジニアが内製で行う場合、以下の知識が求められます。
- CarPlayフレームワークの各テンプレートAPI(CPListTemplate・CPMapTemplate等)の仕様理解
- SiriKit連携(メッセージ・通話カテゴリの場合):INSendMessageIntentをはじめとするインテント設計
- エンタイトルメント管理:プロビジョニングプロファイルへの反映とApple Developer Programの運用
- XcodeのCarPlayシミュレータを使った動作検証
Android Auto対応を内製で行う場合、以下の知識が求められます。
- Car App Library(androidx.car.app)のCarAppService・Sessionライフサイクル管理
- MediaBrowserService / MediaSession(メディアアプリの場合)の設計
- Desktop Head Unit(DHU)によるテスト環境構築
- Manifest設定:AndroidAuto.xmlのMetaDataおよびCarAppService宣言
両プラットフォームを同時対応する場合、これらの知識を持つエンジニアが必要です。既存のモバイルアプリ開発チームが「iOSとAndroidの実装ができる」だけでは車載対応のスキルとしては不十分で、CarPlay/Android Auto固有のAPI・テスト・審査フローに習熟した経験を持つかどうかを事前に確認することが重要です。
外注した場合の失敗コスト
CarPlayのエンタイトルメント申請なしで実装を進めてリリース直前に発覚した場合、設計変更・再テスト・再申請によって開発期間が延びます。Android Autoのテンプレート制約を無視したUIを設計してGoogle Playの審査で差し戻された場合も、同様に手戻りが発生します。
外注先がCarPlayのエンタイトルメント申請経験を持っているか、Android AutoのDHUを使ったテストフローを確立しているかを、発注前のRFP(提案依頼書)段階で確認することで、このリスクを大幅に低減できます。
まとめ:車載連携対応を外注するための3つの確認軸
本稿では、モバイルアプリのCarPlay/Android Auto対応を外注する際に押さえるべき仕様と注意点を整理しました。要点を3つに集約します。
第一に、対応カテゴリの確認です。CarPlayはApple Developerが公開する12カテゴリに限られ、Android Autoもメディア・コミュニケーション・テンプレートアプリ・駐車中限定に分類されます。自社アプリが対象カテゴリに含まれるかを最初に確認しないと、外注費用を投じても実現できないという結論になります。
第二に、テンプレートベース設計への理解です。既存のスマートフォンUIは車載版には流用できません。CarPlayフレームワークのテンプレートとCar App Libraryのテンプレートに基づいた車載専用UIの再設計が必要で、これをスコープに含めた見積もりを取ることが重要です。
第三に、エンタイトルメント・審査フローの把握です。CarPlayはAppleへの事前申請、Android AutoはGoogle Playの車載固有審査があり、通常のアプリ開発より審査・手続きの期間が長くなります。外注パートナーがこのフローを経験済みかどうかが、プロジェクト全体のスケジュールを左右します。
よくある質問
CarPlayとAndroid Autoを同時に外注することはできますか?
可能です。ただし両プラットフォームはUI構築の技術スタックが異なるため、CarPlayとAndroid Autoを同時に対応できる経験を持つパートナーかどうかを確認することが前提になります。Android Autoはさらに「Android Auto(スマートフォン投影型)」と「Android Automotive OS(車載組み込み型)」の2系統があり、どちらを対象にするかで開発内容が変わります*2。要件定義の段階でターゲットプラットフォームを明確にしてから発注することをお勧めします。
既存のiOS/Androidアプリをそのまま車載対応にできますか?
既存のUI(画面デザイン・遷移フロー)をそのまま車載に流用することはできません。CarPlayはApple提供のテンプレートUI、Android AutoはCar App Libraryのテンプレートを使った車載専用の再設計が必要です*1*2。ビジネスロジックや通信処理は既存コードを流用できる場合がありますが、画面層は原則として作り直しになります。既存アプリの規模と複雑さによって、再設計のコスト範囲が変わります。
CarPlayのエンタイトルメント申請にはどれくらい時間がかかりますか?
AppleはエンタイトルメントをApple Developerの「Contact CarPlay」ページから受け付けており、審査期間はAppleの判断によって異なります*1。公式に具体的な期間は示されていないため、外注プロジェクトのスケジュールにはエンタイトルメント審査の待機期間を含めたバッファを設けることをお勧めします。開発着手と並行して早期に申請を行うことが一般的な対応です。
ゲームアプリをAndroid Autoに対応させることはできますか?
走行中のAndroid Autoではゲームアプリは対応カテゴリ外です。ゲームはAndroid Automotive OS(車に直接組み込まれたAndroid)の駐車中限定モードでのみ開発できます*2。CarPlayでもゲームは対応カテゴリに含まれていません*1。車載プラットフォームへの対応を検討する場合は、まず自社アプリのカテゴリが各プラットフォームの対応カテゴリに含まれるかを確認することが出発点になります。
CarPlay/Android Auto対応の外注費用はどのくらいですか?
費用は対象カテゴリ・既存アプリの複雑さ・両プラットフォームへの同時対応かどうかによって異なります。公的機関による業界統計は現時点では確認できないため、具体的な数値を示すことは控えます。外注費用の見積もりは、要件定義書(対象プラットフォーム・カテゴリ・テンプレート設計の範囲・審査フロー対応の要否)を整備した上で複数社から取得し、比較検討することをお勧めします。
著者:テレリモ総研編集部 鈴木 亮佑
ご不明な点はお問い合わせフォームからもご連絡いただけます。
- *1 出典:Apple Inc.「CarPlay | Apple Developer」(2024年)
- *2 出典:Google LLC「Android for Cars | Android Developers」(2024年)