I was requested to develop an Amazon Fire TV app, but I find difficult to understand the steps required to get on track.
As specified by the Amazon documentation, the previously available Fire TV SDK add-on is now deprecated, and they suggest to just use the Android v17 Leanback Library.
To date, I do not have (yet) a Fire TV, and the official documentation is very poor and rather confused; I'm not able – then – to understand whether "pure" Android TV apps are fully compatible with Fire OS 5, so that developing for the Fire TV is actually the same as developing for a generic Amazon TV (from the SDK, to the virtual testing process).
In the case it isn't, what are the different steps I have to take into account?
You should start with using Android v17 Leanback Library. There is a sample app available from Google that uses leanback library. Few things you might need to check for firetv like speech recognition (SearchFragment in the leanback library) is currently unsupported
Fire OS 5 includes both support for Android TV functionality and the
leanback support library. Speech recognition (SearchFragment in the
leanback library) is currently unsupported.
and global search which is not customizable for individual apps for firetv
Global search is provided system-wide and is not customizable for
individual apps. Developers may implement their own in-app search, but
it is not included in the global search function.
Also try to follow pre-submission assessment guidelines and developer FAQs when developing for a firetv.
Related
Can volunteers develop support for more languages supported in Api.ai?
We want to add Hebrew support. We are developers and audio engineers. Is there a way to plug into the project (which is up on GitHub)?
Is this dependant on Google Text-to-Speech? And if so, the question passes on to Google Text-to-speech. Is there a way to externally plug into the project and add what's needed for another language's support? If so where to start?
After a lot of searching I cannot find the answer to this. My fire tv app was rejected by Amazon because the app doesn't appear under settings > manage installed devices in Fire OS. What is odd is this is not an issue for Android TV and I can see it in the app manager in setting there. Any idea what I could be doing wrong for the fire tv devices? Amazon has been zero help.
Thanks!
The issue is amazon only supports part of the Android Leanback Support Library. How we are supposed to know everything it does or does not support is unknown to me and is a really poor implementation on Amazon's part.
https://developer.amazon.com/public/solutions/devices/fire-tv/docs/amazon-fire-tv-differences-from-android-tv-development
"Fire TV supports some but not all of Android’s Leanback Support Library. Fire TV uses TV-specific UI components from Leanback, and Leanback widgets will work, but if you tag an activity for the Leanback Launcher, the activity will not work. Specifically, Fire TV does not acknowledge the activity category CATEGORY_LEANBACK_LAUNCHER."
I would recommend being cautious of your reliance on android leanback support with fire tv which really hurts code reusablity for software developers. Your app will still work but you may be missing the entry in settings like my current issue. Hopefully Amazon adds better support for the leanback support library going forward.
If i want to write an app that supports all casting mediums mentioned in the title of this question, do i need to implement all the sdk's separately or do any of the sdk's have a way to wrap the functionality of the other ones?
Each SDK is specifically for that protocol / product. Vizio, Chromecast, and Android TV all support Google Cast so you can use one SDK for that.
One Cast works, you can use this guide to learn how to also support Samsung Smart View.
The fragment is included in android.support.v17.leanback.app.GuidedStepFragment which is apart of Leanback library.
I think Leanback is for Android TV, will GuidedStepFragment work if i try to implement it in a mobile device?
Here is an example of the fragment in action: https://youtu.be/RhXuihvQ4Lg
Leanback is a library specifically designed for TV, as stated on developer.android.com:
v17 Leanback Library
The android.support.v17.leanback package provides APIs to support building user interfaces on TV devices. It
provides a number of important widgets for TV apps.
But Nothing prevent you to use the widgets available in the library in your mobile app for Android 4.2 and higher. You will probably have to make some adaptations since the Android TV have a different kind of interaction (TV remote and game controller) compared to the mobile device.
You can make a quick test of the GuidedStepFragment running the Android TV Leanback example on your mobile device and selecting:
More Samples > Guided Step First
I just wanted to know if right now Android Wear is only limited to notifications from apps from other device...There is very poor info on the Google Developer portal for Android Wear and can't get any straight answer from any other question. Thanks in advance.
Now, there is more. :)
You can still use customized notifications (now via the NotificationCompat.WearableExtender class) so that they are more useful on drawables.
But in addition, API level 20 is Android 4.4W, and it allows developing Wear applications with very much the same stack as standard Android apps (i.e. Activities, Services, Layouts, Views, &c) although the Design and UI are logically very different. An unofficial library provides custom views (such as CardFragment, WearableListView, &c) that help in this regard.
When developing applications, you can install them directly into the Android Wear device, but for final users the Wearable app must be embedded into the standard application, and it will be automatically pushed to the wearable after the app is installed. Android Studio helps with these parts.
There is also an API to facilitate communication between an app installed on the Wearable and its corresponding app on the handheld device. See Sending and Syncing Data in the documentation.
In short, you should start by checking the documentation on Building Apps for Wearables, and then creating a New Project in Android Studio and marking the "Wear" checkbox.
OLD ANSWER (pre I/O, now deprecated)
That is correct. As of today (June 13) the Developer Preview only supports notifications (plus some Wear-specific add-ons such as pages and voice replies).
From http://developer.android.com/wear/preview/start.html
With the Android Wear Developer Preview, you can:
Run the Android Wear platform in the Android emulator.
Connect your Android device to the emulator and view notifications from the device as cards on Android Wear.
Try new APIs in the preview support library that enhance your app's notifications with features such as voice replies and notification
pages.
Installing apps directly on the Wear emulator is not supported. It's very likely that Google I/O will bring news on this front, but just speculation at this point.
The situation is more or less similar to what happened with Google Glass, before the introduction of the GDK.
For the official SDK as per this question on Android Wear Developers Google+ page:
You can use the same notification APIs on the wearable that you use on a phone by writing an android wear app. If you need to trigger that notification from the phone, you can use the Wearable apis in Google Play Services to send messages to trigger them.