サードパーティのディファードディープリンクの追跡

iOS SDK を使用して、サードパーティのディファードディープリンクの追跡を実装します。

従来の Adobe Mobile SDK ディープリンク

現在、Adobe Mobile SDK がサポートしているディープリンクでは、アプリ開発者が trackAdobeDeepLink API を呼び出し、ディープリンクの URL(設定時に Adobe Mobile Services で生成されるフィンガープリンター URL)を渡すことが求められます。SDK はフィンガープリンターに Ping を発行して、獲得データを取得し、ライフサイクルの一部としてインストール/起動分析コールのコンテキストデータに追加します。さらに、SDK は、ディープリンク URL のパラメーターからのディープリンクデータも追加します。ディープリンクについて詳しくは、ディープリンクの追跡を参照してください。

Facebook ディープリンク

広告作成者は、Facebook 上に広告をディープリンクとして作成することができます。ユーザーが Facebook 上の広告をクリックすると、アプリに興味を持った情報に直接移動します。ディープリンクはフィンガープリンターの URL では​ありません。ただし、広告の設定時にサードパーティのディープリンク URL を指定するオプションがあります。Experience CloudのMobile SDKとサービスを使用するアプリ開発者は、Mobile Servicesで設定されたフィンガープリンターのURLをこのフィールドに入力する必要があります。 すべてが正しく設定されている場合、Facebook SDK は、アプリがインストールまたは起動されたときにこの URL をアプリケーションに渡します。

Setting up the SDKs

  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; 
      }
      

このページ

Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now
Adobe Maker Awards Banner

Time to shine!

Apply now for the 2021 Adobe Experience Maker Awards.

Apply now