OneLink 導入ガイド バージョン1.1

AppsFlyerのOneLinkはAndroidとiOSの両OSで使える一つのスマートなトラッキングリンクです。OneLinkトラッキングリンクは、アプリが既にインストールされている場合、ユーザーをアプリストアに遷移することなくアプリを起動します(ディープリンク)。

アトリビューションデータの取得フロー:

OneLinkを利用するには、以下の手順に従ってください:

  1. アプリのディープリンクを設定します。
  2. AppsFlyer SDKのディープリンク機能を有効にします。
  3. AppsFlyerの計測リンクを作成します。
  4. (任意)AppsFlyerのアトリビューションデータにアクセスします。

1.  アプリにディープリンクを実装する

アプリがディープリンクを実行するためは、アプリのURLスキーマを設定する必要があります。

iOS 向けディープリンク設定

iOS 9 以上

iOS 9でディープリンクを機能させるためには、アプリのUniversal Linksを設定する必要があります。設定方法の詳細はこちらをご覧ください。

iOS 8以下

URLスキーマを登録するには、アプリのインフォメーションのplistファイル内で定義する必要があります。

  1. Xcodeにて、アプリのインフォメーションpfileファイルを開きます。
  2. URL typesエントリーを追加します。
  3. URL typesと「item 0」列を開き、新しい列を追加します。
  4. URL identifierにアプリのユニークIDを値として追加します。他のアプリに使用されそうにないIDを選択してください。

URL identifierを右クリックして、「Add Row」を選択し、URL Schemesを選択、Item 0の値としてスキーマを設定します。

上記が正常に設定できているかを確認するには、テスト端末またはiPhoneシミュレーターでアプリを立ち上げ、Safariを開き、スキーマで始まるURLを入力してください。例えば、「twitter://something」です。Safariからアプリが起動するはずです。

詳細はApple’s Programming GuideのImplementing Custom URL Schemesをご確認ください。

Android向けディープリンク設定

URLスキームを登録するにはアプリのManifestにintent filterを追加する必要があります。

アプリのManifest内で、関連するactivityに以下のintent-filterを追加してください:

<intent-filter>
               <action   android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <category android:name="android.intent.category.BROWSABLE" />
               <data     android:scheme="your unique scheme" />
</intent-filter>

例:

<activity android:label="@string/app_name" …..  >
           <intent-filter >
               <action android:name="android.intent.action.MAIN" />
               <category android:name="android.intent.category.LAUNCHER" />
           </intent-filter>
           <intent-filter>
               <action   android:name="android.intent.action.VIEW" />
               <category android:name="android.intent.category.DEFAULT" />
               <category android:name="android.intent.category.BROWSABLE" />
               <data     android:scheme="my-scheme" />
           </intent-filter>
   </activity>

上記が正常に設定できているかを確認するには、テスト端末で立ち上げ、ブラウザを開き、スキーマで始まるURLを入力してください。例えば、「my-scheme://something」です。アプリが起動するはずです。

2. ディープリンク向けにAppsFlyer SDKを実装する

iOS インテグレーション

これはこちらの基本的なSDK実装に加えて必要なステップです。

AppsFlyer SDKがアプリに実装されたあとは、アプリのdelegate openURLメソッドからSDKのhandleOpenURLを呼び出すだけです。

-(BOOL) application:(UIApplication *)application continueUserActivity:(NSUserActivity *)userActivity
restorationHandler:(void (^)(NSArray * _Nullable))restorationHandler {
  [[AppsFlyerTracker sharedTracker] continueUserActivity:userActivity restorationHandler:restorationHandler];
  return YES;
}
 

以下のコードはiOS 8以下のユーザーにのみ適用されます。

- (BOOL)application:(UIApplication *)application openURL:(NSURL *)url sourceApplication:(NSString *)
sourceApplication annotation:(id)annotation {
[AppsFlyerTracker sharedTracker] handleOpenURL:url sourceApplication:sourceApplication];
      return true;
}

Android インテグレーション

Androidでは、基本的なAppsFlyer SDKを実装することで、ディープリンクでのアプリ起動が可能になり、追加での実装は必要ありません。AppsFlyerのAndroid SDKガイドをご確認ください。

3. AppsFlyerリンクを作成する

ディープリンクは計測URLに「af_dp」パラメータを追加することで有効になります。このパラメータの値はアプリのディープリンクURLです。

例:

http://app.appsflyer.com/id554782625?pid=test&c=test&af_dp=ebay://products/cameras/EOS311

4. AppsFlyerのアトリビューションデータへアクセスする

AppsFlyerでは、アトリビューションデータに含まれるディープリンク情報にアプリをアクセスさせることができます。詳細はコンバージョンデータの取得方法をご確認ください。

iOS

AppsFlyerTrackerDelegateのonAppOpenAttributionメソッドを実装し、現在のセッション(アプリ起動)に対するアトリビューションデータを取得することができます。

例:

- (void) onAppOpenAttribution:(NSDictionary*) installData {
  NSLog(@"attribution: %@",installData);
}

Android

AppsFlyerConversionListenerのonAppOpenAttributionメソッドを実装し、現在のセッション(アプリ起動)に対するアトリビューションデータを取得することができます。

例:

AppsFlyerLib.registerConversionListener(this,new AppsFlyerConversionListener() {
          public void onInstallConversionDataLoaded(Map<String, String> conversionData) {
              // do something
          }
          public void onAppOpenAttribution(Map<String, String> conversionData) {
              // handle the attribution here
          }
});

例えば、以下のリンクは次のレスポンスを出力します:

リンク:

http://app.appsflyer.com/Facebook?pid=test&c=camp1&af_sub1=param1&af_dp=fb://somePath 

データレスポンス:

{
  "af_sub1" : "param1",
  "campaign" = "camp1",
  "media_source" = "test"
}

5. その他のプラットフォームでリンクを開く

AndroidやiOS以外のプラットフォームでリンクがクリックされたときに代替URLを設定することが可能です。例えば、Eメールキャンペーンを実施する際に、デスクトップでリンクがクリックされた場合はウェブサイトのURLを使うことができます。

これは「af_web_dp」パラメータの値をウェブサイトURLに指定して、計測リンクに追加することで実現可能です。

例:

http://go.onelink.ly/MyApp?af_web_dp=http%3A%2F%2Fmy-site.com/my-deep-link-path  

 

この記事は役に立ちましたか?
0人中0人がこの記事が役に立ったと言っています
他にご質問がございましたら、リクエストを送信してください
Powered by Zendesk