Donate to e Foundation | Murena handsets with /e/OS | Own a part of Murena! Learn more

Commit cdc28652 authored by Quddus Chong's avatar Quddus Chong Committed by Android (Google) Code Review
Browse files

Merge "docs: Updated Recommending TV Content lesson to support card...

Merge "docs: Updated Recommending TV Content lesson to support card customization. bug: 21787002" into mnc-preview-docs
parents bee8d60a a19933bc
Loading
Loading
Loading
Loading
+43 −15
Original line number Diff line number Diff line
@@ -10,6 +10,7 @@ trainingnavtop=true
<div id="tb">
  <h2>This lesson teaches you to</h2>
  <ol>
    <li><a href="#best-practices">Best Practices for Recommendations</a></li>
    <li><a href="#service">Create a Recommendations Service</a></li>
    <li><a href="#build">Build Recommendations</a></li>
    <li><a href="#run-service">Run Recommendations Service</a></li>
@@ -47,6 +48,46 @@ trainingnavtop=true
  Leanback sample app</a>.
</p>

<h2 id="best-practices">Best Practices for Recommendations</h2>

<p>Recommendations help users quickly find the content and apps they enjoy. Creating
recommendations that are high-quality and relevant to users is an important factor in creating a
great user experience with your TV app. For this reason, you should carefully consider what
recommendations you present to the user and manage them closely.</p>

<h3 id="types">Types of Recommendations</h3>

<p>When you create recommendations, you should link users back to incomplete viewing activities or
suggest activities that extend that to related content. Here are some specific type of
recommendations you should consider:</p>

<ul>
<li><strong>Continuation content</strong> recommendations for the next episode for users to resume
watching a series.</li>
<li><strong>New content</strong> recommendations, such as for a new first-run episode, if the user
finished watching another series.
<li><strong>Related content</strong> recommendations based on the users historic viewing behavior.
</ul>

<p>For more information on how to design recommendation cards for the best user experience, see
<a href="https://www.google.com/design/spec-tv/system-overview/recommendation-row.html#recommendation-row-types-of-recommendations"
class="external-link">Recommendation Row</a> in the Android TV Design Spec.</p>

<h3 id="refreshing">Refreshing Recommendations</h3>

<p>When refreshing recommendations, don't just remove and repost them, because doing so causes
the recommendations to appear at the end of the recommendations row. Once a content item, such as a
movie, has been played, <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#Removing">
remove it</a> from the recommendations.</p>

<h3 id="customization">Customizing Recommendations</h3>

<p>You can customize recommendation cards to convey branding information, by setting user interface
elements such as the card's foreground and background image, color, app icon, title, and subtitle.
To learn more, see
<a href="https://www.google.com/design/spec-tv/system-overview/recommendation-row.html#recommendation-row-card-customization"
class="external-link">Recommendation Row</a> in the Android TV Design Spec.</p>


<h2 id="service">Create a Recommendations Service</h2>

@@ -116,8 +157,8 @@ public class UpdateRecommendationsService extends IntentService {
        TaskStackBuilder stackBuilder = TaskStackBuilder.create(this);
        stackBuilder.addParentStack(DetailsActivity.class);
        stackBuilder.addNextIntent(detailsIntent);
        // Ensure a unique PendingIntents, otherwise all recommendations end up with the same
        // PendingIntent
        // Ensure a unique PendingIntents, otherwise all
        // recommendations end up with the same PendingIntent
        detailsIntent.setAction(Long.toString(movie.getId()));

        PendingIntent intent = stackBuilder.getPendingIntent(0, PendingIntent.FLAG_UPDATE_CURRENT);
@@ -143,19 +184,6 @@ public class UpdateRecommendationsService extends IntentService {
&lt;/manifest&gt;
</pre>

<h3 id="refreshing">Refreshing Recommendations</h3>

<p>Base your recommendations on user behavior and data such as play lists, wish lists, and associated
content. When refreshing recommendations, don't just remove and repost them, because doing so causes
the recommendations to appear at the end of the recommendations row. Once a content item, such as a
movie, has been played, <a href="{@docRoot}guide/topics/ui/notifiers/notifications.html#Removing">
remove it</a> from the recommendations.</p>

<p>The order of an app's recommendations is preserved according to the order in which the app
provides them. The framework interleaves app recommendations based on recommendation quality,
as measured by user behavior. Better recommendations make an app's recommendations more likely
to appear near the front of the list.</p>

<h2 id="build">Build Recommendations</h2>

<p>