Google 致力于为黑人社区推动种族平等。查看具体举措
This page was translated by the Cloud Translation API.
Switch to English

পুরষ্কারযুক্ত ভিডিও

আপনি অ্যাডমব মধ্যস্থতার মাধ্যমে আপনার সি ++ অ্যাপ্লিকেশনগুলিতে পুরষ্কারযুক্ত ভিডিওগুলি প্রদর্শন করতে অ্যাডমব ব্যবহার করতে পারেন।

এই গাইড আপনাকে দেখায় যে কীভাবে কোনও পুরষ্কার প্রাপ্ত ভিডিওর অনুরোধ করা এবং প্রদর্শন করা, কখন পুরষ্কার প্রাপ্ত ভিডিও পাওয়া যায় তা নির্ধারণ করা এবং ব্যবহারকারীকে পুরস্কৃত করা।

পূর্বশর্ত

আপনি পুরস্কৃত ভিডিও সি ++ এপিআইয়ের সাথে আলাপচারিতা শুরু করার আগে আপনার মধ্যস্থতা নেটওয়ার্ক অ্যাডাপ্টার এবং এসডিকে আপনার অ্যাপে অন্তর্ভুক্ত করতে হবে যা থেকে আপনি পুরস্কৃত ভিডিওগুলি পরিবেশন করতে চান। আপনি আইওএস এবং অ্যান্ড্রয়েডের জন্য পুরষ্কার প্রাপ্ত ভিডিও গাইডগুলিতে আপনার অ্যাপটিতে পুরষ্কারযুক্ত ভিডিও মধ্যস্থতা যুক্ত করার পদক্ষেপগুলি দেখতে পাচ্ছেন can

এছাড়াও, যদি এটি আপনার প্রথম আপনার সি ++ অ্যাপে অ্যাডমব এবং ফায়ারবেস সেটআপ করা হয়, তবে অ্যাডমব এবং ফায়ারবেস আপনার অ্যাপ্লিকেশনকে সংহত করার বিষয়ে ধাপে ধাপে নির্দেশাবলীর জন্য অ্যাডমব সি ++ স্টার্ট গাইড দেখুন।

পুরষ্কারপ্রাপ্ত_ভিডিও নামের স্থানের সাথে ইন্টারঅ্যাক্ট করুন

rewarded_video নেমস্পেসে গুগল মোবাইল বিজ্ঞাপন এসডিকে মাধ্যমে পুরষ্কার প্রাপ্ত ভিডিওগুলি দেখানোর পদ্ধতি রয়েছে। ব্যানার এবং ইন্টারস্টিটিয়াল বিজ্ঞাপনগুলির বিপরীতে, যার নিজস্ব জিনিস রয়েছে, পুরষ্কার প্রাপ্ত ভিডিওগুলি rewarded_video নামস্থানে স্থির পদ্ধতি ব্যবহার করে নিয়ন্ত্রণ করা হয়।

rewarded_video নামের স্থানটি অ্যাক্সেস করতে আপনার অ্যাপ্লিকেশনটির সি ++ কোডে নিম্নলিখিতগুলি অন্তর্ভুক্ত করুন:

#include "firebase/admob/rewarded_video.h"

