āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ


āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ…ā§āϝāĻžāĻĒ-āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨ āĻĒ⧁āϰāĻ¸ā§āĻ•āĻžāϰ⧇āϰ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ⧇ āϤāĻžāĻĻ⧇āϰ āϏāĻžāĻĨ⧇ āχāĻ¨ā§āϟāĻžāϰāĻ…ā§āϝāĻžāĻ•ā§āϟ āĻ•āϰāĻžāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻĻ⧇āϝāĻŧāĨ¤ Google āĻŽā§‹āĻŦāĻžāχāϞ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ C++ SDK āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ Android āĻāĻŦāĻ‚ iOS āĻ…ā§āϝāĻžāĻĒ⧇ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋāϕ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻāϕ⧀āĻ­ā§‚āϤ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āĻāχ āύāĻŋāĻ°ā§āĻĻ⧇āĻļāĻŋāĻ•āĻžāϟāĻŋ āφāĻĒāύāĻžāϕ⧇ āĻĻ⧇āĻ–āĻžāϝāĻŧāĨ¤

āĻ•āĻŋāϛ⧁ āĻ—ā§āϰāĻžāĻšāϕ⧇āϰ āϏāĻžāĻĢāĻ˛ā§āϝ⧇āϰ āĻ—āĻ˛ā§āĻĒ āĻĒāĻĄāĻŧ⧁āύ: āϕ⧇āϏ āĻ¸ā§āϟāĻžāĻĄāĻŋ 1 , āϕ⧇āϏ āĻ¸ā§āϟāĻžāĻĄāĻŋ 2 āĨ¤

āĻĒā§‚āĻ°ā§āĻŦāĻļāĻ°ā§āϤ

āϏāĻ°ā§āĻŦāĻĻāĻž āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āĻĻāĻŋāϝāĻŧ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰ⧁āύ

āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āϤ⧈āϰāĻŋ āĻāĻŦāĻ‚ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϝ⧇ āφāĻĒāύāĻŋ āϞāĻžāχāĻ­, āĻĒā§āϰ⧋āĻĄāĻžāĻ•āĻļāύ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ⧇āϰ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤ⧇ āĻĒāϰ⧀āĻ•ā§āώāĻžāĻŽā§‚āϞāĻ• āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϛ⧇āύāĨ¤ āĻāϟāĻŋ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻ°ā§āĻĨ āĻšāϞ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻ•āĻžāωāĻ¨ā§āϟ āĻ¸ā§āĻĨāĻ—āĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰāĻžāϰ āϏāĻŦāĻšā§‡āϝāĻŧ⧇ āϏāĻšāϜ āωāĻĒāĻžāϝāĻŧ āĻšāϞ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ⧇āϰ āϜāĻ¨ā§āϝ āφāĻŽāĻžāĻĻ⧇āϰ āĻĄā§‡āĻĄāĻŋāϕ⧇āĻŸā§‡āĻĄ āĻŸā§‡āĻ¸ā§āϟ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āχāωāύāĻŋāϟ āφāχāĻĄāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž, āϝāĻž āĻĄāĻŋāĻ­āĻžāχāϏ āĻĒā§āĻ˛ā§āϝāĻžāϟāĻĢāĻ°ā§āĻŽ āĻ…āύ⧁āϏāĻžāϰ⧇ āĻĒāϰāĻŋāĻŦāĻ°ā§āϤāĻŋāϤ āĻšāϝāĻŧ:

  • āĻ…ā§āϝāĻžāĻ¨ā§āĻĄā§āϰāϝāĻŧ⧇āĻĄ: ca-app-pub-3940256099942544/5224354917
  • iOS: ca-app-pub-3940256099942544/1712485313

