参考にしたサイトなどはじめにPythonのGUIフレームワークであるKivyを使ってAndroidアプリを作っていまして、AdMobの広告表示のためにKivMobというツールを使用しています。19.4.0から21.4.0に更新しようとしたのですが、どうやらGoogleのAdMob広告関連APIの仕様変更(1、2年前だけど)の影響を受けていて、KivMobでのインタースティシャル広告とリワード広告がエラーになって表示されないようになっていました。(ちなみにバナー広告は表示できました。21.4.0を組み込んでAdMobの広告を正常に表示する方法を試行錯誤したときの備忘録です。なんとかできましたよ、と。うまくいったコードを記事の下の方に載せていますので、ご興味ありましたらライセンス遵守下でご自由にお使いください。21.4.0に上げることにしました。'_interstitial’などど言われて、これまで出ていたはずの広告が表示されないようになっているのでした。バナー広告は表示されるのですが、インタースティシャル広告と動画リワード広告の両方ともダメ(これら以外は使ってないので未確認です)。GoogleのAdMob広告関連のAPIに変更があったみたいでその影響のようでした。ちなみに「動画リワード広告(RewardedVideoAd)」だったものはどうやら「リワード広告(RewardedAd)」ってのに変わってました。ええ、それはもう随分と前に(2021年から2022年にかけてっぽい)。インタースティシャル広告リワード広告どうやら跡形もなくなるくらい仕様変更されている模様。firebase-adsの19.4.0と21.4.0ではギャップがすごいのね。いいや、どうせPythonのクラス名とかをちょちょいと修正するくらいで何とかなるんじゃないの?と、軽く考えていましたら、よく見たら必要なAPIが抽象クラスになってやがんの。19.4.0)はAdMobの広告表示に必要なAPIが具象クラスとインターフェースだけでできていたから(多分)、Pyjniusを使ってほぼそのままPython側に引っ張ってくることができていたのですが、抽象クラスの場合はそれができないようで、、、https://github.com/Android-for-Python/Android-for-Python-Users#java-abstract-classesすんなりPythonに持って来れないのですと。Javaをいじらないといけないらしい。カレーしか知らないですよワタシ。あと、コールバック関数はPythonにどうやって落とし込むのよこれ、全くわからんぞ。いう状況でしたが、あれやこれや調べて試行錯誤してなんとかできました。すみません長くなりました。概要だいたいこんな感じにKivMob周辺を改変しました。コードについての詳細はコードのコメント行をご参照ください。(Android)のAPIの仕様に沿うように追記修正なお、追記修正したファイル名をkivmob_mod.pyとしました。対応する広告読み込み/表示用関数などの作成main.pyに設置した広告関連の関数を発動する仕組みの作成ここではmain.kvファイルにて、広告のロードや表示をする関数を発動させるボタンを定義しました。androidx.activity:activity:1.6.1他、KivMob公式を参考にして記載コードコードの中のコメント行に説明などを記載しています(過不足あるかと思いますが)。冒頭の動画をご覧ください。おわりにはい、Kivyで作ったAndroidアプリにKivMobでAdMobの広告を表示したときの試行錯誤、の巻でした。これでしばらくはKivyのAndroidアプリでの広告表示を継続できそうです。勉強不足でまだ理解が追いついていませんが、今後また同じようなケースが起こったときも何とかなりそうな感じがしています。以上、もしかしたらどなたかの役に立つかもしれないので記事にしてみました。SOFTWARE.参考にしたサイトなど*本文中に記載しているものは割愛している場合があります。投稿一覧いろいろあって現在ほぼ主夫。そんなワタシがVUCAな日々を奮闘する中で気付いたり感じたりしたことの記録です。ニッチなところでうっかり誰かのお役にたてればうれしい。*Amazonのアソシエイトとして、buは適格販売により収入を得ています。2020.07.12タイトルママで、mplfinanceでローソク足(candlestick)チャートを描画した時のスタイルのメモです。使用して、お客様の好みや繰り返しのアクセスを記憶することで、最も適切なエクスペリエンスを提供します。使用に同意したことになります。設定」にアクセスして、管理された同意を提供することができます。