Slide 1

Slide 1 text

© LY Corporation LINEヤフー株式会社 根岸 拓郎/Negishi Takuro Android Autoアプリ開発の今 -ナビゲーションアプリ開発から学ぶケーススタディ- DroidKaigi2024

Slide 2

Slide 2 text

© LY Corporation 根岸 拓郎 LINEヤフー株式会社 Androidエンジニア 2 2019年〜 複数社でAndroidアプリ開発を経験 2021年〜 LINEヤフー株式会社 中途⼊社 Yahoo!カーナビAndroid版アプリを担当 過去執筆:Yahoo! JAPAN Tech Blog 循環的複雑度に着⽬し10年モノのコードを改善する (Yahoo!カーナビのコード品質可視化と改善の歩み) https://techblog.yahoo.co.jp/entry/2023041030419798/

Slide 3

Slide 3 text

© LY Corporation 3 Yahoo!カーナビ

Slide 4

Slide 4 text

© LY Corporation 4 Yahoo!カーナビ

Slide 5

Slide 5 text

© LY Corporation Android Autoを 使ったことがある⽅? 5

Slide 6

Slide 6 text

© LY Corporation Android Auto向けアプリを 開発したことがある⽅? 6

Slide 7

Slide 7 text

© LY Corporation 7 Android Autoとは https://developers.google.com/cars/design/create-apps/app-types/navigation?hl=ja • ⾃動⾞内でのAndroid端末やアプリ の操作を⾞載システムに最適化する 仕組み • Google I/O 2024での発表によると、 新⾞の98%がAndroid Autoをサポー トしている

Slide 8

Slide 8 text

© LY Corporation ⾞向けアプリのカテゴリがさらに広がる ナビゲーションなど運転をサポートするような アプリだけではない GameやVideoなど⾞内で過ごす時間を 楽しめるようなアプリも増えてくる 8 Google I/O 2024より 対応するアプリカテゴリ https://android-developers.googleblog.com/2024/05/android-for-cars-bringing-more-apps-to-cars.html

Slide 9

Slide 9 text

© LY Corporation 新たな⾃動⾞向けアプリ品質レベル • Tier 1: Car differentiated:⾞内の様々なハードウェア、画⾯に最適化されたアプリ • Tier 2: Car optimized:⾞独⾃の体験を提供するアプリ • Tier 3: Car ready:⼤画⾯に対応し、最低限動作するアプリ Tier 3の対象を広げる動きがある • 対象アプリジャンル:Video、Game、Browserなど • すでにアダプティブ・⼤画⾯対応済みのモバイルアプリを積極的に審査する • 追加対応がほぼ無しでAndroid Auto/Automotive向けにアプリを公開できる • Early Accessのフォームがある 9 Google I/O 2024より より簡単にAndroid Auto対応が可能に https://android-developers.googleblog.com/2024/05/android-for-cars-bringing-more-apps-to-cars.html

Slide 10

Slide 10 text

© LY Corporation 10 Android Autoとは https://developers.google.com/cars/design/create-apps/app-types/navigation?hl=ja • ⾃動⾞内でのAndroid端末やアプリ の操作を⾞載システムに最適化する 仕組み • Google I/O 2024での発表によると、 新⾞の98%がAndroid Autoをサポー トしている • 様々な種類のアプリがある • Media、Browsers、Navigation、Point-of- Interest、Video、Game

Slide 11

Slide 11 text

© LY Corporation 11 Android Auto向けアプリを体験 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 12

Slide 12 text

© LY Corporation Android Auto向けナビゲーションアプリ開発について概要を理解する 開発する上での注意点を理解する 守るべきガイドラインを理解する 1 3 2 12 本セッションの⽬的 Android Auto向けアプリを開発したくなる 4

Slide 13

Slide 13 text

© LY Corporation Agenda 1 ナビゲーションアプリ開発の基本 2 Android Autoの画⾯ 3 Android Autoのシミュレーター 4 Android Autoガイドラインの紹介 13

Slide 14

Slide 14 text

