in admob/tools/ios/testapp/testapp/game_engine.cpp [186:277]
void GameEngine::onUpdate() {
if (kTestBannerView) {
// Set the banner view listener.
if (banner_view_->InitializeLastResult().Status() ==
firebase::kFutureStatusComplete &&
banner_view_->InitializeLastResult().Error() ==
firebase::admob::kAdMobErrorNone &&
!banner_view_listener_set_) {
banner_view_->SetListener(&banner_listener);
banner_view_listener_set_ = true;
}
}
if (kTestNativeExpressAdView) {
// Set the native express ad view listener.
if (native_express_view_->InitializeLastResult().Status() ==
firebase::kFutureStatusComplete &&
native_express_view_->InitializeLastResult().Error() ==
firebase::admob::kAdMobErrorNone &&
!native_express_ad_view_listener_set_) {
native_express_view_->SetListener(&native_express_listener);
native_express_ad_view_listener_set_ = true;
}
}
if (kTestInterstitialAd) {
// Set the interstitial ad listener.
if (interstitial_ad_->InitializeLastResult().Status() ==
firebase::kFutureStatusComplete &&
interstitial_ad_->InitializeLastResult().Error() ==
firebase::admob::kAdMobErrorNone &&
!interstitial_ad_listener_set_) {
interstitial_ad_->SetListener(&interstitial_listener);
interstitial_ad_listener_set_ = true;
}
// Once the interstitial ad has been displayed to and dismissed by the user,
// create a new interstitial ad.
if (interstitial_ad_->ShowLastResult().Status() ==
firebase::kFutureStatusComplete &&
interstitial_ad_->ShowLastResult().Error() ==
firebase::admob::kAdMobErrorNone &&
interstitial_ad_->GetPresentationState() ==
firebase::admob::InterstitialAd::kPresentationStateHidden) {
delete interstitial_ad_;
interstitial_ad_ = nullptr;
interstitial_ad_ = new firebase::admob::InterstitialAd();
interstitial_ad_->Initialize(parent_view_, kInterstitialAdUnit);
interstitial_ad_listener_set_ = false;
}
}
if (kTestRewardedVideo) {
// Set the rewarded video listener.
if (rewarded_video::InitializeLastResult().Status() ==
firebase::kFutureStatusComplete &&
rewarded_video::InitializeLastResult().Error() ==
firebase::admob::kAdMobErrorNone &&
!rewarded_video_listener_set_) {
// && poll_listener == nullptr) {
rewarded_video::SetListener(&rewarded_listener);
rewarded_video_listener_set_ = true;
// poll_listener_ = new
// firebase::admob::rewarded_video::PollableRewardListener();
// rewarded_video::SetListener(poll_listener_);
}
// Once the rewarded video ad has been displayed to and dismissed by the
// user, create a new rewarded video ad.
if (rewarded_video::ShowLastResult().Status() ==
firebase::kFutureStatusComplete &&
rewarded_video::ShowLastResult().Error() ==
firebase::admob::kAdMobErrorNone &&
rewarded_video::GetPresentationState() ==
firebase::admob::rewarded_video::kPresentationStateHidden) {
rewarded_video::Destroy();
rewarded_video::Initialize();
rewarded_video_listener_set_ = false;
}
}
// Increment red if increasing, decrement otherwise.
float diff = bg_intensity_increasing_ ? 0.0025f : -0.0025f;
// Increment red up to 1.0, then back down to 0.0, repeat.
bg_intensity_ += diff;
if (bg_intensity_ >= 0.4f) {
bg_intensity_increasing_ = false;
} else if (bg_intensity_ <= 0.0f) {
bg_intensity_increasing_ = true;
}
}