編集●村山剛史/アスキー編集部シェアツイートする一覧Q:SDLの仕組みは?A:カーナビ他への表示には2つの選択肢があるここで、これまでに出てきたSDL対応機器の役割とデータの流れを整理しておこう。ここではカーナビやカーオーディオなどの車載器とスマホの連携について考える。SDLでは、車載器は主にユーザーインターフェース(入力を受け付ける機器)として機能し、スマホ上で動作するアプリは、ある種のコンテンツプロバイダーとなる(図10)。車載器側には「SDLコア」が、スマホ側のアプリには「SDLプロキシ」と呼ばれるオープンソースのモジュールを組み込む具体的にはタッチディスプレイで、情報の表示と、ユーザーの指示の受け付けを担う。この車載器側の機能を提供するモジュールを「SDLコア」と呼んでいる。スマホ側のアプリには「SDLプロキシ」と呼ばれるモジュールを組み込む。これらのSDLコアとSDLプロキシが通信しながら連係動作するのがSDLの仕組みの基本だ。SDLコアもSDLプロキシもオープンソースとして開発され、無償提供される。SDLコア側のディスプレイの表示モードには2種類ある。1つは「通常モード」、もう1つは「プロジェクションモード」だ(図11)。車載ディスプレイは、アプリの種類、用途に応じて「通常モード」または「プロジェクションモード」のいずれかで動作する通常モードでは、SDLプロキシ側のアプリは、自由な画面を表示するのではなく、あらかじめ複数用意されたテンプレートから、自分の機能や目的に合致したものを選んで利用することになる。これによって、ユーザーには、異なるアプリでも同様の、シンプルな方法で操作できるというメリットが生まれる。アプリ開発側にとっては、表示の自由度は制限されるものの、通常のアプリ開発において最も多くの工数を消費しがちなユーザーインターフェース開発の手間を軽減できるという利点もある。1つのプロジェクションモードは、スマホの画面全体を車載器のディスプレイ全体にミラーリング表示するモードだ。これは、スマホアプリで自由なユーザーインターフェースを実現するためのものではなく、地図やカーナビアプリなど、全画面表示を前提とするアプリに対応するためのものと考えられる。このモードでも、ディスプレイは単に表示を担うだけでなく、タッチパネルとして機能するので、通常のスマホのアプリと同様のタッチ操作が可能となる。加えて、車自体がSDLに対応している場合には、車のコンソールに仕込まれたタッチパッドや、ジョグダイアルなどがあれば、それらによる操作もできる。いずれにしても、このような2つのモードを用意することにより、SDLとしての操作の統一性を実現しつつ、アプリの機能の制限を極力軽減することを目指しているものと考えられる。Q:SDL対応アプリ開発するには?A:全4ステップの手順を確認しよう!最後に、SDL対応アプリを開発するための手順を簡単に確認しておこう。次のような4ステップとなる。Portalに登録し、アプリごとに申請してIDを取得する。開発中にエミュレーター上で動かす範囲では、適当なIDでも構わない。最初からSDLコンソーシアムに入会する必要はないので、試作段階では気軽に始められる。2の実際の設計・開発のためには、コンソーシアムのウェブサイトからライブラリをダウンロードして、アプリのプロジェクトに組み込む必要がある。同ウェブサイトには、開発者用のガイドや、APIのドキュメント、サンプルコードなどが揃っている。3のテストは、エミュレーター上でも、車載器の実機を使ってもできるように考慮されている。エミュレーターは、ウェブ上で動作するツールが無償で使えるようになっているので、アプリ開発者は、スマホ以外のハードウェアを用意する必要もなく、いつでもテストが可能となっている。実際に開発したアプリを配信する際には、4の認証が必要となる。それには、車メーカーの認可とSDLコンソーシアムとしての配信認証がある。車本体の状態や走行状況などの情報を利用するためには、あらかじめ対応する車メーカーと交渉して、アプリのリリース前に認可を取得しておく必要がある。配信認証については、2018年中にガイドライン策定が予定されている。配信認証を受ければ、原則として全メーカー(OEM)に対してアプリを配信することが可能となる。以上がアプリ開発の手順になる。1でも記した通り、エミュレーター上で動かす分にはコンソーシアムへの入会などは必要ないので、興味を持ったら気軽にチャレンジしてほしい。この連載でも今後、開発環境の構築やサンプルアプリ開発体験記などをお届けする予定なので、乞うご期待。スマホお気に入り一覧マイページ。