我们有一个iOS应用程序(SWIFT 4),我们希望整合Facebook Audience Network for Native Ad。按照https://developers.facebook.com/docs/audience-network/ios上的说明(除了我们正在开发阶段在Facebook商业帐户中输入“付款信息”),https://developers.facebook.com/docs/audience-network/ios-native和https://developers.facebook.com/docs/audience-network/testing#testing-testAd我们的代码(在ViewController viewDidLoad()中) )加载TEST AD如下:
let nativeAd = FBNativeAd(placementID: "IMG_16_9_LINK#" + "OUR_PLACEMENT_ID" )
nativeAd.delegate = self
nativeAd.mediaCachePolicy = FBNativeAdsCachePolicy.all
nativeAd.load()
但FBNativeAdDelegate回调不会触发。
func nativeAdDidLoad(_ nativeAd: FBNativeAd) {
...
}
使用Facebook - >管理财产 - >属性设置 - >广告请求调试程序,由于未知原因,没有请求到达服务器。在我们的App“info.plist”文件中,“App Transport Security”启用了“允许任意加载”属性(YES)以防万一。
我们在Mac和iPhone / iPad上都尝试过模拟器,其中Facebook App以相同OUR_PLACEMENT_ID的商业帐户的SAME用户身份登录。
任何帮助解决这个谜团的人都将受到高度赞赏。
谢谢!
答案 0 :(得分:0)
在Info.plist中的 App Transport Security 下将Key NSAllowsArbitraryLoadsForMedia 设置为YES后,它开始工作了!请注意,必须手动添加此密钥,因为它在XCode编辑器中不可用作默认值。
我希望Facebook有关于此的清晰文档,这样可以节省2天的精力!