質問をすることでしか得られない、回答やアドバイスがある。

15分調べてもわからないことは、質問しよう!

新規登録して質問してみよう
ただいま回答率
85.48%
AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

Q&A

0回答

1318閲覧

AndroidアプリでAdMobのリワード広告が読み込めない

ketami533

総合スコア0

AdMob

AdMobは、事前に指定した条件に従ってアプリに広告を表示するGoogleのサービス。開発者の向けのサービスで、広告を掲載することにより、収益を得ることが可能です。その他、見た目や雰囲気などアプリに合う広告に変更したり、広告表示の場所を指定することもできます。

Java

Javaは、1995年にサン・マイクロシステムズが開発したプログラミング言語です。表記法はC言語に似ていますが、既存のプログラミング言語の短所を踏まえていちから設計されており、最初からオブジェクト指向性を備えてデザインされています。セキュリティ面が強力であることや、ネットワーク環境での利用に向いていることが特徴です。Javaで作られたソフトウェアは基本的にいかなるプラットフォームでも作動します。

Android

Androidは、Google社が開発したスマートフォンやタブレットなど携帯端末向けのプラットフォームです。 カーネル・ミドルウェア・ユーザーインターフェイス・ウェブブラウザ・電話帳などのアプリケーションやソフトウェアをひとつにまとめて構成。 カーネル・ライブラリ・ランタイムはほとんどがC言語/C++、アプリケーションなどはJavaSEのサブセットとAndroid環境で書かれています。

Android Studio

Android Studioは、 Google社によって開発された、 Androidのネイティブアプリケーション開発に特化した統合開発ツールです。

Google

Googleは、アメリカ合衆国に位置する、インターネット関連のサービスや製品を提供している企業です。検索エンジンからアプリケーションの提供まで、多岐にわたるサービスを提供しています。

0グッド

0クリップ

投稿2021/02/24 11:08

前提・実現したいこと

アプリ内にボタンを押すことで発生するリワード広告を実装したいのですが、ボタンを押すとアプリが落ちてしまいます。
on null object referenceとあることと、if文の条件をrewarded != nullするとelseの結果となることから、rewardedAdの読み込みがうまくいってないのかと思ったのですが調べても解決に至りませんでした。
プログラミングを初めてまだ1ヶ月足らずで、稚拙な質問かもしれませんが答えていただけたら幸いです。よろしくお願いいたします。

発生している問題・エラーメッセージ

E/AndroidRuntime: FATAL EXCEPTION: main Process: com.example.pokeran, PID: 16331 java.lang.NullPointerException: Attempt to invoke virtual method 'boolean com.google.android.gms.ads.rewarded.RewardedAd.isLoaded()' on a null object reference

該当のソースコード

java

1import android.os.Bundle; 2import android.util.Log; 3import android.widget.Button; 4 5import androidx.annotation.NonNull; 6import androidx.appcompat.app.AppCompatActivity; 7import androidx.fragment.app.FragmentManager; 8import androidx.fragment.app.FragmentTransaction; 9 10import com.google.android.gms.ads.AdRequest; 11import com.google.android.gms.ads.LoadAdError; 12import com.google.android.gms.ads.MobileAds; 13import com.google.android.gms.ads.OnUserEarnedRewardListener; 14import com.google.android.gms.ads.rewarded.RewardItem; 15import com.google.android.gms.ads.rewarded.RewardedAd; 16import com.google.android.gms.ads.rewarded.RewardedAdLoadCallback; 17 18 19public class MainActivity extends AppCompatActivity { 20 21 public LoadAdError adError; 22 public RewardedAd rewardedAd; 23 24 25 @Override 26 protected void onCreate(Bundle savedInstanceState) { 27 super.onCreate(savedInstanceState); 28 setContentView(R.layout.activity_main); 29 RewardedAd.load(this, 30 "ca-app-pub-3940256099942544/5224354917", 31 new AdRequest.Builder().build(), 32 new RewardedAdLoadCallback() { 33 @Override 34 public void onAdLoaded(RewardedAd Ad) { 35 rewardedAd = Ad; 36 Log.d("TAG", "The rewarded ad loaded."); 37 } 38 39 @Override 40 public void onAdFailedToLoad(LoadAdError adError) { 41 Log.d("TAG", "The rewarded ad wasn't loaded yet."); 42 } 43 }); 44 45 Button kButton = findViewById(R.id.Kanto); 46 kButton.setOnClickListener( v -> { 47 if (rewardedAd.isLoaded()) { 48 49 rewardedAd.show( 50 this, 51 new OnUserEarnedRewardListener() { 52 @Override 53 public void onUserEarnedReward(@NonNull RewardItem rewardItem) { 54 55 } 56 }); 57 } else { 58 Log.d("TAG", "The rewarded ad wasn't loaded yet."); 59 } 60 });

試したこと

Google API for developersにあるソースコードを真似て書いたりもしましたが、結果は変わらずでした。
https://developers.google.com/android/reference/com/google/android/gms/ads/rewarded/RewardedAd

また下記ページを参考に Mobile Ads SDKの導入も完了しております。
https://firebase.google.com/docs/admob/android/quick-start?hl=ja

補足情報(FW/ツールのバージョンなど)

Android Studio ver4.12

気になる質問をクリップする

クリップした質問は、後からいつでもMYページで確認できます。

またクリップした質問に回答があった際、通知やメールを受け取ることができます。

バッドをするには、ログインかつ

こちらの条件を満たす必要があります。

guest

あなたの回答

tips

太字

斜体

打ち消し線

見出し

引用テキストの挿入

コードの挿入

リンクの挿入

リストの挿入

番号リストの挿入

表の挿入

水平線の挿入

プレビュー

まだ回答がついていません

会員登録して回答してみよう

アカウントをお持ちの方は

15分調べてもわからないことは
teratailで質問しよう!

ただいまの回答率
85.48%

質問をまとめることで
思考を整理して素早く解決

テンプレート機能で
簡単に質問をまとめる

質問する

関連した質問