āĻĒā§āϰāϤāĻŋāϟāĻŋ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϜāĻ¨ā§āϝ āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋ āĻĢ⧇āϰāϤ āĻĻ⧇āĻ“āϝāĻŧāĻžāϰ āϜāĻ¨ā§āϝ āĻāϗ⧁āϞāĻŋāϕ⧇ āĻŦāĻŋāĻļ⧇āώāĻ­āĻžāĻŦ⧇ āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰāĻž āĻšāϝāĻŧ⧇āϛ⧇ āĻāĻŦāĻ‚ āϕ⧋āĻĄāĻŋāĻ‚, āĻĒāϰ⧀āĻ•ā§āώāĻž āĻāĻŦāĻ‚ āĻĄāĻŋāĻŦāĻžāĻ— āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ āφāĻĒāύāĻŋ āĻāϟāĻŋāϕ⧇ āφāĻĒāύāĻžāϰ āύāĻŋāϜāĻ¸ā§āĻŦ āĻ…ā§āϝāĻžāĻĒ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰāĻŦ⧇āύ⧎ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āĻĒā§āϰāĻ•āĻžāĻļ āĻ•āϰāĻžāϰ āφāϗ⧇ āĻļ⧁āϧ⧁ āύāĻŋāĻļā§āϚāĻŋāϤ āĻ•āϰ⧁āύ āϝ⧇ āφāĻĒāύāĻŋ āĻāϟāĻŋāϕ⧇ āφāĻĒāύāĻžāϰ āύāĻŋāĻœā§‡āϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āχāωāύāĻŋāϟ āφāχāĻĄāĻŋ āĻĻāĻŋāϝāĻŧ⧇ āĻĒā§āϰāϤāĻŋāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰ⧇āϛ⧇āύāĨ¤

āĻŽā§‹āĻŦāĻžāχāϞ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ SDK-āĻāϰ āĻĒāϰ⧀āĻ•ā§āώāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•āĻžāϜ āĻ•āϰ⧇ āϏ⧇ āϏāĻŽā§āĻĒāĻ°ā§āϕ⧇ āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, āĻĒāϰ⧀āĻ•ā§āώāĻž āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋ āĻĻ⧇āϖ⧁āύāĨ¤

āĻŦāĻžāĻ¸ā§āϤāĻŦāĻžāϝāĻŧāύ

āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋāϕ⧇ āϏāĻ‚āĻšāϤ āĻ•āϰāĻžāϰ āĻĒā§āϰāϧāĻžāύ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒāϗ⧁āϞāĻŋ āĻšāϞ:

  1. āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰ⧁āύ.
  2. āĻ•āϞāĻŦā§āϝāĻžāϕ⧇āϰ āϜāĻ¨ā§āϝ āύāĻŋāĻŦāĻ¨ā§āϧāύ āĻ•āϰ⧁āύāĨ¤
  3. āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āĻĒ⧁āϰāĻ¸ā§āĻ•āĻžāϰ āχāϭ⧇āĻ¨ā§āϟ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧁āύ.

āĻāĻ•āϟāĻŋ RewardedAd āĻ•āύāĻĢāĻŋāĻ—āĻžāϰ āĻ•āϰ⧁āύ

āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋ RewardedAd āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ āĻĒā§āϰāĻĻāĻ°ā§āĻļāĻŋāϤ āĻšāϝāĻŧ, āϤāĻžāχ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϗ⧁āϞāĻŋāϕ⧇ āĻāϕ⧀āĻ­ā§‚āϤ āĻ•āϰāĻžāϰ āĻĒā§āϰāĻĨāĻŽ āĻĒāĻĻāĻ•ā§āώ⧇āĻĒ āĻšāϞ RewardedAd āĻāϰ āĻāĻ•āϟāĻŋ āωāĻĻāĻžāĻšāϰāĻŖ āϤ⧈āϰāĻŋ āĻ•āϰāĻž āĻāĻŦāĻ‚ āĻļ⧁āϰ⧁ āĻ•āϰāĻžāĨ¤

  1. āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ⧇āϰ C++ āϕ⧋āĻĄā§‡ āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āĻšā§‡āĻĄāĻžāϰ āϝ⧋āĻ— āĻ•āϰ⧁āύ:

     #include "firebase/gma/rewarded_ad.h"

  2. āĻāĻ•āϟāĻŋ RewardedAd āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻ˜ā§‹āώāĻŖāĻž āĻ•āϰ⧁āύ āĻāĻŦāĻ‚ āϤāĻžā§ŽāĻ•ā§āώāĻŖāĻŋāĻ• āĻ•āϰ⧁āύ:

     firebase::gma::RewardedAd* rewarded_ad;
     rewarded_ad = new firebase::gma::RewardedAd();

  3. āĻāĻ•āϟāĻŋ AdParent āĻĒā§āϰāĻ•āĻžāϰ⧇ āφāĻĒāύāĻžāϰ āĻ…āĻ­āĻŋāĻ­āĻžāĻŦāĻ• āĻ­āĻŋāω āĻ•āĻžāĻ¸ā§āϟ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ RewardedAd āχāύāĻ¸ā§āĻŸā§āϝāĻžāĻ¨ā§āϏ āĻļ⧁āϰ⧁ āĻ•āϰ⧁āύāĨ¤ āĻĒā§āϝāĻžāϰ⧇āĻ¨ā§āϟ āĻ­āĻŋāω āĻšāϞ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻ¨ā§āĻĄā§āϰāϝāĻŧ⧇āĻĄ Activity āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ JNI jobject āϰ⧇āĻĢāĻžāϰ⧇āĻ¨ā§āϏ āĻŦāĻž āĻāĻ•āϟāĻŋ iOS UIView āĻāϰ āĻāĻ•āϟāĻŋ āĻĒāϝāĻŧ⧇āĻ¨ā§āϟāĻžāϰāĨ¤

    // my_ad_parent is a jobject reference to an Android Activity or
    // a pointer to an iOS UIView.
    firebase::gma::AdParent ad_parent =
      static_cast<firebase::gma::AdParent>(my_ad_parent);
    firebase::Future<void> result = rewarded_ad->Initialize(ad_parent);
    
  4. āϭ⧇āϰāĻŋāϝāĻŧ⧇āĻŦāϞ āĻšāĻŋāϏ⧇āĻŦ⧇ āĻ­āĻŦāĻŋāĻˇā§āĻ¯ā§Ž āϧāϰ⧇ āϰāĻžāĻ–āĻžāϰ āĻŦāĻŋāĻ•āĻ˛ā§āĻĒ āĻšāĻŋāϏ⧇āĻŦ⧇, āφāĻĒāύāĻŋ RewardedAd āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ InitializeLastResult() āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻĒāĻ°ā§āϝāĻžāϝāĻŧāĻ•ā§āϰāĻŽā§‡ āχāύāĻŋāĻļāĻŋāϝāĻŧāĻžāϞāĻžāχāĻœā§‡āĻļāύ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āĻ¸ā§āĻĨāĻŋāϤāĻŋ āĻĒāϰ⧀āĻ•ā§āώāĻž āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤ āĻāϟāĻŋ āφāĻĒāύāĻžāϰ āĻ—ā§āϞ⧋āĻŦāĻžāϞ āϗ⧇āĻŽ āϞ⧁āĻĒ⧇ āĻĒā§āϰāĻžāϰāĻŽā§āĻ­āĻŋāĻ• āĻĒā§āϰāĻ•ā§āϰāĻŋāϝāĻŧāĻžāϰ āĻŸā§āĻ°ā§āϝāĻžāĻ• āϰāĻžāĻ–āĻžāϰ āϜāĻ¨ā§āϝ āϏāĻšāĻžāϝāĻŧāĻ• āĻšāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

    // Monitor the status of the future in your game loop:
    firebase::Future<void> result = rewarded_ad->InitializeLastResult();
    if (result.status() == firebase::kFutureStatusComplete) {
      // Initialization completed.
      if(future.error() == firebase::gma::kAdErrorCodeNone) {
        // Initialization successful.
      } else {
        // An error has occurred.
      }
    } else {
      // Initialization on-going.
    }
    

firebase::Future āϏāĻžāĻĨ⧇ āĻ•āĻžāϜ āĻ•āϰāĻžāϰ āĻŦāĻŋāώāϝāĻŧ⧇ āφāϰāĻ“ āϤāĻĨā§āϝ⧇āϰ āϜāĻ¨ā§āϝ, āĻĒāĻĻā§āϧāϤāĻŋ āĻ•āϞ⧇āϰ āϏāĻŽāĻžāĻĒā§āϤāĻŋāϰ āĻ¸ā§āĻĨāĻŋāϤāĻŋ āύāĻŋāϰ⧀āĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻĢāĻŋāωāϚāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧁āύ āĻĻ⧇āϖ⧁āύāĨ¤

āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰ⧁āύ

