如何使用Expo设置Facebook广告?

时间:2019-01-02 10:46:39

标签: reactjs facebook react-native expo

我正在使用https://docs.expo.io/versions/latest/sdk/facebook-ads将Facebook广告添加到我的应用中。我正在正确地遵循文档,但是在我的应用主屏幕上看不到Facebook广告。

BottomBannerAd.js

import React from 'react';
import { FacebookAds } from 'expo';
const { AdIconView, AdMediaView } = FacebookAds;

class AdComponent extends React.Component {
  render() {
    return (
      <View>
        <AdMediaView />
        <AdTriggerView>
          <Text>{this.props.nativeAd.bodyText}</Text>
        </AdTriggerView>
      </View>
    );
  }
}

export default FacebookAds.withNativeAd(AdComponent);

HomeScreen.js

import React from 'react';
import { Image, TextInput, FlatList, StyleSheet, Text, View, 
TouchableOpacity, ActivityIndicator, Platform } from 'react-native';
import { NavigationEvents } from 'react-navigation';

import { FacebookAds } from 'expo';
import AdComponent from '../components/BottomBannerAd';
const adsManager = new FacebookAds.NativeAdsManager('xxxxxxxxxxx', 10);


import {
    AdMobBanner,
    AdMobInterstitial,

    AdMobRewarded
} from "expo";

export default class HomeScreen extends React.Component {
render(){
return (
<View style={styles.container}>
...
<View style={styles.tabBarInfoContainer}>
<AdComponent adsManager={adsManager} />
</View>
</View>
)
}
}

我有一个包含广告组件的视图组件。当我添加Google广告时,该视图组件效果很好,但不适用于Facebook广告。

2 个答案:

答案 0 :(得分:0)

签出-react-native with expo problem with facebook ads

我遇到了同样的问题。看来FB广告在当前的世博会版本中是损坏的。

答案 1 :(得分:0)

一种解决方案是输入实际的设备ID进行测试,否则我无法使其正常工作。

setting up ID

您上面的代码应该生成类似这样的内容(下面的附件),但只能在活动设备上生成。

enter image description here

通常的测试方法是添加一个 FacebookAds.AdSettings.addTestDevice(FacebookAds.AdSettings.currentDeviceHash);插入您的代码,但没有成功(至少对我而言)。

要在iPhone上获取IDFA ID,请从AppStore下载DeviceId(由AppsFlyer提供),并在“隐私”>“广告”设置中禁用“限制广告跟踪”。

希望有帮助。