Facebook Audience Network SDK未编译

时间:2016-05-21 03:15:44

标签: android xml facebook git

我正在尝试在我的应用中使用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 发现:没有争论 原因:实际和正式的参数列表长度不同

我已经用谷歌搜索试图找出这个错误的根源而没有运气。 你能帮我解决这个问题吗? 提前谢谢。

1 个答案:

答案 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。希望这有帮助