操作
オーディオ
オーディオがあなたのアプリ体験の主要な側面であるかどうかに関係なく、人々がオーディオの動作をどのように期待し、その期待に応えるかを知る必要があります。
コンテンツの再生準備が整った場合にのみ、[再生中] スクリーンに移行します。 バッファリングとネットワークの状態により、ユーザーがオーディオを選択してからその再生が開始されるまでに数秒かかる場合があります。ユーザーの選択は強調表示されたままになり、オーディオの再生準備が整ったことをあなたのアプリがシステムに通知するまで、回転活動インジケーターが表示されます。
説明する情報がまだロードされている場合でも、オーディオが十分にロードされたらすぐに再生を開始します。 バックグラウンドで説明する情報のロードを続け、利用可能になったら表示します。
自動的に再生を開始しないようにします。 あなたのアプリの目的が 1 つのオーディオソースを再生することでなく、またはアプリが以前に中断されたオーディオを再開することでない限り、ユーザーが開始するまで再生を開始するべきではありません。
適切な場合にのみ、中断後にオーディオ再生を再開します。 電話の着信などの一時的な中断は再開可能です。Siri によって開始された音楽プレイリストなど、永続的な中断は再開できません。再開可能な中断が発生した場合、中断が開始されたときにオーディオがアクティブに再生されていた場合は、中断が終了したときにあなたのアプリで再生を再開する必要があります。
必要に応じてレベルを自動的に調整しますが、全体の音量は調整しません。 あなたのアプリは、相対的で独立した音量レベルを調整して、優れたオーディオミックスを実現できます。ただし、最終的な出力音量は常にユーザーが制御する必要があります。
アラートに付随する音など、短い音にはシステムのサウンドサービスを使用します。 開発者向けガイダンスについては、システムサウンドサービス (Audio Services) を参照してください。
あなたのアプリがオーディオアプリの場合は、関連する設計ガイダンスについては オーディオアプリ を参照してください。
車のデータ
カスタムデータインターフェイスを実装する自動車メーカーのアプリは、車両と統合して、気候、ラジオの情報、速度、GPS 位置などのデータを取得して応答することができます。たとえば、アプリは、高度に視覚的な方法で気候と速度の情報を表示するダッシュボードスクリーンを提供します。
データが利用できない場合は、適切に対応してください。 トンネルを走行中に GPS 接続が失われるなど、さまざまな理由で車内のデータが利用できなくなります。あなたのアプリが接続の問題を邪魔にならないように処理してください。
カスタムデータインターフェイスの開発に関するガイダンスについては、ExternalAccessory (External Accessory) を参照してください。
iPhone
CarPlay は、ユーザーが接続した iPhone から互換性のあるアプリを車載ディスプレイに表示し、運転中の使用に最適化された簡素化されたインターフェイスを適用します。
CarPlay がアクティブなときには iPhone でのアプリの操作を排除します。 CarPlay は、運転中にアプリを操作するための最良かつ最も安全な方法であり、車載のコントロールとディスプレイを使用して操作を行う必要があります。iPhone で必要な設定は、車両が動く前に行う必要があります。
接続された iPhone には入力が必要なため、CarPlay からユーザーを閉め出さないでください。 CarPlay がアクティブなときに iPhone にアクセスできないとします。接続された iPhone で問題を解決しなければならない場合は、車両が停止してからユーザーに任せてください。
iPhone がロックされているときやトランクに入っているときにあなたのアプリが動作することを確認します。 CarPlay がアクティブな場合、ユーザーの電話はロックされているか、アクセスできないかもしれません。あなたのアプリは関係なく機能するはずです。
ノブとコントロール
CarPlay をサポートする車両には、タッチスクリーンを補完する実際のコントロール (ボタン、ノブ、タッチパッドなど) があり、場合によってはユーザー入力の主要な手段として機能します。実際のコントロールがユーザー入力の主要な手段を提供する場合、少なくとも Siri ボタン、ナビゲーションコントロール、選択コントロール、および戻るコントロールが常に存在します。
期待どおりにメディアコントロールに応答して下さい。 あなたのアプリがオーディオの再生機能を提供する場合、ユーザーが車内で実際の再生、一時停止、次のトラック、前のトラック、早送り、巻き戻しのボタンを押したときに応答する必要があります。開発者向けガイダンスについては、MPRemoteCommandCenter (MPRemoteCommandCenter) を参照してください。
焦点を基礎としたナビゲーション
CarPlay には、車載ディスプレイがタッチ操作をサポートしていない場合に、人々がノブやタッチパッドを使用してスクリーン上のインターフェイス要素を動かすのを支援する焦点モデルがあります。ノブを回すか、タッチパッドをスワイプすると、焦点が要素から要素へと移動し、特定の要素で停止します。次に、ユーザーはノブを押すか、タッチパッドをタップするか、ボタンを押して、要素をアクティブにしたり操作したりできます。
ユーザーが項目間を論理的に移動できるように、スクリーン上の要素を配置します。 焦点の変化は予測可能でなければなりません。
開発者向けガイダンスについては、UIFocusEnvironment を参照してください。
タッチスクリーン
ユーザーは、車載のタッチスクリーンディスプレイでジェスチャーを実行することで、CarPlay アプリを操作できます。CarPlay は、忠実度の低いタッチスクリーンディスプレイと忠実度の高いタッチスクリーンの両方をサポートします。忠実度の高いスクリーンは、忠実度の低いスクリーンよりも指追跡の待ち時間が短いため、より多くのジェスチャをサポートします。ディスプレイによっては、CarPlay アプリは以下のように 1 本指のジェスチャに応答できます。
ジェスチャ | 使用例 | 低忠実度画面 | 高忠実度画面 |
タップ | コントロールをアクティブにするか、項目を選択します。 |
|
|
ダブルタップ | コンテンツを拡大して中央に配置します。 |
|
|
長押し | コントロールを一定時間アクティブにします。たとえば、Music アプリの [次のトラック] ボタンを長押しすると、現在再生中のトラックが早送りされます。 |
|
|
はじく | すばやくスクロールまたはパンします。 |
| |
ドラッグ | 要素を左右に移動するか、要素をスクリーン上でドラッグします。 |
|
タップ
長押し
ドラッグ
ダブルタップ
はじく
タッチスクリーンの操作を最小限に抑えます。 特に車が動いている間は、人々がスクリーンに手を伸ばし続けてタッチするとは思わないでください。コンテンツにアクセスして機能を開始するために必要な手動操作をできるだけ少なくします。
Siri
Siri は、注意散漫のない音声主導のアプリの操作を容易にする CarPlay の重要な機能です。特定の種類のアプリは、Siri と統合して、音声コマンドやユーザーからの質問に応じてタスクを実行できます。
アプリの種類 | サポートされる Siri の操作 |
自動車メーカーのアプリ | オーディオソースを変更します。 地域を変えます。 デフロスターの設定を変更します。 座席設定を変更します。 ラジオ局を変更します。 ドライバープロファイルの保存とロード。 |
メッセージアプリ | メッセージを送信します。 受信したメッセージを読みます。 |
Voice over Internet Protocol (VoIP) アプリ | 音声通話を開始します。 |
CarPlay が車載ディスプレイに表示されていなくても、ハンドルの音声コマンドボタンで Siri を起動できます。アクティブにされると、Siri は言語と意味解析を処理し、音声での要求をあなたのアプリが処理できるアクションの指示に変換します。あなたのアプリが処理するタスクを定義する責任があります。あなたのアプリは、受け取った情報を検証し、Siri が提示する情報を提供して、アクションを実行しなければなりません。情報を検証しているときに、何かが欠けていたり不明確だったりした場合、あなたのアプリは Siri に確認または追加情報を要求するように指示できます。
迅速に対応し、操作を最小限に抑えます。 人々は便宜上 Siri を使用するので、応答を待たせてはいけません。あなたのアプリは、要求を受け取った後、できるだけ早く情報を検証し、アクションを実行する必要があります。説明や追加情報が必要な場合は、追加のプロンプトが表示される可能性を減らす、効率的で焦点を絞った選択肢を提示してください。
カスタムの語彙で精度を高めます。 人々が要求で使用する特定の用語を定義することで、あなたのアプリが実行するアクションについて Siri が学習できるようにします。これらの用語は一般的ではなく、あなたのアプリに固有のものである必要があります。他のアプリ名、明らかに他のアプリに関連する用語、不適切な言葉、"Hey Siri" などの予約語を決して含めないでください。 定義した用語は、要求を解決するために Siri によって使用されますが、認識される保証はありません。