2015-11-25 17 views
16

Sto cercando di integrare Audience Network nella mia app. Gli annunci funzionano correttamente su simulatore e dispositivo quando eseguo il deploy su XCode.Come testare gli annunci di rete del pubblico di Facebook su TestFlight?

Voglio distribuire il build su TestFlight per essere sicuro che funzionerà in modalità di rilascio. Quando provo a distribuire direttamente da XCode al mio dispositivo in modalità di rilascio, Facebook restituisce "No fill" per gli annunci. Anche gli annunci non vengono mostrati nelle build di TestFlight.

Hai qualche idea di mostrare annunci per dispositivi in ​​build TestFlight?

+0

Quali sono le differenze tra le 2 configurazioni (debug/release)? Forse hai attivato una modalità di debug (cioè un elenco di dispositivi di debug) per la rete di pubblico di Facebook solo per la tua configurazione di debug? Le tue app di Facebook sono state convalidate? –

+0

Le configurazioni sono le stesse. Inoltre, quando ho eseguito l'applicazione nello schema di rilascio, vedo gli annunci sia sul simulatore che sul dispositivo. – Luda

+0

Anche se non avevi annunci sui dispositivi in ​​modalità di rilascio: "Quando provo a distribuire direttamente da XCode al mio dispositivo in modalità di rilascio, Facebook restituisce" Nessun riempimento "per gli annunci." –

risposta

6

Ci potrebbero essere due ragioni principali per questo. Innanzitutto, non è stato possibile accedere all'utente o ai tester all'app nativa di Facebook sul dispositivo. Ciò potrebbe quindi comportare Error 1001 - No Fill Rate.

1001 - Nessun riempimento

Questo è un errore comune visto durante il test, e si riferisce ad una risposta "Nessun riempimento"; il motivo più comune è che l'utente non ha effettuato il login nello nell'app nativa di Facebook su un dispositivo di prova.

Codice di risposta SDK del server Risposta = 1001 Errore "No Fill" 1001 - No Fill. Forse a causa di uno o più dei seguenti elementi:

  • utente non connesso al Native Facebook App su dispositivi mobili
  • Limita Ad Tracking acceso (iOS)
  • No Ad Inventory per l'utente corrente
  • Il tuo dispositivo di test deve avere installata l'applicazione nativa di Facebook.
  • L'applicazione deve tentare di effettuare un'altra richiesta dopo 30 secondi.

Questo è ciò che il documentation ti dice per l'errore 1001.

In secondo luogo, si può ancora essere in modalità di debug e quindi non si vedono annunci nella modalità di rilascio. Per correggere questo errore, scarica i nuovi profili di provisioning dall'Apple Developer Center e attiva l'applicazione Facebook come rilasciata. Puoi farlo accedendo alla console per gli sviluppatori di Facebook e selezionando la tua app. Quindi sul lato sinistro si dovrebbe avere questa colonna, dove si seleziona STATUS & REVISIONE. screenshot 1 Quindi, attiva "Vuoi rendere pubblica questa app?" passare a SÌ. Yes Ciò renderà la tua app disponibile a chiunque, il che significa che gli annunci appariranno con tutti i tuoi tester.

I miei due centesimi dalla mia esperienza qui sarebbero che non hai reso pubblica l'app o non hai aggiunto gli utenti come beta tester. Pertanto, Facebook non è stato in grado di fornire alcun annuncio pubblicando l'errore 1001. Questa dovrebbe essere una soluzione rapida rendendo l'app pubblica e facendo accedere i tester attraverso l'app di Facebook. Ho avuto un problema simile con un'altra parte dell'SDK di Facebook, che è stata corretta dalla versione pubblica.

Speranza che aiuta, Julian

0

ho ancora affrontato lo stesso problema dopo aver applicato le soluzioni di cui sopra.Ho risolto con l'aggiunta di deviceHashId: -

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

ho qualche problema diverso se qualcuno ha qualche punto preghiamo di rispondere this stack overflow link

-1

Errore 1001 - No Fill Rate.

Se si desidera verificare gli annunci reali, provare questi passaggi:

  1. Collegato Facebook app
  2. Aprire Safari
  3. Trova su google "buy MacBook Air", aprire qualsiasi negozio, aggiungi MacBook al carrello
  4. Aperto app Facebook, pull-to-refresh Facebook storia
  5. Apri la tua app
  6. Ripeti i passaggi 2-5 con diversi termini di ricerca fino alla visualizzazione degli annunci nella tua app

Per i nostri dispositivi di test funziona quasi sempre.

1

Se hai i tuoi annunci in molti luoghi si può inserire questo codice nel AppDelegate

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

Questo codice farà in modo che gli annunci del test mostrano sul PROVA Scelta dei colori o il simulatore/dispositivo e inoltre assicurerà che quando rilasci all'app store i tuoi annunci verranno visualizzati come annunci LIVE e i dispositivi di test verranno cancellati.

chiamata: facebookAdsControl() nelle didFinishLaunchingWithOptions

è anche possibile chiamare questo codice nel codice in cui si hanno gli annunci, ma assicuratevi di chiamare prima adView.load()

Per poter utilizzare la macro si deve aggiungi le bandiere ai tuoi Swift Flags nelle Impostazioni di costruzione

Spero che questo aiuti qualcuno perché i Documenti di Facebook non sono molto chiari come ho scoperto.

+0

Ulteriori informazioni su Swift Flags: https://kitefaster.com/2016/01/23/how-to-specify-debug-and-release-flags-in-xcode-with-swift/ –