Android studio 30秒后播放Interstitalad观众网络Facebook
我想在我的Android应用程序中使用Facebook观众网络,我在应用程序中集成了Interstitalad,它工作正常,但看起来像是活动启动。我想在30秒后播放广告。这是我的密码Android studio 30秒后播放Interstitalad观众网络Facebook,android-studio,handler,android-handler,interstitial,facebook-audience-network,Android Studio,Handler,Android Handler,Interstitial,Facebook Audience Network,我想在我的Android应用程序中使用Facebook观众网络,我在应用程序中集成了Interstitalad,它工作正常,但看起来像是活动启动。我想在30秒后播放广告。这是我的密码 interstitialAd = new InterstitialAd(this, "1555910157949688_1556058954601475"); interstitialAd.setAdListener(new InterstitialAdListener() {
interstitialAd = new InterstitialAd(this, "1555910157949688_1556058954601475");
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onAdLoaded(Ad ad) {
// Interstitial ad is loaded and ready to be displayed
Log.d(TAG, "Interstitial ad is loaded and ready to be displayed!");
// Show the ad
interstitialAd.show();
}
});
interstitialAd.loadAd();
我试着用这个来安排我的广告,但没有成功
private void showAdWithDelay() {
Handler handler = new Handler();
handler.postDelayed(new Runnable() {
public void run() {
// Check if interstitialAd has been loaded successfully
if(interstitialAd == null || !interstitialAd.isAdLoaded()) {
return;
}
// Check if the ad is already expired or invalidated, and do not show ad if that is the case. You will not get paid to show an invalidated ad.
if(interstitialAd.isAdInvalidated()) {
return;
}
// Show the ad
interstitialAd.show();
}
}, 3000);
}
我更喜欢这样做:
Handler handler = new Handler();
interstitialAd = new InterstitialAd(this, "XXX");
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onAdLoaded(Ad ad) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
interstitialAd.show();
}
}, YOUR_TIME);
}
});
interstitialAd.loadAd();
如果你想说得更准确,那么就这样做:
final long lastTime = System.currentTimeMillis();
Handler handler = new Handler();
interstitialAd = new InterstitialAd(this, "XXX");
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onAdLoaded(Ad ad) {
long now = System.currentTimeMillis();
long timeWait;
if (now - lastTime >= YOUR_TIME){
timeWait = 0;
}else {
timeWait = YOUR_TIME-(now-lastTime);
}
handler.postDelayed(new Runnable() {
@Override
public void run() {
interstitialAd.show();
}
}, timeWait);
}
});
interstitialAd.loadAd();
我更喜欢这样做:
Handler handler = new Handler();
interstitialAd = new InterstitialAd(this, "XXX");
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onAdLoaded(Ad ad) {
handler.postDelayed(new Runnable() {
@Override
public void run() {
interstitialAd.show();
}
}, YOUR_TIME);
}
});
interstitialAd.loadAd();
如果你想说得更准确,那么就这样做:
final long lastTime = System.currentTimeMillis();
Handler handler = new Handler();
interstitialAd = new InterstitialAd(this, "XXX");
interstitialAd.setAdListener(new InterstitialAdListener() {
@Override
public void onAdLoaded(Ad ad) {
long now = System.currentTimeMillis();
long timeWait;
if (now - lastTime >= YOUR_TIME){
timeWait = 0;
}else {
timeWait = YOUR_TIME-(now-lastTime);
}
handler.postDelayed(new Runnable() {
@Override
public void run() {
interstitialAd.show();
}
}, timeWait);
}
});
interstitialAd.loadAd();
我认为您的实施违反了AdMob政策,可能会给您带来一些麻烦 有关正确/错误的中间层实现(特别是“意外启动的中间层”点)的帮助,请查看本页: 为了遵守AdMob策略,我建议您仅在活动/应用程序自然转换中显示间隙,不同的实现可能会导致您被禁止使用AdMob 为此,您可以将代码更改为只加载广告并跟踪其加载状态,如下所示:
boolean isAdLoaded = false;
interstitialAd = new InterstitialAd(this, "1555910157949688_1556058954601475");
interstitialAd.setAdListener(new InterstitialAdListener()
{
@Override
public void onAdLoaded(Ad ad)
{
// Interstitial ad is loaded and ready to be displayed
Log.d(TAG, "Interstitial ad is loaded and ready to be displayed!");
// The ad has been loaded
isAdLoaded = true;
}
});
interstitialAd.loadAd();
然后在应用程序的自然过渡中显示,例如,当用户点击按钮转到其他活动时:
shareButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
//Show interstitial if it is loaded
if(isAdLoaded)
interstitialAd.show();
//Open Activity
startActivity(new Intent(this,OtherActivity.class));
}
});
我认为您的实施违反了AdMob政策,可能会给您带来一些麻烦 有关正确/错误的中间层实现(特别是“意外启动的中间层”点)的帮助,请查看本页: 为了遵守AdMob策略,我建议您仅在活动/应用程序自然转换中显示间隙,不同的实现可能会导致您被禁止使用AdMob 为此,您可以将代码更改为只加载广告并跟踪其加载状态,如下所示:
boolean isAdLoaded = false;
interstitialAd = new InterstitialAd(this, "1555910157949688_1556058954601475");
interstitialAd.setAdListener(new InterstitialAdListener()
{
@Override
public void onAdLoaded(Ad ad)
{
// Interstitial ad is loaded and ready to be displayed
Log.d(TAG, "Interstitial ad is loaded and ready to be displayed!");
// The ad has been loaded
isAdLoaded = true;
}
});
interstitialAd.loadAd();
然后在应用程序的自然过渡中显示,例如,当用户点击按钮转到其他活动时:
shareButton.setOnClickListener(new View.OnClickListener()
{
@Override
public void onClick(View v)
{
//Show interstitial if it is loaded
if(isAdLoaded)
interstitialAd.show();
//Open Activity
startActivity(new Intent(this,OtherActivity.class));
}
});
您使用了3000,即3秒。请使用30*1000,即30秒。我使用了30000,这是一个错误。我建议您使用25秒或30秒来实例化Interstitalad对象,因为有时它取决于网络,广告会显示3-4秒的延迟。您使用了3000,即3秒。请使用30*1000,即30秒。我使用30000问题中是否有错误?我建议您实例化Interstitalad对象b/w 25秒或30秒,因为有时它取决于网络,广告将以3-4秒的延迟显示