![Page 1: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/1.jpg)
INTRODUCTION TO THE
APPLINK SDK
Heath Williams
![Page 2: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/2.jpg)
Agenda
–What is the AppLink SDK
–Remote Procedure Call (RPC)
–AppLink Proxy Fundamental Building Blocks
–AppLink Proxy Life Cycle Concepts
–Application Lockscreen Management
–Overview of New and Existing RPC calls
–Protecting for the Future, Enhancements to RPC’s
–Registering your App with Ford
–How to get Started Developing
•Downloads
–Questions
9/19/15 2
![Page 3: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/3.jpg)
What is the AppLink SDK?
9/19/15 3
![Page 4: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/4.jpg)
Remote Procedure Calls
•WHAT ARE APPLINK REMOTE PROCEDURE CALLS
–Request RPC – sent from mobile to head unit
–Response RPC – mobile receives from head unit
–Notification RPC – mobile receives from head unit
9/19/15 4
![Page 5: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/5.jpg)
Remote Procedure Calls
9/19/15 5
• IMPORTANT REMOTE PROCEDURE CALLS
▪ RegisterAppInterface - Request
▪ RegisterAppInterface - Response
▪ OnHMIStatus - Notification
▪ UnRegisterApp Interface - Request
▪ UnRegisterApp Interface - Response
![Page 6: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/6.jpg)
Fundamental Building Blocks
– HMI STATUS OVERVIEW
•FULL
•BACKGROUND/LIMITED
•NONE
9/19/15 6
![Page 7: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/7.jpg)
AppLink Lifecycle Concepts
9/19/15 7
![Page 8: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/8.jpg)
Application Lockscreen Management
9/19/15 8
![Page 9: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/9.jpg)
RPC Overview
9/19/15 9
• AppLink APIs are request / response driven. Notifications are asynchronous
▪ Requests/Responses
▪ AddCommand
▪ AddSubMenu
▪ Alert
▪ CreateInteractionChoiceSet
▪ DeleteCommand
▪ DeleteInteractionChoiceSet
▪ DeleteSubMenu
▪ PerformInteraction
▪Request/Responses
▪RegisterAppInterface
▪ResetGlobalProperties
▪SetGlobalProperties
▪SetMediaClockTimer
▪Show
▪Speak
▪SubscribeButton
▪UnregisterAppInterface
▪UnsubscribeButton
▪ Notifications
▪ OnAppInterfaceUnregistered
▪ OnButtonEvent
▪ OnButtonPress
▪ OnCommand
▪ OnDriverDistraction
▪ OnHMIStatus
![Page 10: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/10.jpg)
RPC’s Continued
9/19/15 10
▪ Requests/Responses
▪ ScrollableMessage
▪ Slider
▪ PerformAudioPassThru
▪ SubscribeVehicleData
▪ SetAppIcon
▪ PutFile
▪ GetFile
▪ ListFiles
▪ Notifications
▪ OnAudioData
▪ OnVehicleData
▪ OnPermissionsChange
![Page 11: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/11.jpg)
Sample RPC Request Availability Matrix
9/19/15 11
![Page 12: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/12.jpg)
Typical RPC Exchange Message Bounce Diagram
9/19/15 12
![Page 13: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/13.jpg)
2.0 API’s
9/19/15 13
• Soft Buttons
• Scrollable Message
• Slider
• Audio Pass Thru
• Push Notifications
• Vehicle Data (Get and Subscribe)
• Using Graphics (e.g. setAppIcon, show, addcommand
with graphics, etc.)
• API Utilization Governed by Policies
![Page 14: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/14.jpg)
2.0 API’s on Sync3
9/19/15 14
Soft Buttons
Up to eight addressable buttons for quick use functions
![Page 15: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/15.jpg)
2.0 API’s on Sync3
9/19/15 15
Soft Buttons
Up to eight addressable buttons for quick use functions
![Page 16: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/16.jpg)
2.0 API’s on Sync3
9/19/15 16
Scrollable Message
Subject to driver distraction requirements in various markets
![Page 17: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/17.jpg)
2.0 API’s on Sync3
9/19/15 17
Subject to driver distraction requirements in various markets
![Page 18: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/18.jpg)
2.0 API’s on Sync3
9/19/15 18
![Page 19: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/19.jpg)
2.0 API’s on Sync3
9/19/15 19
Push Notifications
![Page 20: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/20.jpg)
2.0 API’s on Sync3
9/19/15 20
Vehicle Data Methods to collect various pieces of vehicle data
Data is grouped into various categories such as:
Vehicle Location such as GPS and speed
Diagnostic Information
Vehicle Status
Accessible Data will increase over time with vehicle capability
![Page 21: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/21.jpg)
9/19/15 21
New 4.0 API’s
• DialNumber
• SendLocation
![Page 22: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/22.jpg)
API’s on Sync3 with Graphics
9/19/15 22
![Page 23: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/23.jpg)
Graphics Example
9/19/15 23
SetAppIcon
![Page 24: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/24.jpg)
Graphics Example
9/19/15 24
AddCommand
![Page 25: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/25.jpg)
Graphics Example
9/19/15 25
Show
![Page 26: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/26.jpg)
Graphics Example
9/19/15 26
SoftButton
![Page 27: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/27.jpg)
RPC Permissions
9/19/15 27
AppLink Policies Allows for application revocation
Customer and Ford authorized resource usage for HeadUnit
Voice pass thru
Vehicle data
Push Notifications
Allows customers to understand what data they’re providing to
applications
![Page 28: INTRODUCTION TO THE APPLINK SDK - Ford Motor …...2.0 API’s 9/19/15 13 •Soft Buttons •Scrollable Message •Slider •Audio Pass Thru •Push Notifications •Vehicle Data (Get](https://reader036.vdocuments.us/reader036/viewer/2022071106/5fe0c9f5eddcd0340705fc53/html5/thumbnails/28.jpg)
RPC Permissions
9/19/15 28
AppLink Policies Brief Technical Overview
All applications will receive an Application ID from Ford (AppID)
AppID will be provided to head unit from the application
Ford policies governs rights and access (to vehicle data, and advanced features) to all
applications
Permission Changes will notify your application of user or Ford allowed permissions.