2015-05-20 19 views
14

Ho fatto qualche esplorazione e hanno trovato le seguenti cose, questo è quello che ho fatto finora:Come utilizzare la funzionalità di collegamento in profondità differita di Facebook per le nuove installazioni e per testare la stessa prima di pubblicare l'app iOS in appStore?

  1. Implementato URL personalizzato like-- myApp: //
  2. Aggiunto FacebookAppID, nome visualizzato alla mia informazioni il file .plist
  3. Incluso il Facebook SDK
  4. Creato collegamento applicazione Facebook tramite Facebook mobili di hosting API ed ha ottenuto l'url qualcosa come: https://fb.me/1601524146753610
  5. Usato quanto sopra URL profondo link mentre creando a annunci di installazione in pp.
  6. implementato la funzione qui sotto nel mio AppDelegate.m

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
    
  7. Aggiunto il codice qui sotto nel mio AppDelegate.m

    //Initialization 
    [FBAppEvents activateApp]; 
    [FBSettings setClientToken:@"ca45a3a2133ae2f37ebd4d90408816e6"]; 
    
    //Function to check for deferred deep link and call the method with recieved url 
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){ 
    if(url) 
    [self application:nil openURL:url sourceApplication:nil annotation:nil]; 
    }]; 
    

Si prega di farmi sapere se ho perso qualcosa in recupero del link diretto differito. Inoltre, come posso testare lo stesso prima di pubblicare la mia app iOS su appStore.

risposta

6

Avevo segnalato lo stesso supporto di Facebook e hanno affermato che i passaggi sopra menzionati erano corretti per implementare la funzionalità di deep link differita.

Inoltre, lo stesso può essere testati come segue:

  1. Visita https://developers.facebook.com/tools/app-ads-helper

  2. Seleziona l'applicazione e premere 'Invia'.

  3. Nella parte inferiore si trova "Deep Link Tester" in Strumenti per sviluppatori. Fai clic su "Test deep link" e nella finestra di dialogo puoi inserire il tuo deep link per testare.

  4. Se si desidera verificare i collegamenti posticipati, selezionare "Invia rinviati" nella finestra di dialogo.

Quindi, dopo aver effettuato questa operazione è necessario disinstallare l'app (se già presente) e quindi eseguire di nuovo l'installazione dall'app store. Il dispositivo su cui si testerà questa operazione dovrebbe avere installato l'app di Facebook e aver effettuato l'accesso con l'account dal quale è stata inviata la "richiesta di collegamento interrotto posticipato" dall'helper app-ads.

Ora, quando apri la tua app, dovresti vedere la funzionalità del link diretto differito che funziona.

I passaggi precedenti hanno funzionato per me.

+0

Quindi, è necessario distribuire l'applicazione per il negozio? – locoboy

+0

@locoboy no, devi solo integrare la tua app con il tuo account Facebook. –

+0

Un paio di note aggiuntive del team su https://branch.io: 1. I collegamenti diretti differiti da App Invites su iOS non funzionano. 2.Gli annunci di installazione di prova nel generatore di annunci non attivano i link diretti differiti 3. Gli annunci live del tuo account non attivano i link diretti differiti. 4. Assicurati di eseguire il test con il telefono collegato a Facebook con l'account associato all'app –

1
  1. Accedere al vostro facebook
  2. quindi fare clic su https://developers.facebook.com/tools/app-ads-helper
  3. Selezionare un app che si desidera verificare da discesa
  4. Hit presentare
  5. In basso troverete 'Deep Link Tester' sotto Developer Utensili.
  6. Fai clic su "Test deep link" e nella finestra di dialogo puoi inserire il tuo deep link.
  7. Selezionare i segni di spunta "Invia notifica" e "Invia rinviati".

    Quindi riceverai una notifica per la tua app di Facebook.

8.Add chiavi a soffietto per il tuo info.plist

<key>CFBundleURLTypes</key> 
     <array> 
      <dict> 
       <key>CFBundleURLSchemes</key> 
       <array> 
        <string>**Your URL Scheme** </string> 
        <string>**Your FB app id** </string> 
       </array> 
      </dict> 
     </array> 

schema URL Like "testScheme: // ......."

FB app id Come "fb ........."

"

Ora possiamo testare 2 casi.

  1. app già installato nel dispositivo con implementazione collegamento differita

  2. Nuova installazione

per il 1 ° caso, installare la vostra applicazione e quindi fare clic su Notifica facebook, si viene reindirizzato per la vostra applicazione .

per il 2 ° caso, per le nuove installazioni

  1. Disinstallare la vostra applicazione e collegare il dispositivo a Xcode

  2. Quindi fare clic deeplink notifica facebook, è reindirizzato al AppStore, non installare dall'appstore perché l'app pubblicata non ha implementazione deep link app

  3. Quindi è possibile eseguire l'app da xcode, una volta è installato, è aperto il tuo deeplink come primo caso.

Ecco fatto ....

Nota: Non dimenticate di implementare

- (void)applicationDidBecomeActive:(UIApplication *)application { 
[FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url,NSError *error){ 
      if(url) 
      { 
       // redirect to where you want 
      } 
     }]; 
     ........... 
} 
+0

È ancora supposto che funzioni su iOS 10? – gphilip

+0

@gphilip, sì funziona – PVCS