2015-11-25 10 views
16

オーディエンスネットワークをアプリに統合しようとしています。 XCodeを使用してデプロイすると、広告はシミュレータとデバイスで正しく動作します。TestFlightでFacebookオーディエンスネットワーク広告をテストするには?

TestFlightでビルドを配布して、リリースモードで動作することを確認します。リリースモードでXCodeから自分の端末に直接デプロイしようとすると、Facebookは広告の「いいえ」を返します。 TestFlightビルドにも広告は表示されません。

TestFlightビルドのデバイスに広告を表示する方法はありますか?

+0

2つの設定(デバッグ/リリース)の差異は何ですか?あなたのデバッグ設定のためだけに、Facebook Audience Networkのデバッグモード(デバッグデバイスのリスト)を有効にしたことがありますか?あなたのFacebookアプリは検証済みですか? –

+0

構成は同じです。さらに、リリーススキームでアプリを実行すると、シミュレータとデバイスの両方に広告が表示されます。 – Luda

+0

リリースモードのデバイスには広告はありませんでしたが、「XCodeからリリースモードでデバイスに直接デプロイしようとすると、Facebookは広告に「埋められない」と返します。 –

答えて

6

これには主に2つの理由が考えられます。まず、ユーザーの1人または複数のユーザーは、デバイスのネイティブFacebookアプリケーションにサインインできませんでした。これにより、Error 1001 - No Fill Rateになる可能性があります。

1001 - いいえこれはテスト中に見られる一般的なエラーであり、「塗りつぶしなし」 応答に関する

を埋めます。この最も一般的な理由は、ユーザがテストデバイスのネイティブFacebook Appに にログインしていないことです。

サーバー応答SDKドキュメントコード= 1001「塗りつぶしなし」エラー1001 - いいえ 塗りつぶし。たぶん、1以上の以下のもののために:モバイルデバイス上でネイティブのFacebookアプリケーションにログインしていない

  • ユーザー
  • 広告トラッキング制限は(iOSの)現在のユーザーのための
  • ませ広告インベントリオン
  • テストデバイスには、ネイティブのFacebookアプリケーションがインストールされている必要があります。
  • アプリケーションは、30秒後に別の リクエストを試行する必要があります。

これはdocumentationは、1001エラーのためにあなたを伝えるものです。

第2に、デバッグモードになっている可能性があるため、リリースモードでは広告が表示されません。このエラーを修正するには、Apple Developer Centerから最新のプロビジョニングプロファイルをダウンロードし、リリースされたFacebook Appを切り替えます。 Facebook Developer Consoleにログインしてアプリを選択することで、これを行うことができます。次に、左側にSTATUS & REVIEWを選択して、この列を表示する必要があります。 screenshot 1 次に、「このアプリを公開しますか?」を切り替えます。 YESに切り替えます。 Yesこれはあなたのアプリを誰でも利用できるようにします。つまり、すべてのテスターが広告を表示します。

私の経験から2つのセントは、アプリを公開していない、またはベータテスターとして追加したユーザーを持っていなかったことでしょう。したがって、Facebookは1001エラーを投げる広告を配信できませんでした。アプリを一般公開し、テスターに​​facebookアプリを通じてログインさせることで、これは簡単に修正されるはずです。 Facebook SDKの別の部分にも同様の問題がありましたが、これは一般公開で修正されています。

希望するJulian

-1

エラー1001を返信してください任意のポイントを持っている場合、私はいくつかの異なる問題を抱えている

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]; 
} 

- を:私はdeviceHashIdを追加することで解決しています。

あなたは本当の広告をテストしたい場合は、以下の手順を試してみてください。

    Facebookアプリにログイン
  1. Safariを開き
  2. 、Googleの "MacBookのエア買い" で検索すべてのお店を開いて、追加しますあなたのアプリを開き、カート
  3. オープンFacebookアプリにMacBookのプルにリフレッシュFacebookの歴史
  4. アプリ内に広告が表示されるまで、さまざまな検索条件で手順2〜5を繰り返します。

私たちのテストデバイスでは、ほぼ毎回動作します。あなたは多くの場所で広告を持っている場合

1

あなたは3

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() 
} 

このコードは、テスト広告がtestflightまたはシミュレータ/デバイス上に表示されていることを確認しますが

スウィフトAppDelegateにこのコードを置くことができますまた、広告がLIVE広告として表示され、テストデバイスがクリアされることをアプリストアにリリースする際にも確実に確認します。

コール:didFinishLaunchingWithOptionsでfacebookAdsControl()

また、あなたは広告を持っているコードで、このコードを呼び出すが、あなたがする必要があるマクロを使用するためにはadView.load()

前に必ずそれを呼び出すことができますビルド設定のスウィフトフラグにフラグを追加してください

これは私が知っているほどFacebookのドキュメントがあまり明確ではないことを願っています。

+0

詳細情報Swift Flagsを追加する:https://kitefaster.com/2016/01/23/how-to-specify-debug-and-release-flags-in-xcode-with-swift/ –

関連する問題