我正在尝试将Admob集成到android,我最终没有成功.文档说需要提供DeviceID来获取真实设备的广告.请你帮我解决这个问题.但是我通过设置AdManager.TestEmulator在模拟器中获取广告.
我把admob广告放在我的应用程序中.它们在ListView中显示为页脚视图.奇怪的是,广告没有响应第一次点击.我需要再次点击它才能响应.此后,它会对所有后续点击做出正常响应.
我没有为包含它的视图分配点击侦听器.我也没有为列表视图分配OnItemClickListener.这就是我将admob视图注入的视图(并且这个膨胀的视图被添加为ListView页脚).
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:padding="5dp" >
<!-- I add the Ad to this inner layout at runtime. -->
<LinearLayout
android:id="@+id/body"
android:layout_width="fill_parent"
android:layout_height="wrap_content"
android:background="#fff"
android:padding="5dp">
</LinearLayout>
</LinearLayout>
...
View parent = inflateContainerFromXml(R.layout.foo);
parent.addView(makeAdMobView());
ListView lv = ...;
lv.addFooterView(parent);
Run Code Online (Sandbox Code Playgroud)
我意识到上面的嵌套布局看起来有些奇怪,但这是因为我想要实现的视觉风格.
知道是什么原因引起的吗?我认为admob视图创建代码应该没问题,因为我在应用程序的其他地方以简单的线性布局使用它,并且点击处理在那里正常运行.
谢谢
当我做的时候
adRequest.addTestDevice(AdRequest.TEST_EMULATOR);
adView.loadAd(adRequest);
Run Code Online (Sandbox Code Playgroud)
logcat似乎报告我正在请求广告,但后来说
09-21 11:48:13.720: W/Ads(712): Invalid unknown request error: Cannot determine request type.
Run Code Online (Sandbox Code Playgroud)
您的广告单元ID是否正确?然而,我正在使用的ID正在从AdMod API代码请求/响应屏幕正确粘贴.我究竟做错了什么?
当我尝试使用真实设备(运行Android 2.2.1的HTC Inspire)时,我更加困惑.Logcat是沉默的,但我没有得到测试广告.有人可以告诉我到底应该放置什么代替"xxxxxxxx":
adRequest.addTestDevice("xxxxxxxx");
Run Code Online (Sandbox Code Playgroud)
我已经尝试了文本字符串"TEST_DEVICE_ID",我的设备的序列号,甚至是笨蛋.没有快乐.我是否需要散列序列号或其他内容?我使用的是JDK 1.7.
使用了admob站点中提供的代码
这是我的xml
<?xml version="1.0" encoding="utf-8"?>
<LinearLayout xmlns:android="http://schemas.android.com/apk/res/android"
android:layout_width="match_parent"
android:layout_height="match_parent"
android:background="@drawable/background_img"
android:orientation="vertical"
android:id="@+id/atozlayout"
>
<GridView
android:id="@+id/gridView1"
android:numColumns="auto_fit"
android:gravity="center"
android:columnWidth="55dp"
android:stretchMode="columnWidth"
android:layout_width="fill_parent"
android:layout_height="fill_parent"
android:horizontalSpacing="10dp"
android:verticalSpacing="10dp"
>
</GridView>
</LinearLayout>
Run Code Online (Sandbox Code Playgroud)
但是logcat显示了E/Ads(4244):没有足够的空间来展示广告!想要:<480,75>,有:<800,0>
似乎布局正在创建问题.请提出修复方法.非常感谢.
我正在使用新的Android Studio.我已经完成了一个应用程序并且工作正常,现在我要添加AdMob sdk.所以我将jar放在'libs'文件夹中,右键单击"add as library".我在智能手机上运行该项目,但应用程序在启动时崩溃.
我怎么解决这个问题?我认为导入AdMob sdk会有问题.
谢谢!
这是xml
<?xml version="1.0" encoding="utf-8"?>
<manifest xmlns:android="http://schemas.android.com/apk/res/android"
package="com.my.application"
android:installLocation="preferExternal"
android:versionCode="1"
android:versionName="1.0" >
<uses-sdk
android:minSdkVersion="8"
android:targetSdkVersion="16" />
<uses-permission android:name="android.permission.INTERNET" />
<uses-permission android:name="android.permission.ACCESS_NETWORK_STATE"/>
<application
android:allowBackup="true"
android:icon="@drawable/icon"
android:label="@string/app_name"
android:theme="@style/AppTheme" >
<activity
//MY ACTIVITY
</activity>
<intent-filter>
<action android:name="android.intent.action.MAIN" />
<category android:name="android.intent.category.LAUNCHER" />
</intent-filter>
</activity>
<activity
android:name="com.google.ads.AdActivity"
android:configChanges="keyboard|keyboardHidden|orientation|screenLayout|uiMode|screenSize|smallestScreenSize" />
<meta-data android:name="ADMOB_ALLOW_LOCATION_FOR_ADS" android:value="true"/>
<meta-data android:name="ADMOB_PUBLISHER_ID" android:value="a151964f48b17a7"/>
</application>
Run Code Online (Sandbox Code Playgroud)
这是布局xml
<RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:tools="http://schemas.android.com/tools"
android:layout_width="match_parent"
android:layout_height="match_parent"
xmlns:ads="http://schemas.android.com/apk/lib/com.google.ads"
tools:context=".MainActivity">
<com.google.ads.AdView
android:id="@+id/adView"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
android:layout_centerHorizontal="true"
ads:adSize="BANNER"
ads:adUnitId="MY_UNIT_ID"
ads:loadAdOnCreate="true" >
</com.google.ads.AdView>
Run Code Online (Sandbox Code Playgroud)
这是logcat
5-20 15:38:00.835 …Run Code Online (Sandbox Code Playgroud) 我已经在iPhone中启动了应用程序,现在我想要集成AdMob它.如何开始,我不知道我需要在iTunes中创建新的配置文件还是什么?如何AdMob从iTunes 获取id并在集成AdMob如何再次启动应用程序之后?请帮我
我已经实现了admob激活的代码,我想介绍应用程序内购买删除admob,任何人都可以告诉我如何完美地做到这一点,我已经检查了很多教程但不清楚这个概念,请在这方面帮助我.
private ImageView imview;
private int w,h;
private Bitmap filtaringImage = null;
private Bitmap Changebitmap=null;
private Context context;
private LinearLayout linear;
private LinearLayout mainLayout;
private ProgressDialog effectProgress;
private ImageButton normal,r_nd_g,g_nd_b,hsv,hls;
private ContentResolver mContentResolver;
private int IMAGE_MAX_SIZE = 1024;
private List<Bitmap> history;
private List<Bitmap> redo;
//private File temp File = new File(Environment.getExternalStorageDirectory().getAbsolutePath()+"./."+UtilsPixolish.TEMP_FILE_NAME);
private boolean showBackAllart;
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
//***************************************
context = this;
AdView adView = (AdView)this.findViewById(R.id.adView);
AdRequest adRequest = new AdRequest.Builder().addTestDevice("unit id ").build();
adView.loadAd(adRequest);
//createTempFolder();
//*************************************** …Run Code Online (Sandbox Code Playgroud) 我正在尝试在Android中使用AdMob并遵循教程.我已成功下载,安装并添加了Google Play服务库.几乎一切似乎都很好.
然而,Eclipse固执地在"adView.setAdSize"位下给出了一个红色下划线.错误消息显示"AdView类型中的方法setAdSize(AdSize)不适用于参数(AdSize)".我没有看到什么是错的,该代码符合我能找到的所有教程和文档,以及为什么setAdSize(AdSize)不会将AdSize作为参数?这对我来说没有意义.
不幸的是,设置广告尺寸对于代码运行是必要的,因此我不能只删除该位.相关代码如下.感谢任何可以提供帮助的人.
...
import com.google.ads.AdSize;
import com.google.android.gms.ads.AdRequest;
import com.google.android.gms.ads.AdView;
public class MainActivity extends ActionBarActivity{
private AdView adView;
@Override
protected void onCreate(Bundle savedInstanceState) {
...
// Create the adView.
adView = new AdView(this);
adView.setAdSize(AdSize.SMART_BANNER);
adView.setAdUnitId("ID REMOVED FOR PRIVACY REASONS");
...
}
...
}
Run Code Online (Sandbox Code Playgroud) 我想在同一活动中展示横幅广告和插页式广告.但我不确定这是否会违反Google admob政策,因为展示插页式广告时,它会覆盖横幅广告.
谢谢.
我找到了一个Flappy Bird GitHub项目并稍微改了一下.我成功实施了AdMob Banner.
但是现在我还想要一个在游戏结束时弹出的插页式广告(当然不是每次都会弹出)所以这是我的GitHub项目:https://github.com/DaFaack/FlappyBibi
请解释我怎么做,因为我在互联网上找不到一个好的解释.
我想在run()方法中显示广告.您可以在核心包 - > GameplayScreen.java文件 - > renderPlaying()方法中找到它,然后在run()方法中找到它.
这是我说的方法:
private void renderPlaying() {
if (justTouched) {
bird.jump();
justTouched = false;
}
updatePipePairs();
gameplayStage.act();
uiStage.act();
checkCollisions();
if (bird.getState() == Bird.State.DYING) {
stopTheWorld();
RunnableAction playWooshAction = Actions.run(new Runnable() {
@Override
public void run() {
com.pentagames.flappybibi.Assets.playWooshSound();
//Here I want to display the Interstitial Ad!
}
});
Run Code Online (Sandbox Code Playgroud)
游戏结束后,我该如何显示插页式广告?
这是我的AndroidLauncher.java文件:
package com.pentagames.flappybibi.android;
import android.os.Bundle;
import android.util.Log;
import android.view.View;
import android.widget.RelativeLayout;
import com.badlogic.gdx.backends.android.AndroidApplication;
import …Run Code Online (Sandbox Code Playgroud)