RewardedAd āĻ…āĻŦāĻœā§‡āĻ•ā§āĻŸā§‡ LoadAd() āĻĒāĻĻā§āϧāϤāĻŋ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰāĻž āĻšāϝāĻŧāĨ¤ āϞ⧋āĻĄ āĻĒāĻĻā§āϧāϤāĻŋāϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāϝāĻŧā§‹āϜāύ āϝ⧇ āφāĻĒāύāĻŋ RewardedAd āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āϛ⧇āύ āĻāĻŦāĻ‚ āφāĻĒāύāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āχāωāύāĻŋāϟ āφāχāĻĄāĻŋ āĻāĻŦāĻ‚ āĻāĻ•āϟāĻŋ AdRequest āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āφāϛ⧇āĨ¤ āĻāĻ•āϟāĻŋ firebase::Future āĻĢ⧇āϰāϤ āĻĻ⧇āĻ“āϝāĻŧāĻž āĻšāϝāĻŧ āϝāĻž āφāĻĒāύāĻŋ āϞ⧋āĻĄ āĻ…āĻĒāĻžāϰ⧇āĻļāύ⧇āϰ āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻāĻŦāĻ‚ āĻĢāϞāĻžāĻĢāϞ āύāĻŋāϰ⧀āĻ•ā§āώāĻŖ āĻ•āϰāϤ⧇ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

RewardedAd āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āφāϰāĻŽā§āĻ­ āĻšāϝāĻŧ⧇ āϗ⧇āϞ⧇ āύāĻŋāĻšā§‡āϰ āϕ⧋āĻĄāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ:

firebase::gma::AdRequest ad_request;
firebase::Future<firebase::gma::AdResult> load_ad_result;
load_ad_result = rewarded_ad->LoadAd(rewarded_ad_unit_id, ad_request);

āĻ•āϞāĻŦā§āϝāĻžāϕ⧇āϰ āϜāĻ¨ā§āϝ āύāĻŋāĻŦāĻ¨ā§āϧāύ āĻ•āϰ⧁āύ

āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύāĻž āĻāĻŦāĻ‚ āϞāĻžāχāĻĢāϏāĻžāχāϕ⧇āϞ āχāϭ⧇āĻ¨ā§āϟāϗ⧁āϞāĻŋāϰ āĻŦāĻŋāĻœā§āĻžāĻĒā§āϤāĻŋ āĻĒ⧇āϤ⧇ āφāĻĒāύāĻžāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ FullScreenContentListener āĻ•ā§āϞāĻžāϏ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āφāĻĒāύāĻžāϰ āĻ•āĻžāĻ¸ā§āϟāĻŽ FullScreenContentListener āϏāĻžāĻŦāĻ•ā§āϞāĻžāϏ RewardedAd::SetFullScreenContentListener() āĻĒāĻĻā§āϧāϤāĻŋāϰ āĻŽāĻžāĻ§ā§āϝāĻŽā§‡ āύāĻŋāĻŦāĻ¨ā§āϧāĻŋāϤ āĻšāϤ⧇ āĻĒāĻžāϰ⧇, āĻāĻŦāĻ‚ āϝāĻ–āύ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϟāĻŋ āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āĻŦāĻž āĻ…āϏāĻĢāϞāĻ­āĻžāĻŦ⧇ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻž āĻšāϝāĻŧ āĻāĻŦāĻ‚ āϏ⧇āχāϏāĻžāĻĨ⧇ āĻāϟāĻŋ āĻŦāĻžāϤāĻŋāϞ āĻ•āϰāĻž āĻšāϝāĻŧ āϤāĻ–āύ āĻāϟāĻŋ āĻ•āϞāĻŦā§āϝāĻžāĻ• āĻĒāĻžāĻŦ⧇āĨ¤

āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϕ⧋āĻĄāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧ āϝ⧇ āϕ⧀āĻ­āĻžāĻŦ⧇ āĻ•ā§āϞāĻžāϏāϟāĻŋ āĻĒā§āϰāϏāĻžāϰāĻŋāϤ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ āĻāĻŦāĻ‚ āĻāϟāĻŋ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ⧇ āĻŦāϰāĻžāĻĻā§āĻĻ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ:

  class ExampleFullScreenContentListener
      : public firebase::gma::FullScreenContentListener {

   public:
    ExampleFullScreenContentListener() {}

    void OnAdClicked() override {
      // This method is invoked when the user clicks the ad.
    }

    void OnAdDismissedFullScreenContent() override {
     // This method is invoked when the ad dismisses full screen content.
    }

    void OnAdFailedToShowFullScreenContent(const AdError& error) override {
      // This method is invoked when the ad failed to show full screen content.
      // Details about the error are contained within the AdError parameter.
    }

    void OnAdImpression() override {
      // This method is invoked when an impression is recorded for an ad.
    }

    void OnAdShowedFullScreenContent() override {
      // This method is invoked when the ad showed its full screen content.
    }
  };

  ExampleFullScreenContentListener* example_full_screen_content_listener =
    new ExampleFullScreenContentListener();
  rewarded_ad->SetFullScreenContentListener(example_full_screen_content_listener);

RewardedAd āĻšāϞ āĻāĻ•-āĻŦāĻžāϰ āĻŦā§āϝāĻŦāĻšāĻžāϰ āĻ•āϰāĻž āĻŦāĻ¸ā§āϤ⧁āĨ¤ āĻāϰ āĻ…āĻ°ā§āĻĨ āĻšāϞ āĻāĻ•āϟāĻŋ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āĻāĻ•āĻŦāĻžāϰ āĻĻ⧇āĻ–āĻžāύ⧋ āĻšāϞ⧇ āϤāĻž āφāϰ āĻĻ⧇āĻ–āĻžāύ⧋ āϝāĻžāĻŦ⧇ āύāĻžāĨ¤ āĻāĻ•āϟāĻŋ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āĻ…āύ⧁āĻļā§€āϞāύ āĻšāϞ āφāĻĒāύāĻžāϰ FullScreenContentListener āĻāϰ OnAdDismissedFullScreenContent() āĻĒāĻĻā§āϧāϤāĻŋāϤ⧇ āĻ…āĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰāĻž āϝāĻžāϤ⧇ āφāϗ⧇āϰāϟāĻŋ āĻ–āĻžāϰāĻŋāϜ āĻšāĻ“āϝāĻŧāĻžāϰ āϏāĻžāĻĨ⧇ āϏāĻžāĻĨ⧇ āĻĒāϰāĻŦāĻ°ā§āϤ⧀ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϟāĻŋ āϞ⧋āĻĄ āĻšāϤ⧇ āĻļ⧁āϰ⧁ āĻ•āϰ⧇āĨ¤

āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āĻĻ⧇āĻ–āĻžāύ āĻāĻŦāĻ‚ āĻĒ⧁āϰāĻ¸ā§āĻ•āĻžāϰ āχāϭ⧇āĻ¨ā§āϟ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰ⧁āύ

āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āĻĻ⧇āϰ āĻ•āĻžāϛ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāĻžāϰ āφāϗ⧇, āφāĻĒāύāĻžāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϕ⧇ āĻāĻ•āϟāĻŋ āĻĒ⧁āϰāĻˇā§āĻ•āĻžāϰ⧇āϰ āĻŦāĻŋāύāĻŋāĻŽāϝāĻŧ⧇ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϏāĻžāĻŽāĻ—ā§āϰ⧀ āĻĻ⧇āĻ–āĻžāϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āĻ¸ā§āĻĒāĻˇā§āϟ āĻĒāĻ›āĻ¨ā§āĻĻ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤ āĻĒ⧁āϰāĻ¸ā§āĻ•ā§ƒāϤ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϏāĻ°ā§āĻŦāĻĻāĻž āĻāĻ•āϟāĻŋ āĻ…āĻĒā§āϟ-āχāύ āĻ…āĻ­āĻŋāĻœā§āĻžāϤāĻž āĻšāϤ⧇ āĻšāĻŦ⧇āĨ¤

āφāĻĒāύāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύāϟāĻŋ āωāĻĒāĻ¸ā§āĻĨāĻžāĻĒāύ āĻ•āϰāĻžāϰ āϏāĻŽāϝāĻŧ, āĻŦā§āϝāĻŦāĻšāĻžāϰāĻ•āĻžāϰ⧀āϰ āϜāĻ¨ā§āϝ āĻĒ⧁āϰāĻ¸ā§āĻ•āĻžāϰ āĻĒāϰāĻŋāϚāĻžāϞāύāĻž āĻ•āϰāĻžāϰ āϜāĻ¨ā§āϝ āφāĻĒāύāĻžāϕ⧇ āĻ…āĻŦāĻļā§āϝāχ āĻāĻ•āϟāĻŋ UserEarnedReward āĻ…āĻŦāĻœā§‡āĻ•ā§āϟ āĻĒā§āϰāĻĻāĻžāύ āĻ•āϰāϤ⧇ āĻšāĻŦ⧇āĨ¤

āύāĻŋāĻŽā§āύāϞāĻŋāĻ–āĻŋāϤ āϕ⧋āĻĄāϟāĻŋ āĻĻ⧇āĻ–āĻžāϝāĻŧ āĻ•āĻŋāĻ­āĻžāĻŦ⧇ āĻāĻ•āϟāĻŋ RewardedAd āĻĒā§āϰāĻĻāĻ°ā§āĻļāύ āĻ•āϰāϤ⧇ āĻšāϝāĻŧ:

// A simple listener track UserEarnedReward events.
class ExampleUserEarnedRewardListener :
    public firebase::gma::UserEarnedRewardListener {
 public:
   ExampleUserEarnedRewardListener() { }

  void OnUserEarnedReward(const firebase::gma::AdReward& reward) override {
    // Reward the user!
  }
};

ExampleUserEarnedRewardListener* user_earned_reward_listener =
  new ExampleUserEarnedRewardListener();
firebase::Future<void> result = rewarded_ad->Show(user_earned_reward_listener);

FAQ

āφāϰāĻŽā§āĻ­ āĻ•āϞ⧇āϰ āϜāĻ¨ā§āϝ āĻāĻ•āϟāĻŋ āϏāĻŽāϝāĻŧāϏ⧀āĻŽāĻž āφāϛ⧇?
10 āϏ⧇āϕ⧇āĻ¨ā§āĻĄā§‡āϰ āĻĒāϰ⧇, Google āĻŽā§‹āĻŦāĻžāχāϞ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ C++ SDK Firebase:: Initialize() āĻĻā§āĻŦāĻžāϰāĻž āĻĢ⧇āϰāϤ āĻĻ⧇āĻ“āϝāĻŧāĻž firebase::Future āϏāĻŽā§āĻĒāĻ¨ā§āύ āĻ•āϰ⧇, āĻāĻŽāύāĻ•āĻŋ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨāϤāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻāĻ–āύāĻ“ āĻļ⧁āϰ⧁ āύāĻž āĻ•āϰ⧇ āĻĨāĻžāϕ⧇āĨ¤
āφāĻŽāĻŋ āϝāĻ–āύ āχāύāĻŋāĻļāĻŋāϝāĻŧāĻžāϞāĻžāχāĻœā§‡āĻļāύ āĻ•āϞāĻŦā§āϝāĻžāĻ• āĻĒāĻžāχ āϤāĻ–āύ āĻ•āĻŋāϛ⧁ āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨāϤāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āύāĻž āĻšāϞ⧇ āϕ⧀ āĻšāĻŦ⧇?

SDK āĻĒā§āϰāĻžāϰāĻŽā§āĻ­āĻŋāĻ•āϤāĻž āϏāĻŽā§āĻĒā§‚āĻ°ā§āĻŖ āĻšāĻ“āϝāĻŧāĻžāϰ āĻĒāϰ⧇ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ āϞ⧋āĻĄ āĻ•āϰāĻž āĻāĻ•āϟāĻŋ āϏāĻ°ā§āĻŦā§‹āĻ¤ā§āϤāĻŽ āĻ…āĻ­ā§āϝāĻžāϏāĨ¤ āĻāĻŽāύāĻ•āĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨāϤāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āύāĻž āĻšāϞ⧇āĻ“, Google āĻŽā§‹āĻŦāĻžāχāϞ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ C++ SDK āĻāĻ–āύāĻ“ āϏ⧇āχ āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ•āϟāĻŋāϕ⧇ āĻāĻ•āϟāĻŋ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ⧇āϰ āϜāĻ¨ā§āϝ āϜāĻŋāĻœā§āĻžāĻžāϏāĻž āĻ•āϰāĻŦ⧇⧎ āϤāĻžāχ āϝāĻĻāĻŋ āĻāĻ•āϟāĻŋ āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨāϤāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϟāĻžāχāĻŽāφāωāĻŸā§‡āϰ āĻĒāϰ⧇ āφāϰāĻŽā§āĻ­ āĻ•āϰāĻž āĻļ⧇āώ āĻ•āϰ⧇, āϤāĻŦ⧇ āĻāϟāĻŋ āĻāĻ–āύāĻ“ āϏ⧇āχ āϏ⧇āĻļāύ⧇ āĻ­āĻŦāĻŋāĻˇā§āϝāϤ⧇āϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ⧇āϰ āĻ…āύ⧁āϰ⧋āϧāϗ⧁āϞāĻŋāϕ⧇ āĻĒāϰāĻŋāώ⧇āĻŦāĻž āĻĻāĻŋāϤ⧇ āĻĒāĻžāϰ⧇āĨ¤

