पिक्चर में पिक्चर (पीआईपी) विज्ञापन, एक फ़्लोटिंग विंडो में दिखते हैं. यह विंडो, स्क्रीन पर मौजूद कॉन्टेंट के ऊपर दिखती है. जैसे, लेख, फ़ीड या गेमप्ले. इस फ़ॉर्मैट की मदद से, उपयोगकर्ता विज्ञापन देखते हुए भी आपके ऐप्लिकेशन से इंटरैक्ट कर सकते हैं. अगर आपको ऐसे विज्ञापन दिखाने हैं जो पूरी स्क्रीन पर न दिखें, तो यह फ़ॉर्मैट चुनें.
इस गाइड में, Google Mobile Ads Unity Plugin का इस्तेमाल करके, आपके ऐप्लिकेशन में 'पिक्चर में पिक्चर' मोड में दिखने वाले विज्ञापनों के लिए अनुरोध करने और उन्हें दिखाने का तरीका बताया गया है.
शुरू करने से पहले
आगे बढ़ने से पहले, ये काम करें:
Google Mobile Ads Unity Plugin वर्शन
11.6.0या इसके बाद का वर्शन इंस्टॉल करें.
- Android ऐप्लिकेशन के लिए, इंस्टॉल करें GMA Next-Gen SDK.
टेस्ट विज्ञापन चालू करें और इस टेस्ट विज्ञापन यूनिट आईडी का इस्तेमाल करें:
/21775744923/example/picture-in-picture
विज्ञापन लोड करना
PictureInPictureAd ऑब्जेक्ट लोड करने के लिए, विज्ञापन दिखाने का अनुरोध बनाएं और लोड करने के तरीके को कॉल करें:
_adUnitId की जगह अपना विज्ञापन यूनिट का आईडी डालें.
विज्ञापन दिखाएं
स्क्रीन पर पिक्चर में पिक्चर विज्ञापन दिखाने के लिए, 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 पहली बार दिखाए जाने पर, स्क्रीन के सबसे नीचे दाएं कोने में पिक्चर में पिक्चर मोड में विज्ञापन दिखाता है. अगर विज्ञापन पहले दिखाया गया है, तो वह पिछली बार दिखाई गई जगह पर दिखता है. विज्ञापन कहां दिखे, यह तय करने के लिए विज्ञापन दिखाते समय उसकी पोज़िशन तय करें. यहां दिए गए उदाहरण में, स्क्रीन के सबसे ऊपर बाएं कोने में कॉन्टेंट के ऊपर विज्ञापन की पोज़िशन सेट की गई है:
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 देखें.
विज्ञापन इवेंट सुनना
पिक्चर-इन-पिक्चर मोड में दिखाए जाने वाले विज्ञापन के लाइफ़साइकल इवेंट मैनेज करने के लिए, विज्ञापन दिखाने से पहले विज्ञापन इवेंट के लिए रजिस्टर करें. इन इवेंट से, क्लिक और इंप्रेशन जैसे विज्ञापन इंटरैक्शन की जानकारी मिलती है. इन इवेंट से, पिक्चर में पिक्चर मोड से जुड़े इवेंट की भी जानकारी मिलती है. जैसे, विज्ञापन कब दिखता है या कब छिपता है:
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; } }