2016-12-09 5 views
3

ネイティブ広告の統合のためにiOSアプリケーションにFacebookのオーディエンスネットワークを追加しました。すべてうまくいきますが、テスト広告しかありません。Facebook広告を生き生きさせるには?

これを削除しようとすると、広告を表示するためのtestDeviceKeyが追加されました。広告が表示されていないため、混乱してしまいます。私のコードがある -

@implementation AdFeedsView 

FBNativeAd *nativeAd; 
static NSString *adPlacementId = @"xxxxxxxxx"; 

- (void)showNativeAd:(UIViewController *)vc 
{ 
    nativeAd = [[FBNativeAd alloc] initWithPlacementID:adPlacementId]; 
    nativeAd.delegate = self; 

    NSLog(@"isTestMode1: %d",[FBAdSettings isTestMode]); 
    NSString *testDeviceKey = [FBAdSettings testDeviceHash]; 
    if (testDeviceKey) { 
    [FBAdSettings addTestDevice:testDeviceKey]; 
    } 
    [nativeAd loadAd]; 
} 

だから私はちょうど私達が私のライブのアプリに広告をテストする以外に適切な広告を見ることができるように、どのような変更が、私は私のコードで行う必要があるべきだとお聞きしたいですか?

答えて

2

最後に解決策を見つけました。実際に私は、それゆえ広告のみがテストしている試験装置など、すべてのアクティブデバイスを作っているコード

NSString *testDeviceKey = [FBAdSettings testDeviceHash]; 
if (testDeviceKey) { 
[FBAdSettings addTestDevice:testDeviceKey]; 
} 

を追加しました。私は私が間違って認識についてテストモードを持っている我々はまた、

if ([FBAdSettings isTestMode]) { 
    [FBAdSettings clearTestDevice:[FBAdSettings testDeviceHash]]; 
} 

を行うことができますライブバージョンでそれを削除し、コード

[FBAdSettings clearTestDevices]; 

が含まれています。私は私のアプリがライブになったときには間違いだと思うが、実際にはデバイスがテストデバイスとして追加されたかどうかは分からない。

0

スウィフト3

このコードは、テスト広告がtestflightまたはシミュレータ/デバイス上に表示されていることを確認しますと、あなたの広告がLIVE として表示されますアプリストアに放したときにも確認しますの広告とテストデバイスがクリアされます。また、あなたは持っているコードで、このコードを呼び出すことができますdidFinishLaunchingWithOptions

facebookAdsControl():あなたは多くの場所で広告を持っている場合

あなたはAppDelegateに

import FBAudienceNetwork 

private func facebookAdsControl() { 
    #if RELEASE 
     self.clearTestDevicesForFacebookAds() 
    #else 
     self.addTestDevicesForFacebookAds() 
    #endif 
} 

///remove for live mode 
private func addTestDevicesForFacebookAds(){ 
    let key = FBAdSettings.testDeviceHash() 
    FBAdSettings.setLogLevel(FBAdLogLevel.Log) 
    FBAdSettings.addTestDevice(key) 
} 

///add for live mode 
private func clearTestDevicesForFacebookAds() { 
    FBAdSettings.clearTestDevices() 
} 

コールこのコードを置くことができますあなたがそれを前に呼び出すことを確認しますがadView.load()

マクロを使用するには、ビルド設定のSwift Flagsにフラグを追加する必要があります

これは、私が見つけたようにFacebookのドキュメントがあまり明確ではないので、これが誰かを助けてくれることを願っています。