package Ġcom . fro go box . ad mob . core Ċ Ċ import Ġandroid . content . Context Ċ import Ġandroidx . appcompat . app . AppCompatActivity Ċ import Ġcom . fro go box . ad mob . core . F ro go Ad mob Constant . REC Y CL ER _ VIEW _ ITEMS _ PER _ AD Ċ import Ġcom . fro go box . fro go log . F Log Ċ import Ġcom . google . android . gms . ads .* Ċ import Ġcom . google . android . gms . ads . inter stitial . Inter stitial Ad Ċ import Ġcom . google . android . gms . ads . inter stitial . Inter stitial Ad Load Callback Ċ import Ġcom . google . android . gms . ads . re warded . Rew arded Ad Ċ import Ġcom . google . android . gms . ads . re warded . Rew arded Ad Load Callback Ċ import Ġcom . google . android . gms . ads . re warded inter stitial . Rew arded Inter stitial Ad Ċ import Ġcom . google . android . gms . ads . re warded inter stitial . Rew arded Inter stitial Ad Load Callback ĊĊ Ċ /** Ċ Ġ* ĠCreated Ġby ĠF ais al ĠA mir Ċ Ġ* ĠF ro go Box ĠInc ĠLicense Ċ Ġ* Ġ================================= ======== Ċ Ġ* ĠImplementation Ad mob Ċ Ġ* ĠCopyright Ġ( C ) Ġ 3 1 / 1 0 / 2 0 1 9 . Ċ Ġ* ĠAll Ġrights Ġreserved Ċ Ġ* Ġ-------------------------------- --------- Ċ Ġ* ĠName ĠĠĠĠ Ġ: ĠMu ham mad ĠF ais al ĠA mir Ċ Ġ* ĠE - mail ĠĠ Ġ: Ġfa is alam ir cs @ gmail . com Ċ Ġ* ĠGithub ĠĠ Ġ: Ġgithub . com / am iris back Ċ Ġ* ĠLinked In Ġ: Ġlinked in . com / in / fa is alam ir cs Ċ Ġ* Ġ-------------------------------- --------- Ċ Ġ* ĠF ro go Box ĠSoftware ĠInd ust ries Ċ Ġ* Ġcom . fro go box . ad mob helper Ċ Ġ* Ċ Ġ*/ Ċ object ĠF ro go Ad mob Ġ: ĠIF ro go Ad mob Ġ{ ĊĊĠĠĠ Ġprivate Ġval ĠTAG Ġ= Ġ" F ro go Ad mob " ĊĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġad mob Publisher ID : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Ad Unit Id Inter stitial : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Ad Unit Id Banner : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Ad Unit Id Rew arded : ĠString ĊĠĠĠ Ġprivate Ġlateinit Ġvar Ġm Ad Unit Id Rew arded Inter stitial : ĠString ĊĊĠĠĠ Ġprivate Ġvar Ġm Inter stitial Ad : ĠInter stitial Ad ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġm Rew arded Ad : ĠRew arded Ad ? Ġ= Ġnull ĊĠĠĠ Ġprivate Ġvar Ġre warded Inter stitial Ad : ĠRew arded Inter stitial Ad ? Ġ= Ġnull ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Publisher ID ( m Publisher Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġad mob Publisher ID Ġ= Ġm Publisher Id ĊĠĠĠĠĠĠĠ ĠF Log . d (" Publisher ĠId Ġ: Ġ$ ad mob Publisher ID ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Banner Ad Unit ID ( m Ad Unit Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Ad Unit Id Banner Ġ= Ġm Ad Unit Id ĊĠĠĠĠĠĠĠ ĠF Log . d (" Banner ĠId Ġ: Ġ$ m Ad Unit Id Banner ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Inter st ial Ad Unit ID ( m Ad Unit Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Ad Unit Id Inter stitial Ġ= Ġm Ad Unit Id ĊĠĠĠĠĠĠĠ ĠF Log . d (" Inter stitial ĠId Ġ: Ġ$ m Ad Unit Id Inter stitial ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Rew arded Ad Unit ID ( m Ad Unit Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Ad Unit Id Rew arded Ġ= Ġm Ad Unit Id ĊĠĠĠĠĠĠĠ ĠF Log . d (" Rew arded ĠId Ġ: Ġ$ m Ad Unit Id Rew arded ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġoverride Ġfun Ġsetup Rew arded Inter stitial Ad Unit ID ( m Ad Unit Id : ĠString ) Ġ{ ĊĠĠĠĠĠĠĠ Ġm Ad Unit Id Rew arded Inter stitial Ġ= Ġm Ad Unit Id ĊĠĠĠĠĠĠĠ ĠF Log . d (" Rew arded ĠInter stitial ĠId Ġ: Ġ$ m Ad Unit Id Rew arded Inter stitial ") ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠPublisher Ġ: ĠIF ro go Ad mob . Publisher Ġ{ ĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup Publisher ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠMobile Ads . initialize ( context ) Ġ{} ĊĠĠĠĠĠĠĠ Ġ} ĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠBanner Ġ: ĠIF ro go Ad mob . Banner Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup Banner ( m Ad View : ĠAd View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Ad View . ad Listener Ġ= Ġobject Ġ: ĠAd Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( p 0 : ĠLoad Ad Error ) Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Opened () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Clicked () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Closed () Ġ{} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Banner ( m Ad View : ĠAd View ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġm Ad View . load Ad ( Ad Request . Builder (). build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠInter stitial Ġ: ĠIF ro go Ad mob . Inter stitial Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup Inter stitial ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġad Request Ġ= ĠAd Request . Builder (). build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠInter stitial Ad . load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Ad Unit Id Inter stitial , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad Request , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠInter stitial Ad Load Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( ad Error : ĠLoad Ad Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d ( ad Error . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġerror Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" domain : Ġ${ ad Error . domain }, Ġcode : Ġ${ ad Error . code }, Ġ" Ġ+ Ġ" message : Ġ${ ad Error . message }" ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" on Ad Failed To Load () Ġwith Ġerror Ġ$ error ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded ( inter stitial Ad : ĠInter stitial Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġwas Ġloaded .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġinter stitial Ad ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" on Ad Loaded () Ġsuccess ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Inter stitial ( activity : ĠAppCompatActivity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Inter stitial Ad Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad !!. full Screen Content Callback Ġ= Ġobject Ġ: ĠFull Screen Content Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Dis missed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġwas Ġdis missed .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDon 't Ġforget Ġto Ġset Ġthe Ġad Ġreference Ġto Ġnull Ġso Ġyou ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdon 't Ġshow Ġthe Ġad Ġa Ġsecond Ġtime . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsetup Inter stitial ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Show FullScreen Content ( ad Error : ĠAd Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġfailed Ġto Ġshow .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠDon 't Ġforget Ġto Ġset Ġthe Ġad Ġreference Ġto Ġnull Ġso Ġyou ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġdon 't Ġshow Ġthe Ġad Ġa Ġsecond Ġtime . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Show ed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġshowed Ġfullscreen Ġcontent .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCalled Ġwhen Ġad Ġis Ġdis missed . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Inter stitial Ad !!. show ( activity ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠRew arded Ġ: ĠIF ro go Ad mob . Rew arded Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup Rew arded ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġad Request Ġ= ĠAd Request . Builder (). build () ĊĊĠĠĠĠĠĠĠĠĠĠĠ ĠRew arded Ad . load ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcontext , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Ad Unit Id Rew arded , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad Request , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠRew arded Ad Load Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( ad Error : ĠLoad Ad Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d ( ad Error . message ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rew arded Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded ( re warded Ad : ĠRew arded Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġwas Ġloaded .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rew arded Ad Ġ= Ġre warded Ad ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rew arded Ad !!. full Screen Content Callback Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠFull Screen Content Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Show ed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCalled Ġwhen Ġad Ġis Ġshown . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġwas Ġshown .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Show FullScreen Content ( ad Error : ĠAd Error ?) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCalled Ġwhen Ġad Ġfails Ġto Ġshow . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġfailed Ġto Ġshow .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Dis missed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠCalled Ġwhen Ġad Ġis Ġdis missed . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġthe Ġad Ġreference Ġto Ġnull Ġso Ġyou Ġdon 't Ġshow Ġthe Ġad Ġa Ġsecond Ġtime . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" Ad Ġwas Ġdis missed .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rew arded Ad Ġ= Ġnull ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Rew arded ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity : ĠAppCompatActivity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : ĠIF ro go Ad mob . User E arn ed ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( m Rew arded Ad Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġm Rew arded Ad ?. show ( activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on User E arn ed Reward ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" The Ġre warded Ġad Ġwasn 't Ġready Ġyet .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠRew arded Inter stitial Ġ: ĠIF ro go Ad mob . Rew arded Inter stitial Ġ{ ĊĊĠĠĠĠĠĠĠ Ġval Ġad Request Ġ= ĠAd Request . Builder (). build () ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġsetup Rew arded Inter stitial ( context : ĠContext ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ ĠRew arded Inter stitial Ad . load ( context , Ġm Ad Unit Id Rew arded Inter stitial , Ġad Request , ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠRew arded Inter stitial Ad Load Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded ( ad : ĠRew arded Inter stitial Ad ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre warded Inter stitial Ad Ġ= Ġad ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre warded Inter stitial Ad !!. full Screen Content Callback Ġ= ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġobject Ġ: ĠFull Screen Content Callback () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĠCalled Ġwhen Ġthe Ġad Ġfailed Ġto Ġshow Ġfull Ġscreen Ġcontent . Ġ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Show FullScreen Content ( ad Error : ĠAd Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . i (" on Ad Failed To Show FullScreen Content ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĠCalled Ġwhen Ġad Ġshowed Ġthe Ġfull Ġscreen Ġcontent . Ġ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Show ed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . i (" on Ad Show ed FullScreen Content ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ/** ĠCalled Ġwhen Ġfull Ġscreen Ġcontent Ġis Ġdis missed . Ġ Ġ*/ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Dis missed FullScreen Content () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . i (" on Ad Dis missed FullScreen Content ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . e (" on Ad Loaded ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( load Ad Error : ĠLoad Ad Error ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . e (" on Ad Failed To Load ") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ}) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġshow Rew arded Inter stitial ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġactivity : ĠAppCompatActivity , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcallback : ĠIF ro go Ad mob . User E arn ed ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( re warded Inter stitial Ad Ġ!= Ġnull ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre warded Inter stitial Ad ?. show ( activity ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġcallback . on User E arn ed Reward ( it ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} Ġelse Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . d (" The Ġre warded Ġad Ġwasn 't Ġready Ġyet .") ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} ĊĊĠĠĠ Ġobject ĠRecyclerView Ġ: ĠIF ro go Ad mob . RecyclerView Ġ{ ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġload Recycler Banner Ads ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView DataList : ĠMutable List < Any > ĊĠĠĠĠĠĠĠ Ġ) Ġ{ Ġ// ĠLoad Ġthe Ġfirst Ġbanner Ġad Ġin Ġthe Ġitems Ġlist Ġ( sub sequent Ġads Ġwill Ġbe Ġloaded Ġautomatically Ġin Ġsequence ). ĊĠĠĠĠĠĠĠĠĠĠĠ Ġadd Banner Ads ( context , Ġre cyclerView DataList ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġload Banner Ad ( re cyclerView DataList , Ġ 0 ) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġadd Banner Ads ( ĊĠĠĠĠĠĠĠĠĠĠĠ Ġcontext : ĠContext , ĊĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView DataList : ĠMutable List < Any > ĊĠĠĠĠĠĠĠ Ġ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLoop Ġthrough Ġthe Ġitems Ġarray Ġand Ġplace Ġa Ġnew Ġbanner Ġad Ġin Ġevery Ġ ith Ġposition Ġin Ġthe Ġitems ĠList . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġvar Ġi Ġ= Ġ 0 ĊĠĠĠĠĠĠĠĠĠĠĠ Ġwhile Ġ( i Ġ<= Ġre cyclerView DataList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġad View Ġ= ĠAd View ( context ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad View . ad Size Ġ= ĠAd Size . BAN NER ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġad View . ad Unit Id Ġ= Ġm Ad Unit Id Banner ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġre cyclerView DataList . add ( i , Ġad View ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġi Ġ+= ĠRE CY CL ER _ VIEW _ ITEMS _ PER _ AD ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠ Ġoverride Ġfun Ġload Banner Ad ( re cyclerView DataList : ĠMutable List < Any >, Ġindex : ĠInt ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠ Ġif Ġ( index Ġ>= Ġre cyclerView DataList . size ) Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġreturn ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġitem : ĠAny Ġ= Ġre cyclerView DataList . get ( index ) Ġas ? ĠAd View ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ?: Ġthrow ĠClass CastException ( ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ" Expected Ġitem Ġat Ġindex Ġ" Ġ+ Ġindex Ġ+ Ġ" Ġto Ġbe Ġa Ġbanner Ġad " ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ+ Ġ" Ġad ." ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ) ĊĠĠĠĠĠĠĠĠĠĠĠ Ġval Ġad View Ġ= Ġitem Ġas ĠAd View ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠSet Ġan ĠAd Listener Ġon Ġthe ĠAd View Ġto Ġwait Ġfor Ġthe Ġprevious Ġbanner Ġad Ġto Ġfinish Ġloading Ġbefore Ġloading Ġthe Ġnext Ġad Ġin Ġthe Ġitems Ġlist . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . ad Listener Ġ= Ġobject Ġ: ĠAd Listener () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Loaded () Ġ{ ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġsuper . on Ad Loaded () ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠThe Ġprevious Ġbanner Ġad Ġloaded Ġsuccessfully , Ġcall Ġthis Ġmethod Ġagain Ġto ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ// Ġload Ġthe Ġnext Ġad Ġin Ġthe Ġitems Ġlist . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Banner Ad ( re cyclerView DataList , Ġindex Ġ+ ĠRE CY CL ER _ VIEW _ ITEMS _ PER _ AD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġoverride Ġfun Ġon Ad Failed To Load ( p 0 : ĠLoad Ad Error ) Ġ{ Ġ// ĠThe Ġprevious Ġbanner Ġad Ġfailed Ġto Ġload . ĠCall Ġthis Ġmethod Ġagain Ġto Ġload Ġthe Ġnext Ġad Ġin Ġthe Ġitems Ġlist . ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ ĠF Log . e (" The Ġprevious Ġbanner Ġad Ġfailed Ġto Ġload . ĠAt tempting Ġto Ġload Ġthe Ġnext Ġbanner Ġad Ġin Ġthe Ġitems Ġlist .") ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġload Banner Ad ( re cyclerView DataList , Ġindex Ġ+ ĠRE CY CL ER _ VIEW _ ITEMS _ PER _ AD ) ĊĠĠĠĠĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ} ĊĠĠĠĠĠĠĠĠĠĠĠ Ġ// ĠLoad Ġthe Ġbanner Ġad . ĊĠĠĠĠĠĠĠĠĠĠĠ Ġad View . load Ad ( Ad Request . Builder (). build ()) ĊĠĠĠĠĠĠĠ Ġ} ĊĊĠĠĠ Ġ} Ċ Ċ }