Verzögerte Drittanbieter-Deep-Links verfolgen

Verwenden Sie das iOS-SDK, um die Verfolgung verzögerter Deep-Links von Drittanbietern zu implementieren.

Deep-Links für das Classic Adobe Mobile SDK

Das Adobe Mobile SDK unterstützt derzeit Deep-Links, bei dem vom App-Entwickler erwartet wird, dass er die trackAdobeDeepLink-API aufruft und die Deep-Linking-URL weitergibt. Hierbei handelt es sich um die Fingerprinter-URL, die in Adobe Mobile Services während der Konfiguration generiert wird. Das SDK pingt den Fingerprinter zum Abrufen der Akquisedaten und hängt sie als Bestandteil des Lebenszyklus an die Kontextdaten für das Installieren/Starten von Analyseaufrufen an. Darüber hinaus hängt das SDK die Deep-Link-Daten aus den Deep-Link-URL-Parametern an. Weitere Informationen zu Deep-Linking finden Sie unter Verfolgen von Deep-Links.

Facebook-Deep-Links

Ersteller von Werbeanzeigen können eine Werbeanzeige auf Facebook als Deep-Link erstellen. Wenn Benutzer auf die Anzeige auf Facebook klicken, werden sie direkt zu den Informationen weitergeleitet, an denen sie in der App interessiert sind. Der Deep-Link ist keine Fingerprinting-URL. Während der Werbekonfiguration ist jedoch eine Option zur Bereitstellung einer Drittanbieter-Deep-Link-URL verfügbar. Von einem App-Entwickler, der die Experience Cloud Mobile-SDK und Services verwendet, wird erwartet, dass er die für Adobe Mobile Services konfigurierte Fingerprinter-URL in dieses Feld eingibt. Wenn alles ordnungsgemäß eingerichtet ist, übergibt das Facebook-SDK diese URL an die Anwendung, wenn die App installiert oder gestartet wird.

Einrichten der SDKs

  1. Einrichten des Facebook-SDK.

    Weitere Informationen finden Sie hier:

  2. Um das SDK einzurichten, rufen Sie trackAdobeDeepLink auf und übergeben Sie die URL an die SDK:

    - (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)sourceApplication annotation:(id)annotation 
    { 
      [ADBMobile trackAdobeDeepLink:url]; 
      return YES; 
    }
    
    TIPP

    Stellen Sie sicher, dass die Deep-Link-URL über einen Schlüssel mit dem Namen a.deeplink.id verfügt. Es werden keine URL-Parameter an die Kontextdaten angehängt, wenn der Parameter a.deeplink.id in der URL fehlt.

Wenn die Anwendung entsprechend der obigen Beschreibung eingerichtet ist, funktionieren die aktuelle Adobe Mobile-SDK-Version und das Anhängen der Deep-Link-Daten zum Installieren/Starten von Analyseaufrufen ordnungsgemäß.

Funktion in einer Beispiel-App aktivieren

  1. Registrieren Sie ein URL-Schema.

    Stellen Sie sicher, dass Sie ein URL-Schema registriert haben, das mit der Deep-Link-URL identisch ist.

    <key>CFBundleURLTypes</key> 
        <array> 
            <dict> 
                <key>CFBundleURLSchemes</key> 
                <array> 
                    <string>sampleapptest</string> 
                </array> 
            </dict> 
        </array>
    
  2. Verlinken Sie die Facebook-SDK.

    Facebook-Assets

  3. Vorlage AppDelegate.

    1. Importieren Sie die Header.

      /************************************************************************* 
      ADOBE SYSTEMS INCORPORATED 
      Copyright 2015 Adobe Systems Incorporated 
      All Rights Reserved. 
      NOTICE:  Adobe permits you to use, modify, and distribute this file in accordance with the 
      terms of the Adobe license agreement accompanying it.  If you have received this file from a 
      source other than Adobe, then your use, modification, or distribution of it requires the prior 
      written permission of Adobe. 
      
      **************************************************************************/ 
      
      #import "AppDelegate.h" 
      #import "GalleryViewController.h" 
      #import "SimpleTrackingController.h" 
      #import "PostbackController.h" 
      #import "InAppMessageViewController.h" 
      #import "LifetimeValueController.h" 
      #import "LocationTargetingController.h" 
      #import "MediaViewController.h" 
      #import "TimedActionController.h"
      
      // Uncomment after including the facebook sdks. 
      @import FBSDKCoreKit; 
      @import Bolts;
      
    2. Fügen Sie das Handle für verzögerte Deep-Links hinzu.

      - (BOOL) application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions { 
          /* 
           * Adobe Tracking - Analytics 
           * 
           * turn on debug logging for the ADBMobile SDK 
           * enable the collection of lifecycle data 
           */ 
              if (launchOptions[UIApplicationLaunchOptionsURLKey] == nil) { 
                  if (NSClassFromString(@"FBSDKAppLinkUtility") != nil) 
                  { 
                      [NSClassFromString(@"FBSDKAppLinkUtility") performSelector:@selector(fetchDeferredAppLink:) withObject:^(NSURL *url, NSError *error) { 
                          if (error) { 
                              NSLog(@"Received error while fetching deferred app link %@", error); 
                          } 
                          if (url) { 
                              [[UIApplication sharedApplication] openURL:url]; 
                          } 
                      }]; 
                  } 
          } 
          ..... 
          ..... 
          return YES; 
      }
      
    3. Rufen Sie die trackAdobeDeepLink-API auf und übergeben Sie die Deep-Link-URL an das SDK.

      - (BOOL)application:(UIApplication *)app openURL:(NSURL *)url options:(NSDictionary<NSString *, id> *)options { 
          [self handleDeepLink:url]; 
      
          return YES; 
      }
      

Auf dieser Seite