PIP 모드 광고는 도움말, 피드, 게임플레이와 같은 화면의 콘텐츠 위에 표시되는 플로팅 창에 표시됩니다. 이 형식을 사용하면 광고가 표시되는 동안 사용자가 앱과 상호작용할 수 있습니다. 전체 화면을 차지하지 않는 광고를 표시하려면 이 형식을 선택하세요.
이 가이드에서는 앱에서 PIP 모드 광고를 요청하고 표시하는 방법을 설명합니다. Google Mobile Ads Unity Plugin
시작하기 전에
계속하기 전에 다음 작업을 실행하세요.
Google Mobile Ads Unity Plugin버전
11.6.0이상을 설치합니다.
- Android 앱의 경우 설치 GMA Next-Gen SDK.
테스트 광고를 사용 설정하고 다음 테스트 광고 단위 ID를 사용합니다.
/21775744923/example/picture-in-picture
광고 로드하기
PictureInPictureAd
객체를 로드하려면 광고 요청을 만들고 load 메서드를 호출합니다.
_adUnitId를 광고 단위 ID로 바꿉니다.
광고 게재
화면에 PIP 모드 광고를 표시하려면 show 메서드를 호출합니다. 다음 예에서는 광고를 기본 위치에 표시합니다.
public void ShowPictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Show(); } else { Debug.Log("No ad to show."); } }
위치 설정
기본적으로 Google Mobile Ads Unity Plugin 처음 표시될 때 화면의 오른쪽 하단 에 PIP 모드 광고를 표시하거나 이전에 표시된 경우 마지막으로 알려진 위치에 표시합니다. 광고가 표시되는 위치를 맞춤설정하려면 광고를 표시할 때 위치를 지정하세요. 다음 예에서는 화면 왼쪽 상단의 콘텐츠 위에 위치를 설정합니다.
public void ShowPictureInPictureAdTopLeft() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Show(PictureInPictureAdPosition.TopLeft); } else { Debug.Log("No ad to show."); } }
사용 가능한 모든 위치는
PictureInPictureAdPosition을 참조하세요.
광고 이벤트 수신 대기
PIP 모드 광고 수명 주기 이벤트를 처리하려면 광고를 표시하기 전에 광고 이벤트를 등록하세요. 이러한 이벤트는 클릭 및 노출과 같은 광고 상호작용을 보고합니다. 이러한 이벤트는 광고가 표시되거나 숨겨지는 경우와 같은 PIP 모드 관련 이벤트도 보고합니다.
private void RegisterEventHandlers(PictureInPictureAd ad) { // Raised when the ad is estimated to have earned money. ad.OnAdPaid += (AdValue adValue) => { Debug.Log($"Picture-in-picture ad paid: {adValue.Value} {adValue.CurrencyCode}"); }; // Raised when an impression is recorded for an ad. ad.OnAdImpressionRecorded += () => { Debug.Log("Picture-in-picture ad recorded an impression."); }; // Raised when a click is recorded for an ad. ad.OnAdClicked += () => { Debug.Log("Picture-in-picture ad recorded a click."); }; // Raised when the picture-in-picture ad is displayed on the screen. ad.OnAdShown += () => { Debug.Log("Picture-in-picture ad shown."); }; // Raised when the picture-in-picture ad is hidden from the screen. ad.OnAdHidden += () => { Debug.Log("Picture-in-picture ad hidden."); }; // Raised when an ad opened full screen content. ad.OnAdFullScreenContentOpened += () => { Debug.Log("Picture-in-picture ad opened full screen content."); }; // Raised when the ad closed full screen content. ad.OnAdFullScreenContentClosed += () => { Debug.Log("Picture-in-picture ad closed full screen content."); }; // Raised when the ad failed to open full screen content. ad.OnAdFullScreenContentFailed += (AdError error) => { Debug.LogWarning( "Picture-in-picture ad failed to open full screen " + "content: " + error); }; }
광고 숨기기
화면에서 플로팅 광고를 삭제하려면 hide 메서드를 호출합니다. 이 메서드는 광고 숨김 이벤트를 호출합니다.
public void HidePictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Hide(); } else { Debug.Log("No ad to hide."); } }
광고 리소스 정리
메모리 누수를 방지하려면 앱에서 광고 사용을 완료할 때 광고 객체에 대한 참조를 삭제하세요. 예를 들어 앱이 더 이상 광고를 표시하지 않거나 광고와 상호작용하지 않는 경우입니다.
public void DestroyPictureInPictureAd() { // Use the ad reference saved from the Load callback. if (_pictureInPictureAd != null) { _pictureInPictureAd.Destroy(); _pictureInPictureAd = null; } }