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