跟踪第三方延期深层链接

使用 iOS SDK 实施第三方延期深层链接跟踪。

经典 Adobe Mobile SDK 深层链接

Adobe Mobile SDK 当前支持深层链接,应用程序开发人员应在该链接中调用 trackAdobeDeepLink API,并传递深层链接 URL,该 URL 为配置期间在 Adobe Mobile Services 中生成的指纹 URL。该 SDK 可对指纹执行 ping 操作以获取客户获取数据,并将其作为生命周期的一部分附加到安装/启动分析调用上下文数据中。此外,SDK 还附加深层链接 URL 参数中的深层链接数据。有关深层链接的更多信息,请参阅跟踪深层链接

Facebook 深层链接

广告创建者可在 Facebook 上创建一个广告作为深层链接。当用户在 Facebook 上单击该广告时,将会直接转到应用程序中他们感兴趣的信息。深层链接​不是​指纹 URL。但是,在广告配置期间,有一个选项可提供第三方深层链接 URL。使用Experience CloudMobile SDK和服务的应用程序开发人员应在此字段中输入Mobile Services配置的指纹URL。 如果一切设置正确,在安装或启动应用程序时,Facebook SDK 便会将此 URL 传递到应用程序。

设置 SDK

  1. 设置 Facebook SDK。

    有关更多信息,请参阅以下内容:

  2. 要设置 SDK,请调用 trackAdobeDeepLink 并将 URL 传递到 SDK:

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

    请确保深层链接 URL 具有一个名为 a.deeplink.id 的键。如果 URL 缺少 a.deeplink.id 参数,则不会将 URL 参数附加到上下文数据中。

如果按以上所述设置了应用程序,当前的 AMSDK 版本将可正常运行,并向安装/启动分析调用正确附加深层链接数据。

在示例应用程序中启用该功能

  1. 注册 URL 方案。

    确保您已注册与深层链接 URL 相同的 URL 方案。

    <key>CFBundleURLTypes</key> 
        <array> 
            <dict> 
                <key>CFBundleURLSchemes</key> 
                <array> 
                    <string>sampleapptest</string> 
                </array> 
            </dict> 
        </array>
    
  2. 关联 Facebook SDK。

    Facebook 资产

  3. 编辑 AppDelegate

    1. 导入标头。

      /************************************************************************* 
      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. 为延期深层链接添加句柄。

      - (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. 调用 trackAdobeDeepLink API 并将深层链接 URL 传递到 SDK。

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

在此页面上