Даем пользователю приложения игровую валюту с помощью AdMob Rewarded Video |
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);
}
}
Только зарегистрированные пользователи могут участвовать в опросе. Войдите, пожалуйста.
Комментировать | « Пред. запись — К дневнику — След. запись » | Страницы: [1] [Новые] |