© LY Corporation Agenda 1 ナビゲーションアプリ開発の基本 2 Android Autoの画⾯ 3 Android Autoのシミュレーター 4 Android Autoガイドラインの紹介 14 概要・基礎 注意点・ポイント

Slide 15

Slide 15 text

© LY Corporation Android Auto向け ナビゲーションアプリ開発の基本 15

Slide 16

Slide 16 text

© LY Corporation 16 マニフェストファイルを更新 • AndroidManifest.xmlでNAVIGATIONカテゴリを宣⾔ https://developer.android.com/training/cars/apps/navigation?hl=ja#declare-navigation-support

Slide 17

Slide 17 text

© LY Corporation 17 Android Autoで登場するクラス CarAppService Session Screen Template • CarAppService • Serviceを継承 • onCreateSession を使⽤して接続ごとに Session インスタンスを提供する https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts

Slide 18

Slide 18 text

© LY Corporation 18 Android Autoで登場するクラス CarAppService Session Screen Template • CarAppService • Serviceを継承 • onCreateSession を使⽤して接続ごとに Session インスタンスを提供する https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts CarAppServiceは Sessionを返す

Slide 19

Slide 19 text

© LY Corporation 19 Android Autoで登場するクラス CarAppService Session Screen Template • Session • ⾞の画⾯に情報を表⽰するためのエントリポイント • Android Auto上のアプリの状態を通知する • ライフサイクルがある https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts

Slide 20

Slide 20 text

© LY Corporation 20 Android Autoで登場するクラス CarAppService Session Screen Template https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts SessionはScreenを返す • Session • ⾞の画⾯に情報を表⽰するためのエントリポイント • Android Auto上のアプリの状態を通知する • ライフサイクルがある

Slide 21

Slide 21 text

© LY Corporation 21 Android Autoで登場するクラス CarAppService Session Screen Template • Screen • 表⽰するテンプレートをアプリから送信する機構 • ライフサイクルがある https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts ボタン類の設定

Slide 22

Slide 22 text

© LY Corporation 22 Android Autoで登場するクラス CarAppService Session Screen Template • Screen • 表⽰するテンプレートをアプリから送信する機構 • ライフサイクルがある https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts 地図操作ボタン 類の設定

Slide 23

Slide 23 text

© LY Corporation 23 Android Autoで登場するクラス CarAppService Session Screen Template • Template • 画⾯のテンプレート • ドライバーの注意を散漫しないように 設計されている • デベロッパーはテンプレートに沿う形で UI要素を構成できる https://developer.android.com/training/cars/apps?hl=ja#key-terms-concepts

Slide 24

Slide 24 text

© LY Corporation 24 Android Autoアプリのライフサイクル https://developer.android.com/training/cars/apps?hl=ja#carappservice-session-screen-lifecycles • Session • LifecycleOwnerを継承している • Android Autoとの接続時に⽣成 • onCreateSessionで最初に表⽰する Screenを返す • onDestroyでパラメータのリセット、 後処理

Slide 25

Slide 25 text

© LY Corporation 25 Android Autoのアプリライフサイクル https://developer.android.com/training/cars/apps?hl=ja#carappservice-session-screen-lifecycles • Screen • LifecycleOwnerを継承している • onGetTemplateで表⽰するTemplateを返す

Slide 26

Slide 26 text

© LY Corporation Android Autoの画⾯ 26

Slide 27

Slide 27 text

© LY Corporation 27 画⾯=Template https://developers.google.com/cars/design/create-apps/apps-for-drivers/overview?hl=ja • ⾃動⾞向けに最適化されたテンプレートが⽤意されている • デベロッパーが⾃由に画⾯を構成できてしまうと、 運転中の事故につながる • テンプレートを使⽤してアプリのUIを作成する

Slide 28

Slide 28 text

© LY Corporation 28 画⾯=Template https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/overview?hl=ja

Slide 29

Slide 29 text

© LY Corporation 29 画⾯=Template https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/overview?hl=ja

Slide 30

Slide 30 text

© LY Corporation 30 画⾯=Template https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/overview?hl=ja 地図を表⽰するテンプレート

