[MUSIC PLAYING]
MAYURI KHINVASARA KHABYA: Hi there.
This is Mayuri Khinvasara Khabya I'm
a Developer Relations Engineer on the Android team at Google.
Thank you for joining in.
We'll talk about Watch Next API on Android TV and Google TV.
We'll learn how to increase your TV app engagement and some best
practices in order to do so.
You switch on your TV, and there you
see the home screen or the launcher.
What are some ways your user is interacting with your TV app?
It can be via the apps list, the Play Store,
or Google Assistant, et cetera.
But how does your user interact directly with your content
from the home screen?
One important way is through the Watch Next row.
The Watch Next row enjoys top-of-the-line placement
on the home screen.
As app developers-- that is you--
can add relevant content on the Watch Next row.
This can be the content you want to recommend
your users to either continue watching
or suggest a new or next episode.
We do have an introductory video on creating engagement
with Watch Next released at Android Dev Summit talking
about this feature, user experience, guidelines,
success stories, et cetera.
You might want to check that out as well.
The link is in the description below.
So how does the Watch Next row appear on your home screen?
The naming and appearance is slightly
different in Google TV and Android TV,
but the API implementation is the same.
So as app developers, there is no extra effort
required from your side.
Let's zoom in and see what all does the Watch Next card have.
All this metadata gives useful information with direct call
to actions to your user.
In the latter part of this video,
we'll see how to add a card and all the necessary metadata.
Now let's see what types of Watch Next cards you can add.
There are four different type of Watch Next cards
that you can add, depending on the user journey
and which call to actions it displays.
To quickly summarize, TYPE_CONTINUE
is for unfinished content.
NEXT is for next episode.
NEW is for a new season.
And TYPE_WATCHLIST is for bookmarking content
which you might want to watch later on.
All of these types and use cases are
covered in detail in an introductory talk.
Do check that out.
We know what the feature is and we know
what the user experience is.
Now let's dive deeper into how exactly do we achieve this.
The Watch Next entries are populated from a system content
provider, and the Watch Next program
is a convenience class you can use to insert or retrieve
program entries.
If you're comfortable directly using content providers,
we recommend using batch operations or singular
operations.
To make things simpler and reduce developer effort,
we also have a helper class-- the PreviewChannelHelper--
which will manage everything automatically for you.
Let's dive deep, and let's see how we create a card.
The Watch Next API uses a builder design pattern--
simple and straightforward.
Just add all the relevant metadata to the builder.
For example, playback time, title,
duration the Watch Next type, et cetera.
The more rich metadata you add, the richer your user experience
will be.
Once the builder is populated with all the metadata
for inserting a card in the Watch Next channel,
just use the Publish function of the API.
Twp more significant operations are the Update and the Delete.
They use similar APIs and have been
covered in detail in our Android Dev Summit talk,
so do check that out as well.
Now that we know the basics, let's dive
deeper into some best practices.
Let's quickly recap what the Watch Next
row looks like on the TV.
It shows a series of cards, some rich metadata, and direct call
to actions on each card.
Zooming in, this is what a single card entry looks like.
There is a lot of metadata that you
can add in order to better engage with your user.
Let's see how we achieve all of this through code.
In order to set up a progress bar,
you just need to add two things--
the last watched position and the total duration.
We'll populate the card with a progress bar
to hint your users that they can continue watching
exactly where they left off.
This is only needed in the Watch Next TYPE_CONTINUE
and not in the TYPE_NEXT or NEW.
Imagine if your user can directly play your recommended
content from the home screen without explicitly
opening your app.
You should set the right intent URL so
that your app can start playback directly when
the user clicks on the card.
You could also use this link to track analytics
for a user journey coming by the Watch Next row.
Since TV is such a large screen located at a distance,
the image is one of the first things your users observe.
If you set the right image thumbnail URL,
it will show that as a background
to the card to give a visual cue to the user.
For episodes, we recommend adding an image URL
of that specific episode as compared to the general series
or season image.
You could also add the thumbnail at the exact timestamp
of the video for a richer user experience.
In order for you to query the content in the Watch Next row,
and which can also match with your media feed,
use the internal provider ID as a unique identifier
between your app and the Watch Next row.
We have often seen apps add all content in one
go on the Watch Next row.
Use the last engagement time to truly reflect when
the user was actually watching.
You could also use this to suggest any next episodes being
available on a future date.
Imagine a situation where you start watching something
but go back because you don't like it.
Google TV has some threshold recommendations
to understand if the user has actually
started watching the video.
And only in that case, we recommend you to add it
to the Watch Next row.
The two conditions we look for are at least 3% of the video
or at least two minutes of the video has been watched,
and then you can say, yes, the user is interested in this,
so add it to the Watch Next row after that.
Similarly, we also recommend you to detect a video,
and based on whether your end credits have
begun or approximation based on your content length,
you can suggest the next episode or a new season
if your video has been ended.
Don't forget to remove the existing content which
the user finished watching before you add a new one.
Additionally, we've also covered guidelines, edge cases,
and success stories how top apps drive their app engagement
by the Watch Next row in our Android Dev Summit talk.
So do check that out as well.
To continue learning more, here are some additional resources.
The developer documentation is a great starting guide.
If you want to see code directly for all the use
cases and the guidelines, you could
check our Codelab specifically made for episodes and movies
as well.
We also have an introductory video
on the Watch Next API with the guidelines,
edge cases, success stories, et cetera.
Do check that out as well.
We also have a reference app sample
if you just want to play around with code directly.
That's all.
Thank you for joining in.
And keep continuing to engage your user with the Watch Next
row.
[MUSIC PLAYING]