首先,我知道关于这个话题有很多问题。我在互联网上进行了搜索,但大多数教程都是关于旧版本的 AdMob。此外,所有人对问题都有某种不同的解决方案。它们都不适合我。我非常非常接近将这些测试添加到我的应用程序中。他们只是不出现。我收到以下错误:
02-21 21:05:46.457:W/webcore(14924):第一次布局后无法获取viewWidth
02-21 21:05:46.586:W/Ads(14924):无效的未知请求错误:无法确定请求类型。您的广告单元 ID 正确吗?
02-21 21:05:46.586:D / webviewglue(14924):nativeDestroy视图:0x685300
02-21 21:05:46.586:I/Ads(14924):onFailedToReceiveAd(Google 广告请求无效。)
我还没有 AdMob 发布商 ID,因为这将是我投放市场的第一个 APP(并且我首先必须在市场上有一个 APP,然后才能获得该 APP 的 ID)。我应该使用什么ID?目前我有(在我的 Android 手机上测试):
AdRequest adRequest = new AdRequest();
adRequest.addTestDevice("9B08CXXXXXXXXXXXXXXXXXXXXXXXXXXXX");
//adRequest.addTestDevice("037c7xxxxxxxxxxx"); (Not right, is from console)
AdView adView = (AdView) this.findViewById(R.id.adView);
adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)
在我的 XML 中,我有(因为它还警告 viewWidth?)。它被封装在一个更大的 LinearLayout 中:
<LinearLayout
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="50dip">
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
ads:adSize="BANNER"
ads:adUnitId="@string/admob_pub_id"/>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
我希望问题足够小,但仍然包含足够的信息。
提前致谢!亲切的问候,乔斯。
编辑:我确实更改了清单文件(添加权限、活动 android:name=...、android:configChanges=...)。我将 jar 添加到 lib 文件夹并将其添加到库中。
有很多这样的问题,但它不是重复的
因为我已经使用过 xmlns:ads="http://schemas.android.com/apk/res-auto" 并且我主要用 Java 编写代码
我想使用谷歌播放服务来投放广告
我使用了下面的java代码
com.google.android.gms.ads.AdView adView = (com.google.android.gms.ads.AdView) activity.findViewById(R.id.adview);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId(activity.getString(R.string.admob_id));
AdRequest adRequest = new AdRequest.Builder().build();
adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)
并遵循xml代码
<com.google.android.gms.ads.AdView
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:id="@+id/adview"
android:layout_width="match_parent"
android:layout_height="wrap_content"
/>
Run Code Online (Sandbox Code Playgroud)
但我在横幅中遇到错误就像
缺少必需的 XML 属性“adsize”
我对 admob 中的原生添加感到困惑,这是谷歌的新广告格式。我已经浏览过此链接,但对这种新的广告格式以及这种广告格式的好处不太了解。请帮助我理解。
我正在尝试向我的游戏添加插页式广告。它建立在书本的框架之上。构造函数是:
public GameScreen(Game game) {
super(game);
world = new World();
clueLetters = new String[10];
levelNo = SettingsObject.levelUnlock;
getWord();
interstitialAd = new InterstitialAd(AndroidGame.context);
interstitialAd.setAdUnitId("ca-app-pub-1861496496821617/");
//Create an ad request
AdRequest.Builder adRequestBuilder = new AdRequest.Builder();
AndroidGame.activityReference.runOnUiThread(new Runnable() {
@Override
public void run()
{
// Set AdListener
interstitialAd.setAdListener(new AdListener() {
@Override
public void onAdClosed() {
super.onAdClosed();
}
});
}
});
Looper.prepare();
interstitialAd.loadAd(adRequestBuilder.build());
}
Run Code Online (Sandbox Code Playgroud)
但是,我收到错误:
java.lang.IllegalStateException: setAdListener must be called on the main UI thread.
Run Code Online (Sandbox Code Playgroud)
你能告诉我为什么我会收到这个错误以及如何解决它吗?
在我的游戏中,我有 4 个不同的场景。现在我想在这 4 个场景中的 2 个中投放一些 AdMob 横幅广告。
我是这样试的。
class GameViewController: UIViewController, GADBannerViewDelegate {
var bannerView: GADBannerView!
override func viewDidLoad() {
super.viewDidLoad()
if let view = self.view as! SKView? {
// Load the SKScene from 'GameScene.sks'
if var scene = StartScene(fileNamed: "StartScene") {
// Set the scale mode to scale to fit the window
scene.scaleMode = .aspectFill
// Present the scene
view.presentScene(scene)
}
if var scene = MainMenuScene(fileNamed: "MainMenuScene") {
bannerView = GADBannerView(adSize: kGADAdSizeBanner)
self.view.addSubview(bannerView)
let request = GADRequest() …Run Code Online (Sandbox Code Playgroud) 我的项目在情节提要中显示以下错误,我的项目已成功构建并在模拟器中成功运行,但是当我打开情节提要时仍然存在错误。
错误:
无法为 previewController (80C-7j-jFY) 呈现和更新自动布局状态:dlopen(GoogleMobileAds.framework, 1):找不到合适的图像。
确实发现:GoogleMobileAds.framework:通用包装器中没有匹配的架构
如果有人有任何解决方案可以避免它。请给出答复。
因此,我与 AdMob 合作并实施了横幅广告和插页式广告。等了一天多了,但广告没有显示。它说无法加载广告:3
日志:
12-17 19:20:33.680 16280-16512/in.shantanupatil.wamanagement I/Ads: App measurement is starting up, version: 13001
To enable debug logging run: adb shell setprop log.tag.FA VERBOSE
12-17 19:20:33.825 16280-16280/in.shantanupatil.wamanagement
D/DynamitePackage: Instantiating
com.google.android.gms.ads.ChimeraMobileAdsSettingManagerCreatorImpl
12-17 19:20:35.376 16280-16280/in.shantanupatil.wamanagement D/WebView:
addJavascriptInterface=googleAdsJsInterface
12-17 19:20:35.899 16280-16466/in.shantanupatil.wamanagement W/Ads: Got on
activity created
12-17 19:20:37.642 16280-16466/in.shantanupatil.wamanagement W/Ads: Got on
activity created
12-17 19:20:40.721 16280-16466/in.shantanupatil.wamanagement W/Ads: Got on
activity created
12-17 19:20:40.904 16280-16280/in.shantanupatil.wamanagement I/Ads: Use
AdRequest.Builder.addTestDevice("34A6512246BC64A9B8DC766FD114D5D5") to get
test ads on this device.
12-17 19:20:41.056 16280-16802/in.shantanupatil.wamanagement W/Ads: Invoke
Firebase method …Run Code Online (Sandbox Code Playgroud) 我有一个用 JAVA 编写的 android 游戏,不知什么原因,Admob 横幅在我们的一小部分玩家设备上显示在错误的位置,我已经在 30 多台设备上进行了测试,但无法重现它,一些玩家向我们发送了证明尽管。
按照设计,我们的横幅应该始终显示在屏幕的右上角,但有时它会显示在左上角,任何想法将不胜感激。
这就是我初始化它的方式(我正在以编程方式做所有事情,没有 xml
@Override
protected void onSetContentView()
{
final RelativeLayout relativeLayout = new RelativeLayout(this);
final FrameLayout.LayoutParams relativeLayoutLayoutParams = new FrameLayout.LayoutParams(RelativeLayout.LayoutParams.MATCH_PARENT, RelativeLayout.LayoutParams.MATCH_PARENT);
this.mRenderSurfaceView = new RenderSurfaceView(this);
this.mRenderSurfaceView.setRenderer(this.mEngine, this);
final android.widget.RelativeLayout.LayoutParams surfaceViewLayoutParams = new RelativeLayout.LayoutParams(BaseGameActivity.createSurfaceViewLayoutParams());
surfaceViewLayoutParams.addRule(RelativeLayout.CENTER_HORIZONTAL);
relativeLayout.addView(this.mRenderSurfaceView, surfaceViewLayoutParams);
FrameLayout frameLayout = new FrameLayout(this);
FrameLayout.LayoutParams fparams=new FrameLayout.LayoutParams( FrameLayout.LayoutParams.MATCH_PARENT, FrameLayout.LayoutParams.MATCH_PARENT);
adView = new AdView(this);
final FrameLayout.LayoutParams adViewLayoutParams = new FrameLayout.LayoutParams(
FrameLayout.LayoutParams.WRAP_CONTENT,
FrameLayout.LayoutParams.WRAP_CONTENT,
Gravity.END | Gravity.TOP);
adView = new AdView(this);
adView.setAdSize(com.google.android.gms.ads.AdSize.BANNER);
adView.setAdUnitId("....");
adView.setEnabled(false);
adView.refreshDrawableState();
adView.setVisibility(AdView.GONE);
AdRequest adRequest …Run Code Online (Sandbox Code Playgroud) BuildMethodException:[GoogleMobileAds] Ad Manager 和 AdMob 均未启用。ManifestProcessor.StopBuildWithMessage(System.String 消息)。
帮我统一制作新的android游戏...统一在Google admob中添加(横幅广告)我想构建这个游戏因为这个错误,我无法构建这个游戏..
我希望每隔一分钟后显示一个插页式广告...任何人都可以用示例代码解释...
谢谢
interstitialAds = new InterstitialAd(this, "Your_Pub_ID");
final AdRequest adRequest = new AdRequest();
interstitialAds.loadAd(adRequest);
interstitialAds.setAdListener(this);
Run Code Online (Sandbox Code Playgroud) 我只是想知道是否仍然可以在React Native App中实施横幅广告。我尝试使用一些,但它们不起作用。
我想在 android 应用程序中我的回收站视图的每 3 个位置放置 admob 原生高级广告。
我想要 Admob 提供的模板。
https://github.com/googleads/googleads-mobile-android-native-templates
下面是原生广告的xml代码实现
<com.google.android.ads.nativetemplates.TemplateView
android:id="@+id/my_template"
<!-- this attribute determines which template is used. The other option is
@layout/gnt_medium_template_view -->
app:gnt_template_type="@layout/gnt_small_template_view"
android:layout_width="match_parent"
android:layout_height="match_parent" />
Run Code Online (Sandbox Code Playgroud)
这是 Admob 的 Java 代码实现
MobileAds.initialize(this, "[_app-id_]");
AdLoader adLoader = new AdLoader.Builder(this, "[_ad-unit-id_]")
.forUnifiedNativeAd(new UnifiedNativeAd.OnUnifiedNativeAdLoadedListener() {
@Override
public void onUnifiedNativeAdLoaded(UnifiedNativeAd unifiedNativeAd) {
NativeTemplateStyle styles = new
NativeTemplateStyle.Builder().withMainBackgroundColor(background).build();
TemplateView template = findViewById(R.id.my_template);
template.setStyles(styles);
template.setNativeAd(unifiedNativeAd);
}
})
.build();
adLoader.loadAd(new AdRequest.Builder().build());
}
Run Code Online (Sandbox Code Playgroud)
RecyclerView 适配器类:
public class ArticleAdapter extends RecyclerView.Adapter<ArticleAdapter.MyViewHolder>{
private …Run Code Online (Sandbox Code Playgroud) android admob android-adapter android-recyclerview native-ads
我想在IOS应用程序上为我的公司创建广告.
我听说Admob是免费的吗?如果是这样,我如何在我的IOS应用程序中使用它的任何想法?
admob ×13
android ×9
ios ×4
ads ×2
banner ×2
native-ads ×2
build ×1
google-play ×1
interstitial ×1
ipad ×1
iphone ×1
java ×1
loops ×1
mobile ×1
objective-c ×1
react-native ×1
swift ×1
xcode ×1