از IMA SDK برای Android با Android TV استفاده کنید

ما چندین بهترین روش را برای اطمینان از عملکرد صحیح برنامه شما در Android TV هنگام استفاده از IMA SDK برای Android توصیه می کنیم.

با آشنایی با توسعه برنامه های تلویزیونی برای Android شروع کنید. به طور خاص، مطمئن شوید که Activity شما همانطور که در راهنمای شروع توضیح داده شده برای تلویزیون تنظیم شده است. همچنین می‌خواهید ناوبری تلویزیون را مدیریت کنید تا مطمئن شوید که کاربران می‌توانند برنامه شما را به خوبی در Android TV هدایت کنند.

تبلیغات قابل رد شدن را مدیریت کنید

SDK فرمت‌های قابل پرش را برای دستگاه‌های تلویزیون‌مانند بهینه می‌کند، به عنوان مثال با حذف قابلیت تعامل با دکمه «بیشتر بدانید» . به‌طور پیش‌فرض، زمانی که پرش در دسترس است، SDK روی دکمه رد شدن تمرکز می‌کند تا بتوان از آن تبلیغ در Android TV رد شد. بنابراین، هیچ کار اضافی برای پشتیبانی از تبلیغات قابل پرش لازم نیست.

می‌توانید با فراخوانی AdsRenderingSettings.setFocusSkipButtonWhenAvailable() این مورد را پیکربندی کنید.

برای اطلاعات بیشتر در مورد تبلیغاتی که پشتیبانی می‌شوند، ماتریس سازگاری را بررسی کنید.

کنترل تصاویر بازگشتی نماد VAST

IMA SDK تعامل کاربر با تصاویر بازگشتی نماد VAST را شناسایی، رندر و مدیریت می کند. برنامه شما باید به رویدادهای ICON_TAPPED و ICON_FALLBACK_IMAGE_CLOSED گوش دهد تا بتواند پخش آگهی را برای تبلیغاتی که از «چرا این آگهی» (WTA) استفاده می‌کنند، انجام دهد.

برای ردیابی اینکه آیا تصویر بازگشتی نماد VAST نشان داده می‌شود، یک Boolean اضافه کنید. سپس، به ICON_TAPPED و ICON_FALLBACK_IMAGE_CLOSED گوش دهید تا پخش آگهی را در اطراف تصویر بازگشتی نماد VAST انجام دهید. قطعه کد زیر را برای مثالی از نحوه مدیریت آن در مثال پیشرفته ببینید.

app/src/main/java/com/google/ads/interactivemedia/v3/samples/videoplayerapp/VideoPlayerController.java

// Copyright 2014 Google Inc. All Rights Reserved.

package com.google.ads.interactivemedia.v3.samples.videoplayerapp;

import android.app.UiModeManager;
import android.content.Context;

...

// Tracks if the SDK is playing an ad, since the SDK might not necessarily use
// the video player provided to play the video ad.
private boolean isAdPlaying;

// Tracks whether the SDK has a VAST icon fallback image showing.
private boolean isConnectedTvFallbackImageShowing = false;

// View that handles taps to toggle ad pause/resume during video playback.
private View playPauseToggle;

// View that we can write log messages to, to display in the UI.
private Logger log;

...

    adsManager.addAdEventListener(
        new AdEvent.AdEventListener() {
          /** Responds to AdEvents. */
          @Override
          public void onAdEvent(AdEvent adEvent) {

              ...

              case CONTENT_RESUME_REQUESTED:
                // AdEventType.CONTENT_RESUME_REQUESTED is fired when the ad is
                // completed and you should start playing your content.
                resumeContent();
                break;
              case ICON_TAPPED:
                // The user has tapped a VAST icon fallback image. On Android
                // mobile apps, the SDK will navigate to the landing page. On
                // Connected TV devices, the SDK will present a modal dialog
                // containing the VAST icon fallback image.

                // Check if the app is running on a TV device.
                UiModeManager uiModeManager = (UiModeManager) getSystemService(UI_MODE_SERVICE);
                if (uiModeManager.getCurrentModeType() == Configuration.UI_MODE_TYPE_TELEVISION) {
                  isConnectedTvFallbackImageShowing = true;
                }

                // Focus the IMA WebView for easier access to ad UI elements.
                adsManager.focus();
                break;
              case PAUSED:
                if (isConnectedTvFallbackImageShowing) {
                  // Do not show the controls; continue to leave the controls in
                  // the hands of the ads SDK.
                  break;
                }
                isAdPlaying = false;
                videoPlayerWithAdPlayback.enableControls();
                break;
              case ICON_FALLBACK_IMAGE_CLOSED:
                // The user has closed the VAST icon fallback image. This may
                // be a good time to resume ad playback if the user is ready to
                // continue playing the ad. This event only fires for Connected
                // TV devices.


                isConnectedTvFallbackImageShowing = false;
                adsManager.resume();
                break;
              case RESUMED:
                isAdPlaying = true;
                videoPlayerWithAdPlayback.disableControls();
                break;