Slide 31

Slide 31 text

© LY Corporation 31 MapWithContentTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/overview?hl=ja https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja • 地図とコンテンツを描画する テンプレート

Slide 32

Slide 32 text

© LY Corporation 32 MapWithContentTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja 地図と同時に表⽰するコンテンツの テンプレートを指定可能 オーバーレイとしてレンダリングさ れる • リスト • グリッド • メッセージ • ペイン

Slide 33

Slide 33 text

© LY Corporation 33 MapWithContentTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja 地図と同時に表⽰するコンテンツの テンプレートを指定可能 オーバーレイとしてレンダリングさ れる • リスト • グリッド • メッセージ • ペイン

Slide 34

Slide 34 text

© LY Corporation 34 MapWithContentTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja 地図と同時に表⽰するコンテンツの テンプレートを指定可能 オーバーレイとしてレンダリングさ れる • リスト • グリッド • メッセージ • ペイン

Slide 35

Slide 35 text

© LY Corporation 35 MapWithContentTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja 地図と同時に表⽰するコンテンツの テンプレートを指定可能 オーバーレイとしてレンダリングさ れる • リスト • グリッド • メッセージ • ペイン

Slide 36

Slide 36 text

© LY Corporation 36 MapWithContentTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja 地図と同時に表⽰するコンテンツの テンプレートを指定可能 オーバーレイとしてレンダリングさ れる • リスト • グリッド • メッセージ • ペイン

Slide 37

Slide 37 text

© LY Corporation 37 MapWithContentTemplate+リスト https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/map-content-template?hl=ja PaneTemplateなど他のテンプレートを⼊れることも可能

Slide 38

Slide 38 text

© LY Corporation 38 MapWithContentTemplate https://developer.android.com/jetpack/androidx/releases/car-app?hl=ja#version_17_2 移⾏ガイド https://developer.android.com/training/cars/apps/navigation?hl=ja#migrate-to-mwct

Slide 39

Slide 39 text

© LY Corporation 39 NavigationTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/overview?hl=ja https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/navigation-template?hl=ja 地図とナビゲーション情報を表 ⽰するテンプレート

Slide 40

Slide 40 text

© LY Corporation 40 NavigationTemplate https://developers.google.com/cars/design/create-apps/apps-for-drivers/templates/navigation-template?hl=ja

Slide 41

Slide 41 text

© LY Corporation 41 ActionStrip https://developers.google.com/cars/design/create-apps/apps-for-drivers/components/action-strip?hl=ja サブアクション(ボタン)を定義 • 最⼤4つ

Slide 42

Slide 42 text

© LY Corporation 42 ActionStrip ActionStripの設定 https://developers.google.com/cars/design/create-apps/apps-for-drivers/components/action-strip?hl=ja

Slide 43

Slide 43 text

© LY Corporation 43 ActionStrip ActionStripを追加(最⼤4つ) https://developers.google.com/cars/design/create-apps/apps-for-drivers/components/action-strip?hl=ja

Slide 44

Slide 44 text

© LY Corporation 44 ActionStrip 1つのActionStripのアイコン https://developers.google.com/cars/design/create-apps/apps-for-drivers/components/action-strip?hl=ja

Slide 45

Slide 45 text

© LY Corporation 45 ActionStrip タップ時の処理 https://developers.google.com/cars/design/create-apps/apps-for-drivers/components/action-strip?hl=ja

Slide 46

Slide 46 text

© LY Corporation 46 テンプレートの制約 https://developer.android.com/training/cars/apps?hl=ja#template-restrictions テンプレートには制限事項がある • スタックできるテンプレートの数は最⼤ 5 つ • 最後(5つ⽬)のテンプレートは以下のいずれかでなければならない • NavigationTemplate • PaneTemplate • MessageTemplate 参考:【Android Auto】画⾯スタックとテンプレートでハマるポイント https://note.com/navitime_tech/n/n8d7ce9424847

Slide 47

Slide 47 text