rewarded_video প্রাপ্ত_ভিডিও নামের স্থানের সাথে কথোপকথনের জন্য এখানে প্রাথমিক পদক্ষেপ রয়েছে:

  1. লাইব্রেরি এবং মধ্যস্থতা অ্যাডাপ্টারগুলির সূচনা করতে আরম্ভ করুন Initialize() কে কল করুন:

    firebase::admob::rewarded_video::Initialize();
    
  2. এখন যেহেতু গ্রন্থাগার এবং মধ্যস্থতা অ্যাডাপ্টারগুলি শুরু করা হয়েছে, আপনি কোনও পুরস্কৃত ভিডিও লোড করতে LoadAd() কল করতে প্রস্তুত:

    firebase::admob::AdRequest my_ad_request;
    // Set some or all of the member variables in the AdRequest struct.
    firebase::admob::rewarded_video::LoadAd("YOUR_REWARDED_AD_UNIT_ID", my_ad_request);
    

    বিজ্ঞাপনের অনুরোধগুলি লক্ষ্য এবং কাস্টমাইজ করার বিষয়ে উদাহরণের জন্য একটি অ্যাডমব বিজ্ঞাপন অনুরোধ তৈরি করুন দেখুন।

  3. পুরষ্কার প্রাপ্ত ভিডিওটি লোড হয়ে গেলে, ব্যবহারকারীকে ভিডিওটি প্রদর্শনের জন্য Show() কল Show() :

    // my_ad_parent is a reference to an iOS UIView or an Android Activity. This is
    // the parent UIView or Activity of the rewarded video.
    firebase::admob::rewarded_video::Show(my_ad_parent);
    
  4. প্রয়োজনীয় পদক্ষেপ 2 এবং 3 পুনরাবৃত্তি করুন।

  5. পুরষ্কার প্রাপ্ত ভিডিওর সাথে সম্পর্কিত যে কোনও পটভূমি প্রসেসিং বিরতিতে কল করুন Pause() কে কল করুন:

    firebase::admob::rewarded_video::Pause();
    

    যখনই সি ++ ইঞ্জিন বিরতি দেয় বা অ্যাপ্লিকেশন ফোকাস হারায় তখন এই পদ্ধতিটি কল করুন।

  6. বিরতি থেকে পুনরায় শুরু করতে কল করুন Resume() উদাহরণস্বরূপ, যখন ব্যবহারকারী গুগল প্লে থেকে আপনার অ্যাপে ফিরে আসে:

    firebase::admob::rewarded_video::Resume();
    
  7. আপনি যখন আপনার অ্যাপটিতে পুরস্কৃত ভিডিও বিজ্ঞাপনগুলি প্রদর্শন করা শেষ করেছেন, পুরষ্কার প্রাপ্ত ভিডিও নেমস্পেসের সাহায্যে ব্যবহৃত কোনও সংস্থান সাফ করতে এবং মুছে ফেলার জন্য Destroy() কল করুন:

    firebase::admob::rewarded_video::Destroy();
    

উপরোক্ত পদক্ষেপগুলি পুরষ্কৃত ভিডিও লোড করার সময় এবং প্রদর্শন করার সময় আপনার অ্যাপ্লিকেশনটির জন্য ব্যবহৃত বেসিক পদ্ধতি কলগুলিকে হাইলাইট করে। যাইহোক, পূর্ববর্তী পদ্ধতি কলগুলির কল করার আগে তাদের সমাপ্তির স্থিতি পর্যবেক্ষণ করা ভাল অনুশীলন। পরবর্তী বিভাগে পূর্ববর্তী rewarded_video প্রাপ্ত_ভিডিও নামের স্থান পদ্ধতি কলগুলির সমাপ্তির স্থিতি নির্ধারণ করতে ফিউচারগুলি ব্যবহারের পদক্ষেপগুলি বর্ণনা করা হয়েছে।

পদ্ধতি কলগুলির সমাপ্তির স্থিতি পর্যবেক্ষণ করতে ফিউচারগুলি ব্যবহার করুন

ফিউচারগুলি আপনাকে আপনার পূর্ববর্তী rewarded_video নামের স্থান পদ্ধতি কলগুলির সমাপ্তির স্থিতি নির্ধারণ করার জন্য একটি উপায় সরবরাহ করে। rewarded_video::Initialize() যখন rewarded_video::Initialize() পদ্ধতিতে কল করা হয়, উদাহরণস্বরূপ, একটি নতুন ভবিষ্যত তৈরি এবং ফিরে আসে returned ফায়ারবেস :: আরও তথ্যের জন্য ভবিষ্যত দেখুন। অ্যাপ্লিকেশনগুলি কখন শুরু শুরু হবে তা নির্ধারণ করতে ভবিষ্যতের স্থিতিটি পোল করতে পারে। ফিউচারটি সম্পূর্ণ হয়ে গেলে আপনি পুরস্কৃত ভিডিও লোড করতে প্রস্তুত।

