我正在尝试在我的应用中使用FAN。我已按照中描述的步骤进行操作 FAN help by Facebook https://developers.facebook.com/docs/audience-network/android/banner
我得到的是编译错误,因为感觉res / layout.xml不正确。
我已经完成了这里的git示例的克隆 GitHub FAN
我不得不说,我在Facebook上找到的文档很差,其中的示例甚至没有编译,也缺乏明确的支持。
在我的AndroidManifest.xml中我有
<!-- Declare Facebook app ID -->
<meta-data android:name="com.facebook.sdk.ApplicationId" android:value="@string/facebook_app_id"/>
...
<activity android:name="com.facebook.FacebookActivity"
android:configChanges=
"keyboard|keyboardHidden|screenLayout|screenSize|orientation"
android:theme="@android:style/Theme.Translucent.NoTitleBar"
android:label="@string/app_name" />
<provider android:authorities="com.facebook.app.FacebookContentProvider1759289410974589"
android:name="com.facebook.FacebookContentProvider"
android:exported="true" />
我的/res/layout/main.xml包含以下内容:
RelativeLayout xmlns:android="http://schemas.android.com/apk/res/android"
xmlns:ads="http://schemas.android.com/apk/res-auto"
android:orientation="vertical"
android:layout_width="fill_parent"
android:layout_height="fill_parent">
<RelativeLayout
android:id="@+id/adViewContainer"
android:layout_width="wrap_content"
android:layout_height="wrap_content"
android:layout_alignParentBottom="true"
/>
在我的Java代码中,我有这个:
private AdView adView; // Facebook ad
@Override
public void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.main);
RelativeLayout adViewContainer = (RelativeLayout) findViewById(R.id.adViewContainer);
adView = new AdView(this, getString(R.string.FacebookAudienceID), AdSize.BANNER_320_50);
adViewContainer.addView(adView);
adView.loadAd();
我收到以下编译错误:
错误:(212,44)错误:不兼容的类型:字符串无法转换为AttributeSet 错误:(214,15)错误:类BaseAdView中的方法loadAd无法应用于给定类型; 必需:AdRequest 发现:没有争论 原因:实际和正式的参数列表长度不同
我已经用谷歌搜索试图找出这个错误的根源而没有运气。 你能帮我解决这个问题吗? 提前谢谢。
答案 0 :(得分:0)
我也得到了同样的错误。您可能应该使用Google广告或在项目中启用Google广告。只需删除&#34; AdView&#34;在&#39; new&#39;旁边关键字并再次键入相同的内容。在下拉列表中,从facebook SDK中选择AdView。像这样:
adView = new com.facebook.ads.AdView (this, getString(R.string.FacebookAudienceID), AdSize.BANNER_320_50);
原因是&#39; AdView&#39;默认情况下使用谷歌SDK而不是Facebook SDK。希望这有帮助