© LY Corporation 47 サンプルシナリオ https://developers.google.com/cars/design/create-apps/sample-flows/access-location-and-navigate?hl=ja Google Design for Drivingにサンプルシナリオが多数載っている

Slide 48

Slide 48 text

© LY Corporation Agenda 1 ナビゲーションアプリ開発の基本 2 Android Autoの画⾯ 3 Android Autoのシミュレーター 4 Android Autoガイドラインの紹介 48 概要・基礎 注意点・ポイント

Slide 49

Slide 49 text

© LY Corporation Agenda 1 ナビゲーションアプリ開発の基本 2 Android Autoの画⾯ 3 Android Autoのシミュレーター 4 Android Autoガイドラインの紹介 49 概要・基礎 注意点・ポイント ポイント 開発中のつまずきやすいポイント 審査でリジェクトされやすいポイントを紹介

Slide 50

Slide 50 text

© LY Corporation Android Autoのシミュレーター 50

Slide 51

Slide 51 text

© LY Corporation 51 Android Autoのシミュレーター https://developer.android.com/training/cars/testing/dhu?hl=ja Android StudioのSDK Manager からDesktop Head Unit Emulatorをインストール

Slide 52

Slide 52 text

© LY Corporation 52 Android Autoのシミュレーター ■実⾏⼿順 ・「設定」アプリ→「Android Auto」 ・「バージョン」複数回タップ

Slide 53

Slide 53 text

© LY Corporation 53 Android Autoのシミュレーター ■実⾏⼿順 ・「ヘッドユニットサーバーを起動」

Slide 54

Slide 54 text

© LY Corporation 54 Android Autoのシミュレーター https://developer.android.com/training/cars/testing/dhu?hl=ja ■実⾏⼿順 ・ADB トンネリングを使⽤して接続する $ adb forward tcp:5277 tcp:5277 ・シミュレーターの起動 $ cd SDK_LOCATION/extras/google/auto $ ./desktop-head-unit

Slide 55

Slide 55 text

© LY Corporation 55 Android Autoのシミュレーター シミュレーター起動後 通常のAndroid Autoと 同じ操作が可能 マウスでボタンのタッ プ・地図の操作が可能 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 56

Slide 56 text

