Preview API Overview
Key developer features
The Android Wear Preview API is still in active development, but you can try it now as part of the Wear 2.0 Developer Preview. The sections below highlight some of the new features for Wear developers.
User Interface Improvements
The preview introduces powerful additions to the user interface, opening up exciting possibilities to developers. A complication is any feature in a watch face that displays more than hours and minutes. With the Complications API, watch faces can display extra information and separate apps can expose complication data. The navigation and action drawers provide users with new ways to interact with apps.
Complications
A complication is a feature of a watch face that displays more than hours and minutes, such as a battery indicator or a step counter. The Complications API helps watch face developers create these features visual features and data connections they require.
Watch faces that use this API can display extra information without needing code for getting the underlying data. Data providers can supply data to any watch face using the API.
For examples of how to use this feature, seeWatch Face Complications.
Navigation and Action drawers
Wear 2.0 introduces two new widgets, navigation drawer and action drawer. These widgets give your users new ways to interact with your app. The navigation drawer appears at the top of the screen and allows users to navigate between app views. The action drawer appears at the bottom of the screen and allows users to choose from a list of actions associated with the current usage context. These drawers are accessible to users when they edge swipe from the top or bottom of the screen; they peek when users scroll in an opposite direction.
To learn how to add these widgets to your app, see Wear Navigation and Actions.
Notifications and Input
In Wear 2.0, we’ve redesigned the key experiences on the watch to be even more intuitive and provide users new ways to respond to messages. Some of the highlights are below; for a complete list of changes, see Notification Changes in Wear 2.0.
Expanded notifications
When a user taps on a notification that is bridged from the phone to the watch or that lacks acontentIntent
, the user will be taken to the expanded view of that notification. When you specify additional content pages and actions for a notification, those are available to the user within the expanded notification. Each expanded notification follows Material Design for Android Wear, so the user gets an app-like experience.
Messaging Style notification
If you have a chat messaging app, your notifications should use Notification.MessagingStyle
, which is new in Android 6.0. Wear 2.0 uses the chat messages included in a MessagingStyle
notification (see addMessage()
) to provide a rich chat app-like experience in the expanded notification.
Smart Reply
Android Wear 2.0 introduces support for Smart Reply in MessagingStyle
notifications. Smart Reply provides the user with contextually relevant, touchable choices in the expanded notification and in RemoteInput
.
By enabling Smart Reply for your MessagingStyle
notifications, you provide users a fast (single tap), discreet (no speaking aloud), and reliable way to respond to chat messages they receive.
Remote Input
Wear 2.0 users can choose between various input options from Remote Input. These options include:
- Dictation
- Emoji
- Canned responses
- Smart Reply
- Default IME
For messaging notifications with Smart Reply, the system-generated Smart Reply appears withinRemoteInput
above the developer-provided list of canned responses. You can also use the setChoices()method in the RemoteInput
API to enable users to select from a list of canned responses.
Bridging Mode
By default, notifications are bridged (shared) from an app on a companion phone to the watch. Since a phone app and a standalone watch app may be sources of the same notifications, the Android Wear 2.0 Preview includes a Bridging mode feature. Developers can begin planning to change the behavior of notifications with the following:
- Specifying in the standalone app's Android manifest file that notifications from the corresponding phone app should not be bridged to the watch.
- Setting a dismissal ID so notification dismissals (by users) are synced across devices.
For an example of how to use this feature, see Bridging Mode for Notifications.
Input Method Framework
Wear 2.0 extends the Android input method framework (IMF) to Android Wear. This allows users to enter text on Wear using the system default IME or third party IMEs. The Wear IME lets the user enter text via gesture typing as well as tapping individual keys. The IMF APIs used for Wear devices are the same as other form factors, though usage is slightly different due to limited screen real estate.
Wear provides user settings on the watch that let the user:
- Enable multiple IMEs from the list of installed IMEs.
- Set a single default IME from the list of enabled IMEs.
- Change languages for various IMEs.
To learn how to create an IME for Wear, see Input Method Framework.
Standalone Devices
Standalone watches will enable Android Wear apps to work independently of phone apps. This means your app can continue to offer full functionality even if the paired phone is far away or turned off.
Wear-Specific APKs
For delivery to a watch, an Android Wear app is currently embedded in its corresponding phone app. This delivery method can result in an increased download size for users, regardless of whether they have an Android Wear device.
With standalone devices, the Multi-APK delivery method will be used. Developers will have the ability to release Android Wear apps independently of the corresponding phone apps. Please stay tuned for more information about this change.
Network Access
Since Android Wear apps will work independently of phone apps, Android Wear's network access will no longer require the Wearable Data Layer API. Android Wear apps will have the ability to make their own network requests. Additionally, they will be able to directly use Google Cloud Messaging.
No APIs for network access or GCM are specific to Android Wear; refer to the existing documentation about Connecting to the Network and Cloud Messaging.
We recommend using the following libraries:
- JobScheduler for asynchronous jobs, including polling at regular intervals
- Multi-networking APIs if you need to connect to specific network types; see the Multiple Network Connections
You will still be able to use the Wearable Data Layer API to communicate with a phone app. However, use of this API to connect to a network will be discouraged.
Authentication
Since Android Wear apps will work independently of phone apps, Android Wear's authentication capabilities will be more powerful; apps will have new ways to authenticate.
Authentication tokens can be passed over the Wearable Data Layer
For Android-paired watches (only), the phone will securely transfer authentication data to a watch app via the Wearable Data Layer API. The data can be transferred as Messages or Data Items.
If your watch app needs to determine if your phone app is installed, you can advertise a capability on the phone app and retrieve the capability on the watch. For more information, see following sections of Sending and Receiving Messages:
- Advertise Capabilities
- Retrieve the Nodes with the Required Capabilities
Users can enter a username and password on a watch
Google Keyboard will be standard on Android Wear, allowing for direct text entry. This feature will work as expected with standard EditText widgets. For passwords, the textPassword
attribute will be used.
Utilizing Account Manager
Android Wear will include the
AccountManager, which will be accessible for syncing and storing account data, as it is on an Android phone.
Preview API Overview
Key developer features
The Android Wear Preview API is still in active development, but you can try it now as part of the Wear 2.0 Developer Preview. The sections below highlight some of the new features for Wear developers.
User Interface Improvements
The preview introduces powerful additions to the user interface, opening up exciting possibilities to developers. A complication is any feature in a watch face that displays more than hours and minutes. With the Complications API, watch faces can display extra information and separate apps can expose complication data. The navigation and action drawers provide users with new ways to interact with apps.
Complications
A complication is a feature of a watch face that displays more than hours and minutes, such as a battery indicator or a step counter. The Complications API helps watch face developers create these features visual features and data connections they require.
Watch faces that use this API can display extra information without needing code for getting the underlying data. Data providers can supply data to any watch face using the API.
For examples of how to use this feature, seeWatch Face Complications.
Navigation and Action drawers
Wear 2.0 introduces two new widgets, navigation drawer and action drawer. These widgets give your users new ways to interact with your app. The navigation drawer appears at the top of the screen and allows users to navigate between app views. The action drawer appears at the bottom of the screen and allows users to choose from a list of actions associated with the current usage context. These drawers are accessible to users when they edge swipe from the top or bottom of the screen; they peek when users scroll in an opposite direction.
To learn how to add these widgets to your app, see Wear Navigation and Actions.
Notifications and Input
In Wear 2.0, we’ve redesigned the key experiences on the watch to be even more intuitive and provide users new ways to respond to messages. Some of the highlights are below; for a complete list of changes, see Notification Changes in Wear 2.0.
Expanded notifications
When a user taps on a notification that is bridged from the phone to the watch or that lacks acontentIntent
, the user will be taken to the expanded view of that notification. When you specify additional content pages and actions for a notification, those are available to the user within the expanded notification. Each expanded notification follows Material Design for Android Wear, so the user gets an app-like experience.
Messaging Style notification
If you have a chat messaging app, your notifications should use Notification.MessagingStyle
, which is new in Android 6.0. Wear 2.0 uses the chat messages included in a MessagingStyle
notification (see addMessage()
) to provide a rich chat app-like experience in the expanded notification.
Smart Reply
Android Wear 2.0 introduces support for Smart Reply in MessagingStyle
notifications. Smart Reply provides the user with contextually relevant, touchable choices in the expanded notification and in RemoteInput
.
By enabling Smart Reply for your MessagingStyle
notifications, you provide users a fast (single tap), discreet (no speaking aloud), and reliable way to respond to chat messages they receive.
Remote Input
Wear 2.0 users can choose between various input options from Remote Input. These options include:
- Dictation
- Emoji
- Canned responses
- Smart Reply
- Default IME
For messaging notifications with Smart Reply, the system-generated Smart Reply appears withinRemoteInput
above the developer-provided list of canned responses. You can also use the setChoices()method in the RemoteInput
API to enable users to select from a list of canned responses.
Bridging Mode
By default, notifications are bridged (shared) from an app on a companion phone to the watch. Since a phone app and a standalone watch app may be sources of the same notifications, the Android Wear 2.0 Preview includes a Bridging mode feature. Developers can begin planning to change the behavior of notifications with the following:
- Specifying in the standalone app's Android manifest file that notifications from the corresponding phone app should not be bridged to the watch.
- Setting a dismissal ID so notification dismissals (by users) are synced across devices.
For an example of how to use this feature, see Bridging Mode for Notifications.
Input Method Framework
Wear 2.0 extends the Android input method framework (IMF) to Android Wear. This allows users to enter text on Wear using the system default IME or third party IMEs. The Wear IME lets the user enter text via gesture typing as well as tapping individual keys. The IMF APIs used for Wear devices are the same as other form factors, though usage is slightly different due to limited screen real estate.
Wear provides user settings on the watch that let the user:
- Enable multiple IMEs from the list of installed IMEs.
- Set a single default IME from the list of enabled IMEs.
- Change languages for various IMEs.
To learn how to create an IME for Wear, see Input Method Framework.
Standalone Devices
Standalone watches will enable Android Wear apps to work independently of phone apps. This means your app can continue to offer full functionality even if the paired phone is far away or turned off.
Wear-Specific APKs
For delivery to a watch, an Android Wear app is currently embedded in its corresponding phone app. This delivery method can result in an increased download size for users, regardless of whether they have an Android Wear device.
With standalone devices, the Multi-APK delivery method will be used. Developers will have the ability to release Android Wear apps independently of the corresponding phone apps. Please stay tuned for more information about this change.
Network Access
Since Android Wear apps will work independently of phone apps, Android Wear's network access will no longer require the Wearable Data Layer API. Android Wear apps will have the ability to make their own network requests. Additionally, they will be able to directly use Google Cloud Messaging.
No APIs for network access or GCM are specific to Android Wear; refer to the existing documentation about Connecting to the Network and Cloud Messaging.
We recommend using the following libraries:
- JobScheduler for asynchronous jobs, including polling at regular intervals
- Multi-networking APIs if you need to connect to specific network types; see the Multiple Network Connections
You will still be able to use the Wearable Data Layer API to communicate with a phone app. However, use of this API to connect to a network will be discouraged.
Authentication
Since Android Wear apps will work independently of phone apps, Android Wear's authentication capabilities will be more powerful; apps will have new ways to authenticate.
Authentication tokens can be passed over the Wearable Data Layer
For Android-paired watches (only), the phone will securely transfer authentication data to a watch app via the Wearable Data Layer API. The data can be transferred as Messages or Data Items.
If your watch app needs to determine if your phone app is installed, you can advertise a capability on the phone app and retrieve the capability on the watch. For more information, see following sections of Sending and Receiving Messages:
- Advertise Capabilities
- Retrieve the Nodes with the Required Capabilities
Users can enter a username and password on a watch
Google Keyboard will be standard on Android Wear, allowing for direct text entry. This feature will work as expected with standard EditText widgets. For passwords, the textPassword
attribute will be used.