rewarded_video নেমস্পেসের বেশিরভাগ পদ্ধতির একটি অনুরূপ "শেষ ফলাফল" পদ্ধতি রয়েছে যা অ্যাপ্লিকেশনগুলি প্রদত্ত ক্রিয়াটির জন্য সাম্প্রতিকতম ভবিষ্যত পুনরুদ্ধার করতে ব্যবহার করতে পারে। Initialize() পদ্ধতি, উদাহরণস্বরূপ, একটি পদ্ধতি বলা InitializeLastResult() যে আয় সাম্প্রতিকতম কলের জন্য ভবিষ্যত Initialize() :

if (firebase::admob::rewarded_video::InitializeLastResult().status() ==
    firebase::kFutureStatusComplete &&
    firebase::admob::rewarded_video::InitializeLastResult().error() ==
    firebase::admob::kAdMobErrorNone) {
  firebase::admob::rewarded_video::LoadAd("YOUR_REWARDED_AD_UNIT_ID",
      my_ad_request);
}

ব্যবহার করুন LoadAdLastResult() পদ্ধতি ভবিষ্যতে গত কলের অবস্থা প্রতিনিধিত্বমূলক পেতে LoadAd() পদ্ধতি। যদি এর স্থিতি সম্পূর্ণ হয় তবে আপনি পরবর্তী অ্যাপ্লিকেশনটিতে প্রাকৃতিক স্টপিং পয়েন্টে পুরস্কৃত ভিডিওটি প্রদর্শন করতে পারেন:

if (firebase::admob::rewarded_video::LoadAdLastResult().status() ==
    firebase::kFutureStatusComplete &&
    firebase::admob::rewarded_video::LoadAdLastResult().error() ==
    firebase::admob::kAdMobErrorNone) {
  // my_ad_parent is a reference to an iOS UIView or an Android Activity.
  // This is the parent UIView or Activity of the rewarded video.
  firebase::admob::rewarded_video::Show(my_ad_parent);
}

বিজ্ঞাপনের জীবনচক্র সংক্রান্ত ইভেন্টগুলি সম্পর্কে অবহিত হতে শ্রোতার ব্যবহার করুন

অ্যাডমব rewarded_video নেমস্পেস একটি বিমূর্ত Listener শ্রেণীর সরবরাহ করে যা আপনি SetListener() পদ্ধতিতে পুরষ্কার এবং পুরষ্কারযুক্ত ভিডিও উপস্থাপনের স্থিতির পরিবর্তনের বিষয়ে অবহিত করার জন্য পাস করতে পারেন pass

নীচে একটি বর্গ যে প্রসারিত করে একটি উদাহরণ বাস্তবায়ন Listener বিমূর্ত শ্রেণী:

// A simple listener that logs changes to rewarded video state.
class LoggingRewardedVideoListener
    : public firebase::admob::rewarded_video::Listener {
 public:
  LoggingRewardedVideoListener() {}
  void OnRewarded(firebase::admob::rewarded_video::RewardItem reward) override {
    LogMessage("Rewarding user with %f %s.", reward.amount,
               reward.reward_type.c_str());
  }
  void OnPresentationStateChanged(
      firebase::admob::rewarded_video::PresentationState state) override {
    LogMessage("Rewarded video PresentationState has changed to %d.", state);
  }
};

// After calling Initialize and waiting for the Initialize future to complete
// successfully, set the listener.
LoggingRewardedVideoListener rewarded_video_listener;
firebase::admob::rewarded_video::SetListener(&rewarded_video_listener);

পোল পুরষ্কার

rewarded_video PollableRewardListener নামের PollableRewardListener প্রদান PollableRewardListener , এমন একটি শ্রেণি যা আপনি SetListener() করে SetListener() পদ্ধতিতে পাস করতে পারেন। এই শ্রেণিটি বিমূর্ত Listener শ্রেণীর Listener না করে পুরষ্কারের জন্য বিকল্প বিকল্প সরবরাহ করে।

ভোটদান ভিত্তিক শ্রোতা মোবাইল বিজ্ঞাপন এসডিকে প্রদত্ত পুরষ্কারগুলি বজায় রাখতে একটি সারি ব্যবহার করে যা পরবর্তীতে পুনরুদ্ধার করা যায়। PollReward(RewardItem* reward) পদ্ধতি PollableRewardListener প্রাচীনতম সারিবদ্ধ পুরস্কার এবং কপি তার ডেটা উপলব্ধ মধ্যে পপ RewardItem struct হয়।