āφāĻĒāύāĻŋ GetInitializationStatus() āĻ•āϞ āĻ•āϰ⧇ āφāĻĒāύāĻžāϰ āĻ…ā§āϝāĻžāĻĒ āϏ⧇āĻļāύ āϜ⧁āĻĄāĻŧ⧇ āϏāĻŽāĻ¸ā§āϤ āĻ…ā§āϝāĻžāĻĄāĻžāĻĒā§āϟāĻžāϰ⧇āϰ āĻĒā§āϰāĻžāϰāĻŽā§āĻ­āĻŋāĻ• āĻ…āĻŦāĻ¸ā§āĻĨāĻž āĻĒā§‹āϞ āϚāĻžāϞāĻŋāϝāĻŧ⧇ āϝ⧇āϤ⧇ āĻĒāĻžāϰ⧇āύāĨ¤

āĻāĻ•āϟāĻŋ āύāĻŋāĻ°ā§āĻĻāĻŋāĻˇā§āϟ āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨāϤāĻž āύ⧇āϟāĻ“āϝāĻŧāĻžāĻ°ā§āĻ• āϕ⧇āύ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āύāϝāĻŧ āϤāĻž āφāĻŽāĻŋ āϕ⧀āĻ­āĻžāĻŦ⧇ āϖ⧁āρāĻœā§‡ āĻĒāĻžāĻŦ?

AdapterStatus.description() āĻŦāĻ°ā§āĻŖāύāĻž āĻ•āϰ⧇ āϝ⧇ āϕ⧇āύ āĻāĻ•āϟāĻŋ āĻ…ā§āϝāĻžāĻĄāĻžāĻĒā§āϟāĻžāϰ āĻŦāĻŋāĻœā§āĻžāĻžāĻĒāύ⧇āϰ āĻ…āύ⧁āϰ⧋āϧ⧇āϰ āϜāĻ¨ā§āϝ āĻĒā§āϰāĻ¸ā§āϤ⧁āϤ āύāϝāĻŧāĨ¤ āϞāĻ—āĻŋāĻ‚ āĻŽāĻ§ā§āϝāĻ¸ā§āĻĨāϤāĻž āĻ…ā§āϝāĻžāĻĄāĻžāĻĒā§āϟāĻžāϰ⧇āϰ āĻ¸ā§āĻĨāĻŋāϤāĻŋāϰ āωāĻĻāĻžāĻšāϰāϪ⧇āϰ āϜāĻ¨ā§āϝ āĻ—āĻŋāϟāĻšāĻžāĻŦ⧇ āφāĻŽāĻžāĻĻ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖ āϕ⧁āχāĻ•āĻ¸ā§āϟāĻžāĻ°ā§āϟ āĻ…ā§āϝāĻžāĻĒ⧇āϰ āωāĻ¤ā§āϏ āϕ⧋āĻĄāϟāĻŋ āĻĻ⧇āϖ⧁āύ⧎

āĻ…āϤāĻŋāϰāĻŋāĻ•ā§āϤ āϏāĻŽā§āĻĒāĻĻ

āĻ—āĻŋāϟāĻšāĻžāĻŦ⧇āϰ āωāĻĻāĻžāĻšāϰāĻŖ