Android TV ile Android için IMA SDK kullanma

Android için IMA SDK'yı kullanırken uygulamanızın Android TV'de düzgün şekilde çalışmasını sağlamak için bazı en iyi uygulamaları izlemenizi öneririz.

İlk olarak Android için TV uygulamaları geliştirme hakkında bilgi edinin. Özellikle, Etkinliğinizin başlangıç kılavuzunda açıklandığı gibi TV için ayarlandığından emin olun. Ayrıca, kullanıcıların uygulamanızda Android TV'de sorunsuz bir şekilde gezinebildiğinden emin olmak için TV'de gezinmeyi de yönetmelisiniz.

Atlanabilir reklamları işleme

SDK, örneğin Daha Fazla Bilgi düğmesiyle etkileşim özelliğini kaldırarak TV benzeri cihazlar için atlanabilir biçimleri optimize eder. Varsayılan olarak SDK setleri, atlama seçeneği kullanılabilir olduğunda "atla" düğmesine odaklanır. Böylece, reklam Android TV'de atlanabilir. Bu nedenle, atlanabilir reklamları desteklemek için ek çalışma yapılması gerekmez.

Bunu, AdsRenderingSettings.setFocusSkipButtonWhenAvailable() yöntemini çağırarak yapılandırabilirsiniz.

Desteklenen reklamlar hakkında daha fazla bilgi edinmek için uyumluluk matrisini inceleyin.

VAST simgesi yedek resimlerini işleyin

IMA SDK, kullanıcının VAST simgesi yedek resimleriyle etkileşimini algılar, oluşturur ve işler. Uygulamanız, "Neden bu reklam?" (WTA) yöntemini kullanan reklamlarda reklam oynatmayı işleme almak için ICON_TAPPED ve ICON_FALLBACK_IMAGE_CLOSED etkinliklerini dinlemelidir.

VAST simgesi yedek resminin gösterilip gösterilmediğini izlemek için bir boole ekleyin. Daha sonra VAST simgesi yedek resmi etrafında reklam oynatma işlemini işlemek için ICON_TAPPED ve ICON_FALLBACK_IMAGE_CLOSED özelliklerini dinleyin. Bunun Gelişmiş Örnekte nasıl işlendiğine dair bir örnek için aşağıdaki kod snippet'ine bakın.

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;