1

我正在尝试将 Facebook 原生广告集成到我的 Android 应用中。每当我使用展示位置 ID 加载广告时,我都会收到错误代码 -1:onError方法内部出现未知错误。

当我尝试其他展示位置 ID 时,它工作正常。有谁知道什么可能导致未知错误?

这是我的代码:

AbstractAdListener adListener = new AbstractAdListener() {
        @Override
        public void onError(Ad ad, AdError adError) {
            Log.d("MyApp", "Failed to load ad from Facebook Audience Network: " + adError.getErrorMessage());
        }

        @Override
        public void onAdLoaded(Ad ad) {
            // Show Ad
        }
}

NativeAd nativeAd = new NativeAd(context, adUnitId);
native.setAdListener(adListener);
native.loadAd();
4

3 回答 3

1

将您手机中登录的 facebook 帐户添加到 facebook testers @dashboard > roles >testers。对于模拟器,当您在模拟器上运行应用程序时,您必须为其 id 打印在 logcat 中的模拟器添加测试设备。

AdSettings.addTestDevice("your hash key");

编辑 对于测试广告,您必须通过第一次运行时打印的哈希键将设备添加为测试设备。(对于模拟器和手机)。

对于实时广告,您的应用应该在 Playstore 上发布。之后,在应用的 Facebook 受众中的“添加应用选项”中添加应用以供审核。添加后,您必须单击测试应用上显示的广告以发送请求.然后点击发送进行审核,Facebook 将审核您的应用程序。他们需要时间,之后您将收到实时广告

于 2017-03-17T12:33:10.273 回答
0

此问题是由于 Facebook SDK 版本更改所致。确保您使用了最新的 SDK 版本,没有次要版本代码。

我已经用这个替换了旧的 gradle,它对我有用

compile 'com.facebook.android:audience-network-sdk:4.+'
于 2017-04-01T10:12:44.157 回答
0

What version of Audience Network SdK are you using? You would need to update to the latest SDK if not. In addition, you should test it on your Android device. Please check AdUnitSample and NativeAd Sample apps in the SDK downloaded.

于 2017-03-27T16:55:22.183 回答