PLAY DEVELOPERS BLOG

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

HuluやTVerなどの日本最大級の動画配信を支える株式会社PLAYが運営するテックブログです。

AndroidTV・FireTV でアクティブ率を高めるために対応したい機能のご紹介

こんにちは、Androidアプリの開発を担当しているソリューション技術部の宮本です。

AndroidTV・FireTVのアプリは、スマホに比べると対応している数が少なくどういった機能に対応できるかあまり認知されていないと感じる場面があったので、一部機能を紹介させていただきます。

AndroidTV

Recommendations

チャンネルと呼ばれる各アプリの領域にコンテンツを表示することができる機能です。 アプリ内の情報をホーム画面に表示させることで、ユーザーの興味を引きコンテンツのアクセスに繋げることができます。

developer.android.com

チャンネルの作成

まず始めに、コンテンツを追加するためのチャンネルを作成する必要があります。 チャンネル作成時に、ロゴアイコンやロゴ押下時のインテントを指定することができます。

val builder = Channel.Builder()
builder
    .setInternalProviderId(internalProviderId)
    .setDisplayName(channelName) // チャンネル名
    .setDescription(collection.description) // チャンネルの説明
    .setLogo(channelLogoUri) // チャンネルのロゴアイコン
    .setAppLinkIntentUri(intentUri) // チャンネルのロゴ押下時、送信するインテント

プログラムの追加

チャンネル作成後、チャンネルに追加するプログラムを作成します。 プログラム押下時に送信されるインテントにアプリ側で対応しておくことで、アプリ起動や特定のページに遷移させることができます。

val program = PreviewProgram.Builder()
program
    .setChannelId(channelId)
    .setInternalProviderId(internalProviderId)
    .setTitle(programTitle) // プログラム名
    .setDescription(programDescription) // プログラムの説明
    .setPosterArtUri(programImageUri) // プログラムの画像uri
    .setIntentUri(intentUri) // プログラム押下時、送信するインテント
    .build()

プログラム作成後、プログラムをチャンネルに追加します。

try {
    PreviewChannelHelper(context).publishPreviewProgram(program)
} catch (e: IllegalArgumentException) {
    //
}

Watch Next

チャンネルに、アプリで視聴途中のコンテンツや同じシリーズの次のコンテンツ・新しく配信されたコンテンツを表示することができる機能です。

developer.android.com

プログラムの追加

プログラムを作成し、Watch Nextチャンネルに追加します。 Watch Next プログラムに指定できる種別はこちらをご参照ください。

val program = WatchNextProgram.Builder()
builder
    .setInternalProviderId(Long.toString(meta.metaId))
    .setType(TvContractCompat.WatchNextPrograms.TYPE_TV_EPISODE)
    .setWatchNextType(TvContractCompat.WatchNextPrograms.WATCH_NEXT_TYPE_CONTINUE)
    .setTitle(programTitle) // プログラム名
    .setDescription(programDescription) // プログラムの説明
    .setPosterArtUri(programImageUri) // プログラムの画像uri
    .setIntentUri(intentUri) // プログラム押下時、送信するインテント
    .build()

context.contentResolver.insert(TvContractCompat.WatchNextPrograms.CONTENT_URI, program.toContentValues())

FireTV

リニアTV

FireTVホームのメニューにあるライブタブ内で、サービスで配信しているライブコンテンツを表示することができる機能です。 アプリ内のライブコンテンツに直接アクセスすることができます。

ホームでのコンテンツ表示

視聴したライブコンテンツが、最近視聴した情報としてホーム画面に表示されます。

developer.amazon.com

番組表への連携

2週間分のライブ情報を番組表に連携することができます。

developer.amazon.com

リニアTV上での再生

選択中のコンテンツを、アプリを起動することなく再生させることができます。

developer.amazon.com

VSK(Video Skills Kit)

FireTVのホームやアプリ内でリモコンのマイクを利用し特定のパターンで発話することで、コンテンツの検索・再生などを行うことができる機能です。

FireTVのホームでアプリ名を指定しながら音声検索をかけることで、アプリ内のコンテンツに直接アクセスしたり、アプリを起動した状態ではどの画面にいても検索画面に遷移させてキーワード検索を実行するといったことが実現できます。

VSKに対応するには、カタログ統合を行いコンテンツの情報をAmazonに申請する必要があります。

developer.amazon.com