Deep link nell'app mobile per iOS

Un deep link è un link che indirizza non solo alla tua app, ma a un contenuto specifico al suo interno. Per maggiori informazioni, consulta Aggiunta di deep link all'inserzione per l'app.

Puoi supportare i deep link utilizzando i link universali o gli schemi URL personalizzati.

Supporto dei link universali

Prerequisiti

Prima di poter supportare i link universali nella tua app mobile per iOS, devi soddisfare i seguenti prerequisiti:

Dopo aver soddisfatto i prerequisiti, puoi aggiungere il codice alla tua app per supportare la misurazione aggregata degli eventi. Per maggiori informazioni, consulta Misurazione aggregata degli eventi.

Supporto degli schemi URL personalizzati nell'app mobile

Passaggio 1: aggiunta delle impostazioni per i deep link

Nella Dashboard gestione app, aggiungi le informazioni sui deep link per la tua app. Accedi a Dashboard > Impostazioni > iOS.

  • Per Suffisso schema URL, aggiungi lo schema URL senza ://. Ad esempio, se lo schema URL è mytravelapp://, inserisci mytravelapp. Nota: questo requisito non si applica alle versioni di iOS precedenti a iOS 16.
  • Per ID dell'App Store, acquisisci l'ID dell'URL dell'App Store: https://itunes.apple.com/us/app/my-app/APP_STORE_ID.

Passaggio 2: deferred deep linking (facoltativo)

Il deferred deep linking consente di indirizzare le persone a una visualizzazione personalizzata dopo l'installazione dell'app tramite l'App Store.

Il deferred deep linking è necessario se targetizzi persone che non hanno ancora installato l'app. Se la targetizzazione riguarda solo chi ha già installato l'app, non devi aggiungere il deferred deep linking.

A seguito degli aggiornamenti di iOS 14, il deferred deep linking non è più supportato per l'endpoint POST /{ad-id} per le campagne SKAdNetwork.

L'SDK di Facebook per iOS comprende il prodotto App Links, che abilita il supporto del deferred deep linking nella tua app. Oltre all'implementazione dei deep link, aggiungi il seguente codice per la gestione dei deferred deep link.

Se segui la conformità al GDPR come da Conformità al GDPR in Best practice per l'SDK di FB per la conformità al GDPR, innanzitutto riabilita l'inizializzazione automatica dell'SDK dopo aver ottenuto il consenso di un utente finale prima di recuperare un deferred link.

Objective-C

Codice per gestire i deferred link:

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) {
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) {
      if (error) {
        NSLog(@"Received error while fetching deferred app link %@", error);
      }
      if (url) {
        [[UIApplication sharedApplication] openURL:url];
      }
    }];
  }
  return YES;
}

Codice per riabilitare l'inizializzazione automatica dell'SDK, se necessario:

#import <FBSDKCoreKit/FBSDKCoreKit.h>

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
  if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) {
    // Get user consent
    [FBSDKSettings setAutoInitEnabled:YES];
    [FBSDKApplicationDelegate initializeSDK:nil];
    [FBSDKAppLinkUtility fetchDeferredAppLink:^(NSURL *url, NSError *error) {
      if (error) {
        NSLog(@"Received error while fetching deferred app link %@", error);
      }
      if (url) {
        [[UIApplication sharedApplication] openURL:url];
      }
    }];
  }
  return YES;
}

Swift

Codice per la gestione dei deferred link:

import FacebookCore

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        AppLinkUtility.fetchDeferredAppLink { (url, error) in
            if let error = error {
                print("Received error while fetching deferred app link %@", error)
            }
            if let url = url {
                if #available(iOS 10, *) {
                    UIApplication.shared.open(url, options: [:], completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(url)
                }
            }
        }
        return true;
}

Codice per riabilitare l'inizializzazione automatica dell'SDK, se necessario:

import FacebookCore

func application(_ application: UIApplication, didFinishLaunchingWithOptions launchOptions: [UIApplication.LaunchOptionsKey : Any]? = nil) -> Bool {
        // Get user consent
        Settings.isAutoInitEnabled = true
        ApplicationDelegate.initializeSDK(nil)
        AppLinkUtility.fetchDeferredAppLink { (url, error) in
            if let error = error {
                print("Received error while fetching deferred app link %@", error)
            }
            if let url = url {
                if #available(iOS 10, *) {
                    UIApplication.shared.open(url, options: [:], completionHandler: nil)
                } else {
                    UIApplication.shared.openURL(url)
                }
            }
        }
        return true;
} 

Passaggio 3: verifica della configurazione dei deep link

Puoi verificare la configurazione dell'SDK di Facebook e del deep link all'interno del nostro strumento di assistenza sulle inserzioni per le app nella sezione dedicata agli strumenti e all'assistenza. È consigliabile verificare la configurazione prima di pubblicare inserzioni con deep link.

Verifica della configurazione del deep link

Se hai selezionato Installazioni dell'app come obiettivo, puoi aggiungere un deferred deep link.

In Gestione inserzioni, seleziona Nuovo gruppo di inserzioni e scorri fino a Creatività dell'inserzione. Aggiungi un deep link o un URL con metadati di App Links di Facebook implementati per portare gli utenti in un luogo specifico all'interno dell'app dopo l'installazione.

Altri contenuti da consultare