Java 从AdMob帐户加载广告时出现问题
我的贴纸应用程序与测试广告和来自active AdMob的广告完美配合。但当我最近限制AdMob时,我的应用程序开始出现活动问题,当我从应用程序打开它时,它会在半秒或更短时间后立即关闭,瞧,活动源代码Java 从AdMob帐户加载广告时出现问题,java,android,Java,Android,我的贴纸应用程序与测试广告和来自active AdMob的广告完美配合。但当我最近限制AdMob时,我的应用程序开始出现活动问题,当我从应用程序打开它时,它会在半秒或更短时间后立即关闭,瞧,活动源代码 请注意,我在该活动中有两个间隙-横幅已停用 多谢各位 package com.maryapps.loveStickers; import android.content.Intent; import android.net.Uri; import android
请注意,我在该活动中有两个间隙-横幅已停用
多谢各位
package com.maryapps.loveStickers;
import android.content.Intent;
import android.net.Uri;
import android.os.AsyncTask;
import android.os.Bundle;
import android.text.format.Formatter;
import android.util.Log;
import android.view.Menu;
import android.view.MenuItem;
import android.view.View;
import android.view.ViewTreeObserver;
import android.widget.ImageView;
import android.widget.TextView;
import androidx.annotation.NonNull;
import androidx.recyclerview.widget.GridLayoutManager;
import androidx.recyclerview.widget.RecyclerView;
import com.facebook.drawee.view.SimpleDraweeView;
import com.google.android.gms.ads.AdError;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
import com.google.android.gms.ads.FullScreenContentCallback;
import com.google.android.gms.ads.LoadAdError;
import com.google.android.gms.ads.interstitial.InterstitialAd;
import com.google.android.gms.ads.interstitial.InterstitialAdLoadCallback;
import java.lang.ref.WeakReference;
public class StickerPackDetailsActivity extends AddStickerPackActivity {
/**
* Do not change below values of below 3 lines as this is also used by WhatsApp
*/
public static final String EXTRA_STICKER_PACK_ID = "sticker_pack_id";
public static final String EXTRA_STICKER_PACK_AUTHORITY = "sticker_pack_authority";
public static final String EXTRA_STICKER_PACK_NAME = "sticker_pack_name";
public static final String EXTRA_STICKER_PACK_WEBSITE = "sticker_pack_website";
private InterstitialAd mInterstitialAd;
public static final String EXTRA_STICKER_PACK_EMAIL = "sticker_pack_email";
public static final String EXTRA_STICKER_PACK_PRIVACY_POLICY = "sticker_pack_privacy_policy";
public static final String EXTRA_STICKER_PACK_LICENSE_AGREEMENT = "sticker_pack_license_agreement";
public static final String EXTRA_STICKER_PACK_TRAY_ICON = "sticker_pack_tray_icon";
public static final String EXTRA_SHOW_UP_BUTTON = "show_up_button";
public static final String EXTRA_STICKER_PACK_DATA = "sticker_pack";
private RecyclerView recyclerView;
private GridLayoutManager layoutManager;
private StickerPreviewAdapter stickerPreviewAdapter;
private int numColumns;
private AdView mAdView;
private View addButton;
private View alreadyAddedText;
private StickerPack stickerPack;
private View divider;
private WhiteListCheckAsyncTask whiteListCheckAsyncTask;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_sticker_pack_details);
boolean showUpButton = getIntent().getBooleanExtra(EXTRA_SHOW_UP_BUTTON, false);
stickerPack = getIntent().getParcelableExtra(EXTRA_STICKER_PACK_DATA);
TextView packNameTextView = findViewById(R.id.pack_name);
TextView packPublisherTextView = findViewById(R.id.author);
ImageView packTrayIcon = findViewById(R.id.tray_image);
TextView packSizeTextView = findViewById(R.id.pack_size);
SimpleDraweeView expandedStickerView = findViewById(R.id.sticker_details_expanded_sticker);
//Banner in sticker pack details
/*
mAdView = findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().build();
mAdView.loadAd(adRequest);
*/
admobinter2();
addButton = findViewById(R.id.add_to_whatsapp_button);
alreadyAddedText = findViewById(R.id.already_added_text);
layoutManager = new GridLayoutManager(this, 1);
recyclerView = findViewById(R.id.sticker_list);
recyclerView.setLayoutManager(layoutManager);
recyclerView.getViewTreeObserver().addOnGlobalLayoutListener(pageLayoutListener);
recyclerView.addOnScrollListener(dividerScrollListener);
divider = findViewById(R.id.divider);
if (stickerPreviewAdapter == null) {
stickerPreviewAdapter = new StickerPreviewAdapter(getLayoutInflater(), R.drawable.sticker_error, getResources().getDimensionPixelSize(R.dimen.sticker_pack_details_image_size), getResources().getDimensionPixelSize(R.dimen.sticker_pack_details_image_padding), stickerPack, expandedStickerView);
recyclerView.setAdapter(stickerPreviewAdapter);
}
packNameTextView.setText(stickerPack.name);
packPublisherTextView.setText(stickerPack.publisher);
packTrayIcon.setImageURI(StickerPackLoader.getStickerAssetUri(stickerPack.identifier, stickerPack.trayImageFile));
packSizeTextView.setText(Formatter.formatShortFileSize(this, stickerPack.getTotalSize()));
addButton.setOnClickListener(new View.OnClickListener() {
@Override
public void onClick(View v) {
request();
addStickerPackToWhatsApp(stickerPack.identifier, stickerPack.name);
}
});
if (getSupportActionBar() != null) {
getSupportActionBar().setDisplayHomeAsUpEnabled(showUpButton);
getSupportActionBar().setTitle(showUpButton ? getResources().getString(R.string.title_activity_sticker_pack_details_multiple_pack) : getResources().getQuantityString(R.plurals.title_activity_sticker_packs_list, 1));
}
findViewById(R.id.sticker_pack_animation_indicator).setVisibility(stickerPack.animatedStickerPack ? View.VISIBLE : View.GONE);
}
private void launchInfoActivity(String publisherWebsite, String publisherEmail, String privacyPolicyWebsite, String licenseAgreementWebsite, String trayIconUriString) {
Intent intent = new Intent(StickerPackDetailsActivity.this, StickerPackInfoActivity.class);
intent.putExtra(StickerPackDetailsActivity.EXTRA_STICKER_PACK_ID, stickerPack.identifier);
intent.putExtra(StickerPackDetailsActivity.EXTRA_STICKER_PACK_WEBSITE, publisherWebsite);
intent.putExtra(StickerPackDetailsActivity.EXTRA_STICKER_PACK_EMAIL, publisherEmail);
intent.putExtra(StickerPackDetailsActivity.EXTRA_STICKER_PACK_PRIVACY_POLICY, privacyPolicyWebsite);
intent.putExtra(StickerPackDetailsActivity.EXTRA_STICKER_PACK_LICENSE_AGREEMENT, licenseAgreementWebsite);
intent.putExtra(StickerPackDetailsActivity.EXTRA_STICKER_PACK_TRAY_ICON, trayIconUriString);
startActivity(intent);
}
@Override
public boolean onCreateOptionsMenu(Menu menu) {
getMenuInflater().inflate(R.menu.toolbar, menu);
return super.onCreateOptionsMenu(menu);
}
@Override
public boolean onOptionsItemSelected(MenuItem item) {
if (item.getItemId() == R.id.action_info && stickerPack != null) {
Uri trayIconUri = StickerPackLoader.getStickerAssetUri(stickerPack.identifier, stickerPack.trayImageFile);
launchInfoActivity(stickerPack.publisherWebsite, stickerPack.publisherEmail, stickerPack.privacyPolicyWebsite, stickerPack.licenseAgreementWebsite, trayIconUri.toString());
return true;
}
return super.onOptionsItemSelected(item);
}
private final ViewTreeObserver.OnGlobalLayoutListener pageLayoutListener = new ViewTreeObserver.OnGlobalLayoutListener() {
@Override
public void onGlobalLayout() {
setNumColumns(recyclerView.getWidth() / recyclerView.getContext().getResources().getDimensionPixelSize(R.dimen.sticker_pack_details_image_size));
}
};
private void setNumColumns(int numColumns) {
if (this.numColumns != numColumns) {
layoutManager.setSpanCount(numColumns);
this.numColumns = numColumns;
if (stickerPreviewAdapter != null) {
stickerPreviewAdapter.notifyDataSetChanged();
}
}
}
private final RecyclerView.OnScrollListener dividerScrollListener = new RecyclerView.OnScrollListener() {
@Override
public void onScrollStateChanged(@NonNull final RecyclerView recyclerView, final int newState) {
super.onScrollStateChanged(recyclerView, newState);
updateDivider(recyclerView);
}
@Override
public void onScrolled(@NonNull final RecyclerView recyclerView, final int dx, final int dy) {
super.onScrolled(recyclerView, dx, dy);
updateDivider(recyclerView);
}
private void updateDivider(RecyclerView recyclerView) {
boolean showDivider = recyclerView.computeVerticalScrollOffset() > 0;
if (divider != null) {
divider.setVisibility(showDivider ? View.VISIBLE : View.INVISIBLE);
}
}
};
public void request(){
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this,getString(R.string.admobinter), adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The mInterstitialAd reference will be null until
// an ad is loaded.
mInterstitialAd = interstitialAd;
if (mInterstitialAd != null) {
mInterstitialAd.show(StickerPackDetailsActivity.this);
}
mInterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d("TAG", "The ad failed to show.");
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
// Make sure to set your reference to null so you don't
// show it a second time.
mInterstitialAd = null;
Log.d("TAG", "The ad was shown.");
}
});
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
mInterstitialAd = null;
}
});
}
@Override
protected void onResume() {
super.onResume();
whiteListCheckAsyncTask = new WhiteListCheckAsyncTask(this);
whiteListCheckAsyncTask.execute(stickerPack);
}
private InterstitialAd m2InterstitialAd;
public void admobinter2(){
AdRequest adRequest = new AdRequest.Builder().build();
InterstitialAd.load(this,getString(R.string.admobinter2), adRequest, new InterstitialAdLoadCallback() {
@Override
public void onAdLoaded(@NonNull InterstitialAd interstitialAd) {
// The m2InterstitialAd reference will be null until
// an ad is loaded.
m2InterstitialAd = interstitialAd;
m2InterstitialAd.setFullScreenContentCallback(new FullScreenContentCallback(){
@Override
public void onAdDismissedFullScreenContent() {
// Called when fullscreen content is dismissed.
finish();
}
@Override
public void onAdFailedToShowFullScreenContent(AdError adError) {
// Called when fullscreen content failed to show.
Log.d("TAG", "The ad failed to show.");
finish();
}
@Override
public void onAdShowedFullScreenContent() {
// Called when fullscreen content is shown.
// Make sure to set your reference to null so you don't
// show it a second time.
m2InterstitialAd = null;
Log.d("TAG", "The ad was shown.");
}
});
}
@Override
public void onAdFailedToLoad(@NonNull LoadAdError loadAdError) {
// Handle the error
finish();
m2InterstitialAd = null;
}
});
}
@Override
protected void onPause() {
super.onPause();
if (whiteListCheckAsyncTask != null && !whiteListCheckAsyncTask.isCancelled()) {
whiteListCheckAsyncTask.cancel(true);
}
}
@Override
public void onBackPressed() {
if (m2InterstitialAd != null) {
m2InterstitialAd.show(StickerPackDetailsActivity.this);
}
}
private void updateAddUI(Boolean isWhitelisted) {
if (isWhitelisted) {
addButton.setVisibility(View.GONE);
alreadyAddedText.setVisibility(View.VISIBLE);
findViewById(R.id.sticker_pack_details_tap_to_preview).setVisibility(View.GONE);
} else {
addButton.setVisibility(View.VISIBLE);
alreadyAddedText.setVisibility(View.GONE);
findViewById(R.id.sticker_pack_details_tap_to_preview).setVisibility(View.VISIBLE);
}
}
static class WhiteListCheckAsyncTask extends AsyncTask<StickerPack, Void, Boolean> {
private final WeakReference<StickerPackDetailsActivity> stickerPackDetailsActivityWeakReference;
WhiteListCheckAsyncTask(StickerPackDetailsActivity stickerPackListActivity) {
this.stickerPackDetailsActivityWeakReference = new WeakReference<>(stickerPackListActivity);
}
@Override
protected final Boolean doInBackground(StickerPack... stickerPacks) {
StickerPack stickerPack = stickerPacks[0];
final StickerPackDetailsActivity stickerPackDetailsActivity = stickerPackDetailsActivityWeakReference.get();
if (stickerPackDetailsActivity == null) {
return false;
}
return WhitelistCheck.isWhitelisted(stickerPackDetailsActivity, stickerPack.identifier);
}
@Override
protected void onPostExecute(Boolean isWhitelisted) {
final StickerPackDetailsActivity stickerPackDetailsActivity = stickerPackDetailsActivityWeakReference.get();
if (stickerPackDetailsActivity != null) {
stickerPackDetailsActivity.updateAddUI(isWhitelisted);
}
}
}
}
package com.maryapps.loveStickers;
导入android.content.Intent;
导入android.net.Uri;
导入android.os.AsyncTask;
导入android.os.Bundle;
导入android.text.format.Formatter;
导入android.util.Log;
导入android.view.Menu;
导入android.view.MenuItem;
导入android.view.view;
导入android.view.ViewTreeObserver;
导入android.widget.ImageView;
导入android.widget.TextView;
导入androidx.annotation.NonNull;
导入androidx.recyclerview.widget.GridLayoutManager;
导入androidx.recyclerview.widget.recyclerview;
导入com.facebook.drawee.view.simpledraweview;
导入com.google.android.gms.ads.AdError;
导入com.google.android.gms.ads.AdRequest;
导入com.google.android.gms.ads.AdView;
导入com.google.android.gms.ads.FullScreenContentCallback;
导入com.google.android.gms.ads.loaderror;
导入com.google.android.gms.ads.interstitual.interstituralad;
导入com.google.android.gms.ads.interstitual.interstitularaldloadcallback;
导入java.lang.ref.WeakReference;
公共类StickPackDetailsActivity扩展了AddStickPackaActivity{
/**
*请勿更改低于3行的值,因为WhatsApp也会使用该值
*/
公共静态最终字符串额外\u贴纸\u包装\u ID=“贴纸\u包装\u ID”;
公共静态最终字符串额外贴纸包装授权=“贴纸包装授权”;
公共静态最终字符串额外贴纸包装名称=“贴纸包装名称”;
公共静态最终字符串额外贴纸包装网站=“贴纸包装网站”;
私人间质;
公共静态最终字符串额外贴纸包装电子邮件=“贴纸包装电子邮件”;
公共静态最终字符串额外\u贴纸\u包装\u隐私\u策略=“贴纸\u包装\u隐私\u策略”;
公共静态最终字符串额外\u标签\u包装\u许可协议=“标签\u包装\u许可协议”;
公共静态最终字符串附加标签包装托盘图标=“标签包装托盘图标”;
公共静态最终字符串额外显示按钮=“显示按钮”;
公共静态最终字符串额外贴纸包装数据=“贴纸包装”;
私人回收站;
私有网格布局管理器布局管理器;
私人贴纸预览贴纸预览贴纸;
私人国际专栏;
私人顾问马德维尤;
私有视图添加按钮;
私有视图已添加文本;
私人贴纸包;
私视分割器;
私有WhiteListCheckAsyncTask WhiteListCheckAsyncTask;
@凌驾
创建时受保护的void(Bundle savedInstanceState){
super.onCreate(savedInstanceState);
setContentView(R.layout.activity\u标签\u包装\u详细信息);
boolean showUpButton=getIntent().getBooleanExtra(EXTRA_SHOW_UP_按钮,false);
贴纸包装=getIntent().getParcelableExtra(额外贴纸包装数据);
TextView packNameTextView=findviewbyd(R.id.pack_name);
TextView packPublisherTextView=findViewById(R.id.author);
ImageView packTrayIcon=findViewById(R.id.tray_图像);
TextView packSizeTextView=findViewById(R.id.pack_size);
SimpleDraweView ExpandedStackerView=findViewById(R.id.Stacker\u details\u expanded\u Stacker);
//贴纸包装中的横幅详细信息
/*
mAdView=findviewbyd(R.id.adView);
AdRequest AdRequest=新建AdRequest.Builder().build();
mAdView.loadAd(adRequest);
*/
admobinter2();
addButton=findViewById(R.id.add\u to\u whatsapp\u按钮);
alreadyAddedText=findviewbyd(R.id.readed\u added\u text);
layoutManager=新的GridLayoutManager(这个,1);
recyclerView=findViewById(R.id.标签列表);
recyclerView.setLayoutManager(layoutManager);
RecycleView.getViewTreeObserver().addOnGlobalLayoutListener(pageLayoutListener);
recyclerView.addOnScrollListener(dividerScrollListener);
分隔器=findViewById(R.id.分隔器);
如果(粘贴预览wadapter==null){
sticker PreviewAdapter=新的sticker PreviewAdapter(getLayoutInflater(),R.drawable.sticker\u错误,getResources()。getDimensionPixelSize(R.dimen.sticker\u pack\u details\u image\u size),getResources()。getDimensionPixelSize(R.dimen.sticker\u pack\u details\u image\u padding),sticker pack,ExpandedSticker视图);
recyclerView.setAdapter(粘贴预览适配器);
}
packNameTextView.setText(stickerPack.name);
packPublisherTextView.setText(stickerPack.publisher);
packTrayIcon.setImageURI(stickerpackload.getStickerAssetUri(stickerPack.identifier,stickerPack.trayImageFile));
packSizeTextView.setText(Formatter.formatShortFileSize(这是StickPack.getTotalSize());
addButton.setOnClickListener(新视图.OnClickListener(){
@凌驾
公共void onClick(视图v){
请求();
addStickerPackToWhatsApp(stickerPack.identifier,stickerPack.name);
}
});
如果(getSupportActionBar()!=null){
getSupportActionBar().setDisplayHomeAsUpEnabled(显示按钮);
getSupportActionBar().setTitle(显示按钮?getResources().getSt