THEMEN×
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 diese Facebook-Werbeanzeige klicken, werden sie direkt an die Information weitergeleitet, an der sie in der App interessiert waren. 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 SDK
- Einrichten des Facebook-SDK.Weitere Informationen finden Sie hier:
- 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; }
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
- Registrieren Sie ein URL-Schema.Stellen Sie sicher, dass Sie ein URL-Schema registriert haben, das der Deep-Link-URL entspricht.
<key>CFBundleURLTypes</key> <array> <dict> <key>CFBundleURLSchemes</key> <array> <string>sampleapptest</string> </array> </dict> </array>
- Verlinken Sie die Facebook-SDK.
- Vorlage AppDelegate .
- 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;
- 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; }
- 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; }