- iOS/Objective-C 元类和类别
- objective-c - -1001 错误,当 NSURLSession 通过 httpproxy 和/etc/hosts
- java - 使用网络类获取 url 地址
- ios - 推送通知中不播放声音
我有一个应用程序可以在某些 Activity 关闭时显示插页式广告。我使用不同的 Activity 来展示广告。到目前为止,它正确显示了广告,但当我点击广告时没有任何反应。我已经在许多设备上测试过它,并且 Beta 测试人员报告了相同的行为。日志中没有错误。如果我使用上传到 Play 商店的调试版本或签名 APK,情况是一样的(如果重要的话,它会以 alpha 状态发布)。我使用最新的 Play Store Services SDK。
这可能是什么原因?
我展示广告的 Activity (我在实际代码中使用了正确的单元 ID)
import android.app.Activity;
import android.content.Context;
import android.location.Location;
import android.location.LocationManager;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.ProgressBar;
import com.google.android.gms.ads.AdListener;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.InterstitialAd;
public class AdFullScreen extends Activity {
private static final String TAG = "AdFullScreen";
private static final String AD_UNIT_ID = "my-unit-id";
private InterstitialAd interstitialAd;
ProgressBar prgrssBrAd;
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.ad_layout);
prgrssBrAd = (ProgressBar) findViewById(R.id.prgrssBrAd);
interstitialAd = new InterstitialAd(this);
interstitialAd.setAdUnitId(AD_UNIT_ID);
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdLoaded() {
Log.e(TAG, "onAdLoaded");
prgrssBrAd.setVisibility(View.GONE);
if (interstitialAd.isLoaded()) {
interstitialAd.show();
} else {
Log.e(TAG, "Interstitial ad was not ready to be shown.");
finish();
return;
}
}
@Override
public void onAdFailedToLoad(int errorCode) {
String message = String.format("onAdFailedToLoad (%s)",
getErrorReason(errorCode));
Log.e(TAG, message);
finish();
return;
}
@Override
public void onAdClosed() {
finish();
return;
}
@Override
public void onAdLeftApplication() {
Log.e(TAG, "onAdLeftApplication");
finish();
return;
}
});
LocationManager locationManager = (LocationManager) this
.getSystemService(Context.LOCATION_SERVICE);
String locationProvider = LocationManager.GPS_PROVIDER;
Location lastKnownLocation = locationManager
.getLastKnownLocation(locationProvider);
if (lastKnownLocation == null) {
locationProvider = LocationManager.NETWORK_PROVIDER;
lastKnownLocation = locationManager
.getLastKnownLocation(locationProvider);
Log.e(TAG, "Last location not available by GPS");
} else {
Log.e(TAG, "Last location available by GPS");
}
// Check the logcat output for your hashed device ID to get test ads on
// a physical device.
AdRequest.Builder bldr = new AdRequest.Builder();
if (lastKnownLocation != null) {
Log.e(TAG, "Last location available");
bldr.setLocation(lastKnownLocation);
} else {
Log.e(TAG, "Last location not available by any provider");
}
AdRequest adRequest = bldr.build();
// Load the interstitial ad.
interstitialAd.loadAd(adRequest);
}
@Override
public void onStart() {
super.onStart();
// The rest of your onStart() code.
}
@Override
public void onStop() {
super.onStop();
// The rest of your onStop() code.
}
/** Gets a string error reason from an error code. */
private String getErrorReason(int errorCode) {
String errorReason = "";
switch (errorCode) {
case AdRequest.ERROR_CODE_INTERNAL_ERROR:
errorReason = "Internal error";
break;
case AdRequest.ERROR_CODE_INVALID_REQUEST:
errorReason = "Invalid request";
break;
case AdRequest.ERROR_CODE_NETWORK_ERROR:
errorReason = "Network Error";
break;
case AdRequest.ERROR_CODE_NO_FILL:
errorReason = "No fill";
break;
}
return errorReason;
}
}
布局(我尝试不使用任何具有相同结果的布局)。
<?xml version="1.0" encoding="utf-8"?>
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent" >
<ProgressBar
android:id="@+id/prgrssBrAd"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_centerInParent="true" />
</RelativeLayout>
如果您能提供任何帮助,我将不胜感激。
更新
看来我设法找到了问题所在。它与 AndroidManifest 配置有关:旧的,广告不可点击:
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize"
android:launchMode="singleInstance" />
很好,工作正常:
<activity
android:name="com.google.android.gms.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
抱歉造成混淆,我不记得我是什么时候做那个更改的。
最佳答案
一定会成功的
public class AdFullScreen extends Activity implements AdListener {
private InterstitialAd interstitial;
private String MY_INTERSTITIAL_UNIT_ID = "your unit id here";
@Override
protected void onCreate(Bundle savedInstanceState) {
// TODO Auto-generated method stub
super.onCreate(savedInstanceState);
setContentView(R.layout.ad_layout);
interstitial = new InterstitialAd(this, MY_INTERSTITIAL_UNIT_ID);
// Create ad request
AdRequest adRequest = new AdRequest();
// Begin loading your interstitial
interstitial.loadAd(adRequest);
// Set Ad Listener to use the callbacks below
interstitial.setAdListener((AdListener) this);
@Override
public void onDismissScreen(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onFailedToReceiveAd(Ad arg0, ErrorCode arg1) {
// TODO Auto-generated method stub
}
@Override
public void onLeaveApplication(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onPresentScreen(Ad arg0) {
// TODO Auto-generated method stub
}
@Override
public void onReceiveAd(Ad add) {
// TODO Auto-generated method stub
if (add == interstitial) {
interstitial.show();
}
}
关于android - AdMob 插页式广告已显示但无法点击,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/23847178/
我有以下两个问题,我尝试用谷歌搜索这些问题,但没有找到任何运气。请帮助我。 我已将 AdMob 广告集成到我的 iPhone 应用程序中。当点击admob View 时,safari会被打开,如果加载
我用简单的代码在我的网站上使用了自动点击代码并且它起作用了。下面是我之前使用的代码。 $(document).ready(function(){ var list = document.getEle
我需要将自定义 BLE 广告数据从 ios/android 设备广播到许多自定义 BLE 设备。我的目标是设置 ble adv 包的字节以将其广播到附近的 ble 设备。 据我所知,我需要设置我的 i
我想从动态内容的广告意义上展示广告,即调用 API 并发送一些关键字来获取广告,这可能吗? 例如: Adsense.GetAdsForKeywords("car, subaru, auckland")
一位客户要求我使用他的 Google 发布商 ID 和广告 ID 创建他的广告。 他告诉我在博客上创建这个。 我现在的问题是我不知道他到底是什么意思,因为我习惯的是复制代码并粘贴它。 那么,有人可以向
经过大量搜索,我找不到任何支持以非常小的尺寸(40*40 平方或更少像素)展示广告的广告网络。 我看到应用程序可以这样做(就像左上角的高清摄像头 [附图片])。点击此广告后,它会直接进入 google
我有一个博客,上面有一些赞助帖子。 如果用户访问链接到赞助商的帖子,我希望在其他网站(使用 AdSense)上为最近访问过我网站的访问者显示与该赞助商相关的 AdSense 广告。 这是否可以使用动态
我正在开发一个网站,我想在其中展示 Google 广告。如何在我的网站上测试广告?此外: Google 允许我测试广告吗? 它是否认为我的测试是假印象? 我会被 Adsense 屏蔽吗? 这是网站链接
我在尝试显示来自 Admob 的实时广告时遇到问题。测试广告工作正常,但当我切换到实时广告时,我不断收到此错误 Unable to get provider com.google.android.g
我已经集成了 https://pub.dev/packages/firebase_admob进入我的应用程序并实现 rewarded ads .我现在的问题是我想通过这个插件使用中介。唯一的事情是我知
有关背景信息,请参阅:this question 因此,授权流程的第一步是使用 Web 浏览器中的 URL 获取授权 token ,如下所示。对于桌面应用程序,它需要具有以下签名(我对其进行了未编码以
大约一周前(9 月 13 日)Facebook 推出了新的后置链接格式(看起来更像照片后置 - 大图等)。但是,当我通过 API 上传帖子时(效果很好),尽管 Facebook 界面(直接 Faceb
我有来自 webhook 调用的以下 JSOn 响应 { "responseId": "d5c70d8b-e8ad-41df-bb3b-26b0e51d60ca-a14fa99c", "que
我想在内容前面放置一个 Logo /广告,有很多方法可以做到,但问题是它们使用 JS 显示/隐藏方法。发生的情况是,当用户观看 Logo /广告时,内容不会加载,这会导致用户首先等待 Logo /广告
我一直在按照本教程 ( http://www.kilobolt.com/day-7-creating-an-android-game-from-start-to-finish.html ) 创建 An
我有一个包含 dfp 广告的单页网络应用程序。我有两个我正在触发的 dfp adunits,它们位于内容之间,内容是特定类别的文章列表。 当我点击另一个类别时,它只会加载不同类别的文章(不会更改地址栏
我通过 Facebook 的 Power Editor 上传了 212 封电子邮件的 csv,几秒钟后我可以看到观众中有 200 位用户。 我通过 Facebook 的 Power Editor 将相
我的移动应用程序中有一个 AdMob banndr 广告。大多数时候它不会出现。这是它的工作方式,还是我在设置时做错了什么?泰德 最佳答案 如果没有要显示的广告,则不会返回广告。如果您在 admob
我最近让 admob 广告正常工作,我通过以下方式对其进行了测试: AdRequest adRequest = new AdRequest.Builder()
我正在尝试将 Admob 横幅对齐到设备屏幕的右侧。但是它对我不起作用。我正在创建这样的横幅 RelativeLayout layout = new RelativeLayout(activity
我是一名优秀的程序员,十分优秀!