পুরষ্কারপ্রাপ্ত_ভিডিও: rewarded_video::PollableRewardListener ক্লাসটি ব্যবহার করে ভোটদানের পুরষ্কারের জন্য এখানে একটি উদাহরণ বাস্তবায়ন:

// After calling Initialize and waiting for the Initialize future to complete
// successfully, instantiate a PollableRewardListener object and set the listener.
firebase::admob::rewarded_video::PollableRewardListener* listener =
    new firebase::admob::rewarded_video::PollableRewardListener();

// Pass the PollableRewardListener object to the SetListener method.
firebase::admob::rewarded_video::SetListener(listener);

...
// Display the rewarded videos to users so they can earn rewards.
...

// Declare a RewardItem struct. Pass this RewardItem struct by reference to
// the PollReward method.
firebase::admob::rewarded_video::RewardItem reward;
// Call the PollReward method to see if a reward is available.
while (listener->PollReward(&reward)) {
  // A reward is available. Do something with the reward.
  printf("Reward user with %f %s.", reward.amount, reward.reward_type);
}

সাধারণ খেলা লুপ উদাহরণ

এখানে একটি সাধারণ গেম লুপ রয়েছে যা rewarded_video নামের জায়গাতে মেথড কলগুলির ট্র্যাক রাখতে একটি স্টেট মেশিন ব্যবহার করে:

namespace rewarded_video = firebase::admob::rewarded_video;

enum State {
  kNextStepInitialize,
  kNextStepLoadAd,
  kNextStepShowAd,
  kNextStepRewardUser,
  kNextStepRestartGame
}

// Instantiate a PollableRewardListener object.
firebase::admob::rewarded_video::PollableRewardListener* listener =
    new firebase::admob::rewarded_video::PollableRewardListener();

State state = kNextStepInitialize;
for ( ; ; ) /* game loop */ {
  switch (state) {
    case kNextStepInitialize:
      rewarded_video::Initialize();
      state = kNextStepLoadAd;
      break;
    case kNextStepLoadAd:
      if (rewarded_video::InitializeLastResult().status() ==
          firebase::kFutureStatusComplete &&
          rewarded_video::InitializeLastResult().error() ==
          firebase::admob::kAdMobErrorNone) {
        // Pass the PollableRewardListener object to the SetListener method.
        firebase::admob::rewarded_video::SetListener(listener);
        rewarded_video::LoadAd("YOUR_REWARDED_AD_UNIT_ID",
                               my_ad_request);
      }
      state = kNextStepShowAd;
      break;
    case kNextStepShowAd:
      if (rewarded_video::LoadAdLastResult().status() ==
          firebase::kFutureStatusComplete &&
          rewarded_video::LoadAdLastResult().error() ==
          firebase::admob::kAdMobErrorNone) {
        rewarded_video::Show(my_ad_parent);
      }

      if (rewarded_video::ShowLastResult().status() ==
          firebase::kFutureStatusComplete &&
          rewarded_video::ShowLastResult().error() ==
          firebase::admob::kAdMobErrorNone &&
          rewarded_video::presentation_state() ==
          rewarded_video::kPresentationStateHidden) {
        // If the rewarded video has been displayed to the user and
        // the user closed the ad, then reward the user.
        state = kNextStepRewardUser;
      }
      break;
    case kNextStepRewardUser:
      firebase::admob::rewarded_video::RewardItem reward;
      // Call the PollReward method to see if a reward is available.
      while (listener->PollReward(&reward)) {
        // A reward is available. Do something with the reward.
        printf("Reward user with %f %s.", reward.amount, reward.reward_type);
      }
      state = kNextStepRestartGame;
      break;
    case kNextStepRestartGame:
      // restart game
      break;
  }

  // render game
}

এরপর কি

পুরষ্কার প্রাপ্ত ভিডিও বিজ্ঞাপন সম্পর্কিত আরও তথ্যের জন্য আইওএস পুরষ্কার প্রাপ্ত ভিডিও এবং অ্যান্ড্রয়েড পুরষ্কার প্রাপ্ত ভিডিও দেখুন শুরু করুন।