© LY Corporation 56 Android Autoのシミュレーター -cオプションでconfigファイルを複数指定可能 $ ./desktop-head-unit -c ./default_1080p.ini →1080p(1920x1080)のシミュレーターを起動 する (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 57

Slide 57 text

© LY Corporation 57 Android Autoのシミュレーター configファイル(.ini)は編集可能 参考: https://developer.android.com/training/cars /testing/dhu?hl=ja#configure-dhu よく使う項⽬ ・resolution 800x480、1280x720、1920x1080 のいずれか ・instrumentcluster インストルメント クラスタを有効にする (後述)

Slide 58

Slide 58 text

© LY Corporation 58 Android Auto側の画⾯サイズ スマートフォンと同じく、 様々なディスプレイサイズがある どのサイズでも表⽰が崩れないことが必要 ポイント

Slide 59

Slide 59 text

© LY Corporation 59 Android Auto側の画⾯サイズ configファイル(.ini)を編集することで確認可能 marginheight:上下に余⽩を設ける 500の場合は上下に250ずつ ポイント

Slide 60

Slide 60 text

© LY Corporation 60 Android Auto側の画⾯サイズ ポイント (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 61

Slide 61 text

© LY Corporation 61 Android Auto側の画⾯サイズ 現在位置を表すアイコンが ⾒切れていないか ポイント (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 62

Slide 62 text

© LY Corporation Android Autoガイドラインの紹介 62

Slide 63

Slide 63 text

© LY Corporation 63 ⾞に対応したアプリのガイドライン https://developer.android.com/docs/quality-guidelines/car-app-quality https://developers.google.com/cars/design Car app quality ⾞向けアプリのチェックリストが⽤意されている アプリカテゴリごとの品質要件が記載されている Design for Driving 主にUI設計のガイドライン ドライバーの運転を妨げないように 注意を散漫させないように

Slide 64

Slide 64 text

© LY Corporation 特に注意が必要なガイドライン 64

Slide 65

Slide 65 text

© LY Corporation ⽇中・夜間モード ナビゲーションをシミュレートする機能の提供 インストルメントクラスタへの対応 1 3 2 65 特に注意が必要なガイドライン ナビゲーションインテントの対応 4 ロータリーモードへの対応 5 ポイント

Slide 66

Slide 66 text

© LY Corporation 66 ⽇中・夜間モード Car app quality > The app must draw a light-themed or dark-themed map when instructed to do so https://developer.android.com/docs/quality-guidelines/car-app-quality https://developers.google.com/cars/design Design for Driving > ライトモードまたはダークモードの地図の描画を 求められた場合は、描画します。 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 67

Slide 67 text

© LY Corporation 67 ⽇中・夜間モード 独⾃に昼/夜モードを判断をしてはいけない Android Autoが夜モードと判定している場合は 夜モード⽤の⾊で描画する https://developer.android.com/docs/quality-guidelines/car-app-quality https://developers.google.com/cars/design onCarConfigurationChangedで 切り替えタイミングを知る ポイント

Slide 68

Slide 68 text

© LY Corporation 68 ⽇中・夜間モード 開発中に⽇中・夜間モードを切り替えて動作確認 ・「設定」アプリ→「Android Auto」 ・「地図の⽇中/夜間モード」から変更可能 https://developer.android.com/docs/quality-guidelines/car-app-quality https://developers.google.com/cars/design

Slide 69

Slide 69 text

© LY Corporation 69 ナビゲーションをシミュレートする機能の提供 https://developer.android.com/training/cars/apps/navigation?hl=ja#simulating-navigation > Google Play ストアへのアプリの送信時に、アプリのナビゲーション機能を 検証するために、アプリで NavigationManagerCallback.onAutoDriveEnabled コールバックを実装する必要があります。 > このコールバックが呼び出されると、ユーザーがナビゲーションを開始した ときに、選択された⽬的地へのナビゲーションをシミュレートする必要があり ます。 ポイント

Slide 70

Slide 70 text

© LY Corporation 70 ナビゲーションをシミュレートする機能の提供 https://developer.android.com/training/cars/apps/navigation?hl=ja#simulating-navigation onAutoDriveEnabled内で ナビのシミュレーションを開始する

Slide 71

Slide 71 text

© LY Corporation 71 ナビゲーションをシミュレートする機能の提供 https://developer.android.com/training/cars/apps/navigation?hl=ja#simulating-navigation onAutoDriveEnabled内で ナビのシミュレーションを開始する コマンドラインから以下を実⾏することで動作確認が可能 adb shell dumpsys activity service CAR_APP_SERVICE_NAME AUTO_DRIVE

Slide 72

Slide 72 text

© LY Corporation 72 インストルメントクラスタへの対応 「計器盤」 • スピードメーター • 燃料残量 • など… Android Autoのディスプレ イとは別 ヘッドアップディスプレイ (HUD) もある 曲がる⽅向が正しい⽅向か https://developers.google.com/cars/design/create-apps/sample-flows/view-map-in-cluster?hl=ja ポイント

Slide 73

Slide 73 text

© LY Corporation 73 インストルメントクラスタの動作確認 https://developer.android.com/training/cars/testing/dhu?hl=ja#instrument_cluster ・configファイル(.ini)を編集 ・instrumentclusterをtrueにする インストルメント クラスタを有効にする (後述) $ ./desktop-head-unit -c ./default.ini

Slide 74

Slide 74 text

© LY Corporation 74 インストルメントクラスタの動作確認 https://developer.android.com/training/cars/testing/dhu?hl=ja#instrument_cluster ・configファイル(.ini)を編集 ・instrumentclusterをtrueにする インストルメント クラスタを有効にする (後述) $ ./desktop-head-unit -c ./default.ini

Slide 75

Slide 75 text

© LY Corporation 75 インストルメントクラスタの動作確認 https://developer.android.com/training/cars/testing/dhu?hl=ja#instrument_cluster ナビを開始する 「maneuver」が更新されていればOK (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 76

Slide 76 text

© LY Corporation 76 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata

Slide 77

Slide 77 text

© LY Corporation 77 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata NavigationManager.updateTrip で案内情報を更新

Slide 78

Slide 78 text

© LY Corporation 78 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata 案内情報を構成する Tripインスタンスを作成する

Slide 79

Slide 79 text

© LY Corporation 79 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata Tripに必要な Stepインスタンスを作成する

Slide 80

Slide 80 text

© LY Corporation 80 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata Maneuverにメタデータを渡す Cueに次の案内ポイントの⽂ 字列を渡す(”右⽅向”)

Slide 81

Slide 81 text

© LY Corporation 81 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata ポイント

Slide 82

Slide 82 text

© LY Corporation 82 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata ポイント (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 83

Slide 83 text

© LY Corporation 83 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata ポイント (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 84

Slide 84 text

© LY Corporation 84 インストルメントクラスタへの対応 https://developer.android.com/training/cars/apps/navigation?hl=ja#navigation-metadata ポイント (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 85

Slide 85 text

© LY Corporation 85 ナビゲーションインテントの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・他のアプリやGoogleアシスタントからナビゲーションを⾏う要求(Intent) を受信した場合、適切に処理する必要がある

Slide 86

Slide 86 text

© LY Corporation 86 ナビゲーションインテントの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・他のアプリやGoogleアシスタントからナビゲーションを⾏う要求(Intent) を受信した場合、適切に処理する必要がある 東京駅に⾏きたい (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 87

Slide 87 text

© LY Corporation 87 ナビゲーションインテントの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・他のアプリやGoogleアシスタントからナビゲーションを⾏う要求(Intent) を受信した場合、適切に処理する必要がある 別のAndroid Autoアプリ 「緯度XX, 経度YYへのナビを⾏って」 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 88

Slide 88 text

© LY Corporation 88 ナビゲーションインテントの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・Sessionクラスの onNewIntent で受け取る ポイント

Slide 89

Slide 89 text

© LY Corporation 89 ナビゲーションインテントの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・qパラメーター:地点名で検索する場合 ポイント

Slide 90

Slide 90 text

© LY Corporation 90 ナビゲーションインテントの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・geoパラメーター:緯度経度で検索する場合 ポイント

Slide 91

Slide 91 text

© LY Corporation 91 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・ロータリーコントローラーで操作するモード ロータリーモード (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 92

Slide 92 text

© LY Corporation 92 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・ロータリーコントローラーで操作するモード ロータリーモード (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 93

Slide 93 text

© LY Corporation 93 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・configファイル(.ini)を編集 ・controllerをtrueにする $ ./desktop-head-unit -c ./config/rotary.ini

Slide 94

Slide 94 text

© LY Corporation 94 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・PCの上下⽮印キー(↑↓)でアプリ領域とメニュー領域移動 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 95

Slide 95 text

© LY Corporation 95 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・PCの「1」で左、「2」で右にカーソルを移動 ・Enterキーで決定 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 96

Slide 96 text

© LY Corporation 96 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・パンモードボタンを押すとパンモードになる パンモード (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 97

Slide 97 text

© LY Corporation 97 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・上下左右キーで地図を移動 ・再びEnterキーでパンモードを解除 (C)Mapbox,(C)OpenStreetMap,(C)LY Corporation

Slide 98

Slide 98 text

© LY Corporation 98 ロータリーモードへの対応 https://developer.android.com/training/cars/apps?hl=ja#start-car-app ・ActionStripでボタンをbuild ・Action.PANが既に定義されいている

Slide 99

Slide 99 text

© LY Corporation Android Autoの世界での独⾃のクラスがある ⾞内で使うアプリならでの注意点・ガイドラインがある Android Auto向けアプリを開発したくなる! 1 3 2 99 まとめ

Slide 100

Slide 100 text

© LY Corporation 100 Appendix ・Android Autoについて https://www.android.com/intl/ja_jp/auto/