compile 'com.google.firebase:firebase-core:10.2.0' compile 'com.google.firebase:firebase-ads:10.2.0'
public class App extends Application { @Override public void onCreate() { super.onCreate(); MobileAds.initialize(this, Constants.ADMOB_ID); } }
class Constants { private Constants() { throw new AssertionError(); } static final String PREF_COINS = "pref_coins"; static final String ADMOB_ID = "YOUR_ADMOB_ACCOUNT_ID_HERE"; static final String AD_MOB_REWARDED_VIDEO_ID = "YOUR_ADMOB_ADD_ID"; static final int REWARD_FOR_VIDEO = 20; }
public class MainActivity extends AppCompatActivity { private AdRequest mAdRequest; private RewardedVideoAd mRewardedVideoAd; private SharedPreferences mSharedPreferences; private TextView mTextCoins; private Button mButtonVideo; private int coins; @Override protected void onCreate(Bundle savedInstanceState) { super.onCreate(savedInstanceState); mSharedPreferences = PreferenceManager.getDefaultSharedPreferences(this); coins = mSharedPreferences.getInt(PREF_COINS, 0); setContentView(R.layout.activity_main); mButtonVideo = (Button) findViewById(R.id.btn_video); mButtonVideo.setOnClickListener(clickListener); mButtonVideo.setEnabled(false); findViewById(R.id.btn_game).setOnClickListener(clickListener); mTextCoins = (TextView) findViewById(R.id.tv_coins); mTextCoins.setText(getResources().getQuantityString(R.plurals.coins, coins, coins)); //AdMob Rewarded Video mRewardedVideoAd = MobileAds.getRewardedVideoAdInstance(this); mRewardedVideoAd.setRewardedVideoAdListener(rewardedVideoAdListener); mAdRequest = new AdRequest.Builder() .addTestDevice(AdRequest.DEVICE_ID_EMULATOR) .build(); loadRewardVideo(); View.OnClickListener clickListener = new View.OnClickListener() { @Override public void onClick(View v) { switch (v.getId()) { case R.id.btn_video: if (mRewardedVideoAd.isLoaded()) { mRewardedVideoAd.show(); } break; case R.id.btn_game: coins++; mTextCoins.setText(getResources().getQuantityString(R.plurals.coins, coins, coins)); break; } } }; private void loadRewardVideo() { mRewardedVideoAd.loadAd(AD_MOB_REWARDED_VIDEO_ID, mAdRequest); } }
private RewardedVideoAdListener rewardedVideoAdListener = new RewardedVideoAdListener() { @Override public void onRewardedVideoAdLoaded() { mButtonVideo.setEnabled(true); } @Override public void onRewardedVideoAdOpened() { } @Override public void onRewardedVideoStarted() { } @Override public void onRewardedVideoAdClosed() { mButtonVideo.setEnabled(false); loadRewardVideo(); } @Override public void onRewarded(RewardItem rewardItem) { coins += REWARD_FOR_VIDEO; mTextCoins.setText(getResources().getQuantityString(R.plurals.coins, coins, coins)); String msg = getResources().getQuantityString(R.plurals.congrats, REWARD_FOR_VIDEO, REWARD_FOR_VIDEO); Toast.makeText(MainActivity.this, msg, Toast.LENGTH_SHORT).show(); mSharedPreferences.edit().putInt(PREF_COINS, coins).apply(); } @Override public void onRewardedVideoAdLeftApplication() { } @Override public void onRewardedVideoAdFailedToLoad(int i) { } };
@Override protected void onPause() { super.onPause(); mSharedPreferences.edit().putInt(PREF_COINS, coins).apply(); if (mRewardedVideoAd != null) { mRewardedVideoAd.pause(this); } } @Override protected void onResume() { super.onResume(); if (mRewardedVideoAd !=null) { mRewardedVideoAd.resume(this); } } @Override protected void onDestroy() { super.onDestroy(); if (mRewardedVideoAd != null) { mRewardedVideoAd.destroy(this); } }
Source: https://habr.com/ru/post/335008/
All Articles