どのようにお手伝いできますか?

自社ドメインでOneLinkをブランド化

  • 更新

OneLinkリンクを使用する広告主は、自社ドメインを使用してリンクをブランド化できます。これにより、キャンペーンのパフォーマンス向上とブランド露出の拡大が期待できます。

Branded_1__3_.jpg

ブランドドメイン

  • ブランドドメインを使用すると、自社ブランドとドメインを用いてアトリビューションリンクをブランド化できます。たとえば、上の図では以下のように設定されています。
    • OneLink: abcdef.onelink.me
    • ブランドドメイン: abcdef.com
    • サブドメイン例: app
    • ブランドドメインを実装すると、自社の完全修飾ドメインを使用でき、アトリビューションリンクをclick.abcdef.comのような形式にできます。
  • ブランドドメインには、以下のようなメリットがあり、キャンペーンのパフォーマンス向上につながります。
    • 信頼性の向上: 自社ブランドを活用し、一貫したブランドアイデンティティを維持することで、ユーザージャーニー上の不安や抵抗を減らし、CTRの向上につなげます。
    • 自社ブランドを活用したディープリンクが可能です。
    • 簡単な実装: 実装が容易で、OneLinkと同じように動作します。
    • ブランド認知度の向上:  一般的な汎用リンクではなく、自社ブランドをキャンペーンに表示できます。
    • リンクのドメインと送信元メールアドレスのドメインが一致しないことによる、メールのスパム判定リスクを軽減できます。
    • ブランドドメインは、AppsFlyerの有料契約プランに含まれています。

実装の基本原則

ブランドドメインは、DNS(Domain Name System)で定義した完全修飾ドメインを、OneLinkのサブドメイン、すなわちAppsFlyerのCNAME参照先に関連付けることで実装します。実装には、DNSの標準設定を使用するとともに、AppsFlyer上でブランドドメインを設定します。さらに、ブランドドメインに対応するため、アプリにも軽微な変更を加える必要があります。

設定にあたっては、通常、自社のITチームまたはDNSホスティングプロバイダーに所属するDNS管理者と、アプリ開発者の協力が必要です。

1つのOneLinkサブドメインに、複数の完全修飾ドメインを関連付けることもできます。これにより、複数のブランドで同じOneLinkサブドメインを使用できます。

ブランドドメインの設定

ブランドドメインを設定するには、以下の作業を完了してください。

担当者 作業 備考
1 DNS管理者の支援を受けるマーケティング担当者 AppsFlyerでブランドリンクを設定する 通常は自社のITチームまたはDNSホスティングプロバイダーに所属するDNS管理者が、完全修飾ドメイン(ホストとも呼ばれます)を定義し、手順に従ってCNAMEレコードを設定する必要があります。
2 開発者 アプリでブランドドメインを設定する アプリのコードに軽微な変更を加えます。
3 マーケティング担当者 ブランドドメインを使用してテストする
必要に応じて マーケティング担当者 ブランドドメインを編集または削除する

手順

AppsFlyerでブランドドメインを設定する

ブランドドメインの設定では、以下の図のように、DNSで設定した完全修飾ドメインをAppsFlyerのOneLinkサブドメインに関連付けます。

AppsFlyerサーバーを参照するブランドドメイン

AppsFlyerサーバーを参照するブランドドメインの図

始める前に:

  • 使用する完全修飾ドメイン名を決定します。 たとえば、app.abcdef.comです。
    abcdef.comは自社ブランドのドメインです。 appなどのサブドメインも任意に設定できます。
  • DNS管理者に、完全修飾ドメイン(ホスト)の作成を依頼します。
  • DNS管理者に、完全修飾ドメイン、つまりブランドドメインが指定されたURL、
    すなわちAppsFlyerホストを参照するよう、CNAMEレコードの設定を依頼します。
    この構成は、上の「AppsFlyerサーバーを参照するブランドドメイン」の図に示されています。

完全修飾ドメインをOneLinkサブドメインにマッピングする:

  1. AppsFlyerで、エンゲージメント > ブランドドメインの順にクリックします。
  2. +新しいブランドドメインをクリックします。
  3. ブランドドメインフィールドに、DNSで設定した完全修飾ドメインを入力します。例:click.abcdef.com 注意:ドメインの末尾にピリオドを付けないでください。
  4. 表示された一覧から、OneLinkサブドメインを選択します。一覧が表示されない場合は、
    OneLinkテンプレートを作成する必要があります。 OneLinkテンプレートを作成すると、
    デフォルトのサブドメインが提供されます。
  5. 次へをクリックします。
  6. CNAMEレコードを設定します:
    • ドメインがAppsFlyerのCNAME参照先を正しく参照している場合は、
      「AppsFlyerのCNAMEが見つかりました」と表示されます。
    • CNAMEが見つからない場合は、AppsFlyerのCNAME参照先をコピーしてDNS管理者に共有し、完全修飾ドメインがそのCNAME参照先にマッピングされていることを確認するよう依頼してください。 DNS管理者は、完全修飾ドメインがAppsFlyerのCNAME参照先を指すように設定する必要があります。マッピングされていない場合、ブランドドメイン自体は作成されますが、正常に動作しません。

      注意

      CNAMEレコードは、ブランドドメインの作成日から確認ダイアログに表示される指定日までの7日以内にマッピングする必要があります。
      指定された期日までにCNAMEレコードがマッピングされなかった場合は、
      7日間の設定期間を更新する必要があります。

  7. 完了をクリックします。これで、ブランドドメインにマッピングされたOneLinkテンプレートを使用して、新しいリンクを作成できます。

    注意

    • ブランドドメインを設定する前に、同じOneLinkテンプレートを使用してリンクをすでに作成している場合でも、それらのリンクは引き続き正常に動作します。
    • 新しいブランドドメインが利用可能になるまで、最大24時間かかる場合があります。

CNAMEレコードのマッピング期限(7日間)の更新

ブランドドメインの作成から7日以内に完全修飾ドメインのCNAMEレコードがAppsFlyerへマッピングされなかった場合、新しいブランドドメインは機能しません。

注意

7日間の期限が過ぎた後にCNAMEレコードをマッピングした場合でも、新しいブランドドメインを動作させるには、7日間の設定期間を更新する必要があります。

7日間の設定期間を更新するには、以下の手順を実行します:

  1. AppsFlyer管理画面 左メニュー エンゲージメント > ブランドドメインへ移動します。
  2. 警告アイコン(alert.png)が表示されている、AppsFlyerにまだマッピングされていないブランドドメインを開きます。
  3. 更新アイコン(refresh.png)をクリックして、7日間の設定期間を更新します。

注意

7日間の設定期間を更新しない場合は、削除アイコン(delete-subdomain.png)をクリックしてブランドドメインを削除できます。削除できるのは、AppsFlyerにまだマッピングされていないブランドドメインのみです。

カスタムSSL証明書(任意)

AppsFlyerが管理するSSLは、デフォルトかつ多くのお客様に推奨される設定です。 AppsFlyerが証明書の発行と更新を自動的に行うため、追加の対応は必要ありません。特定のセキュリティ要件やコンプライアンス要件がある場合は、AppsFlyer管理のSSLではなく、自社で選択した認証局のSSL証明書、すなわちカスタムSSL証明書を使用できます。このオプションを選択した場合、証明書の発行、アップロード、管理、更新はお客様の責任で行う必要があります。証明書の有効期限が切れ、期限内に更新されなかった場合、サービスが中断する可能性があります。

カスタムSSL証明書を使用するには:

  1. ブランドドメインを作成します。
  2. AppsFlyerで、エンゲージメント > ブランドドメインの順に移動し、対象のドメインにカーソルを合わせて「カスタムSSL証明書」アイコンを選択します。

    SSL certificate icon Newest minimal.png
  3. 証明書情報のフォームに必要事項を入力します。 

    fill in form to generate CSR file.png
  4. CSRをダウンロードをクリックし、入力した内容に基づくCSRファイルをダウンロードします。
    Download CSR file.png
  5. ダウンロードしたCSRファイルを、選択したSSL認証局に提出します。
  6. 認証局から新しいSSL証明書が発行されたら、その証明書をAppsFlyerにアップロードします。
Upload new SSL certificate to AF.png

注意

SSL証明書には有効期限があります。現在の証明書の有効期限が切れる前に、証明書を更新し、更新後の証明書をAppsFlyerにアップロードする責任はお客様にあります。

アプリでブランドドメインを設定する
  • 以下のSDKバージョンを使用してください:
    • Android SDK V4.10.1以降
    • iOS SDK V4.10.1以降
    • ユーザー紹介機能を使用する場合は、iOSとAndroidの両方でSDK V5.2.0以降が必要

ブランドドメインのSDK実装に関する考慮事項

  • ブランドドメインを使用してディープリンクが行われた場合、AppsFlyer SDKは、インストールおよびディープリンクに関するコンバージョンデータを取得できません。
  • この問題に対応するため、開発者はAndroidではsetOneLinkCustomDomain、iOSではoneLinkCustomDomainsのSDK APIを使用します。
  • このAPIはブランドドメインに問い合わせ、マッピングされているOneLinkドメインを取得したうえで、OneLinkの処理を完了します。
Android

マニフェストのintent-filterを更新し、android:hostにブランドドメインを指定してください。

AndroidのグローバルApplicationクラスで、SDKを初期化する前にこのAPIを使用してください。

例

public class AFApplication extends Application {

    @Override
    public void onCreate() {
    super.onCreate();
      
      // Set branded link domain. ドメインにはhttps://を含めないでください。 
      AppsFlyerLib.getInstance().setOneLinkCustomDomain("promotion.greatapp.com");
      AppsFlyerLib.getInstance().init(AF_DEV_KEY, conversionListener, this);
      AppsFlyerLib.getInstance().start(this, AF_DEV_KEY);

    }
}

ブランドドメインが複数ある場合は、コンバージョンデータを常に取得し、アプリへのディープリンクを正常に行えるよう、すべてのドメインをAPIに渡してください。

例

AppsFlyerLib.getInstance().setOneLinkCustomDomain("promotion.greatapp.com", 
                                                        "click.greatapp.com", 
                                                        "deals.greatapp.com");
iOS

iOS Universal Links用にドメインを関連付ける方法:

  • Xcodeで設定したOneLinkドメイン/サブドメインを、Associated Domainsとして登録します。
  • Xcode にてブランドドメインを associated domain と設定します。
  • コンバージョンデータを取得できるよう、ブランドリンクを設定します。手順については、以下から該当するプログラミング言語を選択してください。
Objective-C

AppDelegate.mのdidFinishLaunchingWithOptionsメソッド内で、以下のAPIを使用します。

- (BOOL)application:(UIApplication *)application didFinishLaunchingWithOptions:(NSDictionary *)launchOptions {
    /** APPSFLYER INIT **/
    [AppsFlyerLib shared].appsFlyerDevKey = @"SED_DEV_KEY";
    [AppsFlyerLib shared].appleAppID = @"123456789";
    [AppsFlyerLib shared].oneLinkCustomDomains = @[@"promotion.greatapp.com"];
    //...
    //...
  }

ブランドドメインが複数ある場合は、コンバージョンデータを常に取得し、アプリへのディープリンクを正常に行えるよう、すべてのドメインをAPIに渡してください。

例

[AppsFlyerLib shared].oneLinkCustomDomains = @[@"promotion.greatapp.com", @"click.greatapp.com"];
Swift

AppDelegate.swiftのdidFinishLaunchingWithOptionsメソッド内で、以下のAPIを使用します:

   func application(_ application: UIApplication, didFinishLaunchingWithOptions 
        launchOptions: [UIApplicationLaunchOptionsKey: Any]?) -> Bool {
          AppsFlyerLib.shared().appsFlyerDevKey = "6CQi4Be6Zs9oNLsCusPbUL"
          AppsFlyerLib.shared().appleAppID = "340954504"
          AppsFlyerLib.shared().oneLinkCustomDomains = ["example.com"]
          //...
          //...
   }

ブランドドメインが複数ある場合は、文字列の配列としてAPIに渡すことができます。これにより、どのブランドリンクが使用された場合でも、コンバージョンデータを取得し、アプリへのディープリンクを正常に行えるようになります。

例

AppsFlyerLib.shared().oneLinkCustomDomains = ["promotion.greatapp.com", "click.greatapp.com"]
ブランドドメインを使用してテストする

前提条件:

ブランドドメインを使用してテストする前に、ブランドドメインのワークフローに記載されている手順をすべて完了してください。

ブランドドメインの作成とテスト方法:

  1. ブランドドメインにマッピングされたOneLinkテンプレートを使用してOneLinkのカスタムリンクを作成してください。
  2. カスタム計測リンクをテキストエディタにコピーします。
  3. カスタム計測リンクは、OneLinkサブドメイン、OneLink ID、およびカスタムリンクID で構成されています。 OneLinkサブドメインを、ブランドドメインの完全修飾ドメインに置き換えます。例:

    カスタム計測リンク ブランドドメイン
    abcdef.onelink.me/A1bc/dc1234ef click.abcdef.com/A1bc/dc1234ef
  4. ブランドリンクを使用してインストールとディープリンクをテストします。
  5. テストの一環としてローデータレポートを使用する場合、Original URLのフィールドにはブランドリンクが入力されます。
ブランドドメインを編集、検証、削除する

ブランドドメインのマッピングを編集する

既存の完全修飾ドメインのマッピング先を、別のOneLinkサブドメインに変更できます。この場合、CNAMEを再設定する必要はありません。

  1. AppsFlyer管理画面 左メニュー エンゲージメント > ブランドドメインへ移動します。
  2. 編集するブランドドメインに移動します。
  3. 編集アイコン (edit-subdomain.png) をクリックします。
  4. 新しいOneLinkサブドメインを選択します。
  5. 次へをクリックします。 CNAME を設定する必要はありません。
  6. [完了]をクリックします。

要注意

配信中のキャンペーンで使用しているブランドドメインを変更すると、リンクの動作が変わったり、リンクが機能しなくなったりする可能性があります。

ブランドドメインのマッピングを検証する

ブランドドメインにマッピングされているOneLinkサブドメインを変更した後は、ブランドドメインが正しくマッピングされていることを確認してください。

  1. AppsFlyer管理画面 左メニュー エンゲージメント > ブランドドメインへ移動します。
  2. 検証するブランドドメインに移動します。
  3. 確認アイコン(verify-2.png)をクリックします。

注意

CNAMEレコードがまだマッピングされていないことが原因で検証に失敗した場合は、検証失敗ダイアログに表示される期日まで、最大7日間の設定期間があります。
指定された期日までにCNAMEレコードがマッピングされなかった場合は、7日間の設定期間を更新する必要があります。

ドメインのCNAMEレコードがAppsFlyerを参照しなくなった場合:

CNAMEレコードを変更し、AppsFlyerを参照しない状態にすると、該当するブランドドメインはAppsFlyerから削除されます。

ブランドドメインのマッピングを削除する:

ブランドドメインを削除するには、AppsFlyerのCSMまたはhello@appsflyer.comまでお問い合わせください。

トラブルシューティング、特性、制限事項

トラブルシューティング
症状 原因/解決方法
ブランドドメインをOneLinkテンプレートにマッピングできない
  • ドメイン名が無効: ブランドドメインをOneLinkテンプレートにマッピングする際、AppsFlyerはブランドリンクのドメイン名が有効であることを確認します。有効なドメイン名は、click.abdef.comのような形式です。
  • ブランドドメインがすでにマッピングされている: 1つの完全修飾ドメインをマッピングできるのは1回のみです。
ブランドドメインからアプリへディープリンクされない
  • ブランドドメインが機能していることを確認する
  • CNAMEを確認する:ブランドドメインからAppsFlyerを参照するCNAMEレコードが設定されていることを確認してください。
  • OneLinkテンプレートのディープリンク設定を確認する:OneLinkのディープリンク設定に問題がある可能性があります。 OneLinkを使用したディープリンクが正しく設定されていることを確認してください。
  • OneLinkのマッピングが変更された:ブランドドメインを編集し、別のOneLinkにマッピングできます。新たにマッピングしたOneLinkのディープリンク設定が異なる場合や、ディープリンク設定がない場合は、ディープリンクが機能しない可能性があります。
ブランドドメイン経由のインストールが計測されない
  • OneLinkテンプレート設定の確認:ブランドドメインへのマッピングに使用したOneLinkサブドメインが、正しいアプリに関連付けられていることを確認してください。
  • OneLinkサブドメインが変更された:ブランドドメインをOneLinkテンプレートにマッピングした後でOneLinkサブドメインが変更されると、アトリビューションに影響する可能性があります。
  • 実装の確認:アプリにsetOneLinkCustomDomain APIが実装されていることを確認してください。
ブランドドメイン経由のリエンゲージメントが記録されない

以下が有効であり、正しく設定されていることを確認してください。

ブランドドメインの設定中に「ドメインが存在しません」と表示される
  1. DNS管理者に連絡し、調査を依頼します。
  2. DNS管理者からドメインが登録済みであるとの連絡を受けるまで待ちます。
  3. 再確認をクリックします。
ブランドドメインの設定中に「AppsFlyerのCNAMEが見つかりません」と表示される
  1. DNS管理者に、完全修飾ドメイン、つまりブランドドメインが、指定されたURL、すなわちAppsFlyerホストを参照するよう、CNAMEレコードの設定を依頼します。この構成は、本セクションの「AppsFlyerサーバーを参照するブランドリンク」の図に示されています。
  2. DNS管理者からCNAMEが有効になったとの連絡を受けるまで待ちます。
ブランドドメインのページを開いたときに「ブロックされました」と表示される

ブランドドメイン単体には、テンプレートやパラメータは含まれていません。ブランドドメインを使用する場合は、ブランドドメインURLの末尾にテンプレートまたはパラメータを追加する必要があります。

たとえば、ブランドドメインがclick.abcdef.comの場合、click.abcdef.comのみを使用すると、「ブロックされました」というメッセージが表示されます。

URLの末尾にパラメータまたはテンプレートを追加する必要があります。例:click.abcdef.com/A1bc/dc1234ef

ブランドドメインのページを開いたときにerr_cert_authority_invalidエラーが表示される

このエラーは、認証局が認識されていないため、ブランドドメインに有効なHTTPS証明書が設定されていないことを示します。 AppsFlyerはLet's Encryptを使用してブランドドメインの証明書を発行しているため、ドメインのCAA(Certification Authority Authorization)DNSレコードで、Let's Encryptが有効な認証局(CA)として認識されていない可能性があります。

解決策
以下を実行してください:

  1. 外部サービスなどを使用して、自社ドメインがLet's Encryptを認証局として認識しているかどうかを確認します。
  2. 2. システム管理者に、Let's Encryptを認可済みの認証局として含めるよう、ドメインのCAAレコードの更新を依頼します。
特性と制限事項
特性 はい ✓ / いいえ x 備考
アカウントユーザーのアクセス権限 ✓
アドネットワークのアクセス権限 x
代理店のアクセス権限 x 代理店は、ブランドドメインまたはOneLinkリンクを作成できません。
代理店の運用媒体の開示 x
アプリ固有の通貨設定 N/A
アプリ固有のタイムゾーン設定 N/A
ブランドドメインの利用可否 N/A ブランドドメインは、対象となる有料プランでのみ利用できます。サブスクリプションプランの有効期限が切れた場合や解約された場合は、ブランドドメインを利用できなくなり、既存のブランドドメインを使用したリンクも機能しなくなります。
文字の制限 N/A ブランドドメインを入力する際、末尾の文字にピリオド(.)は使用できません。
データの更新頻度 N/A
過去データ ✓
HTTP x ブランドリンクではHTTPプロトコルはサポートされていません。 HTTPSを使用する必要があります。
非オーガニックデータ ✓
オーガニックデータ ✓
レート制限 ✓ ブランドドメインのSSL/HTTP証明書は、AppsFlyerがLet's Encryptを使用して発行します。 証明書の発行上限は、1つのドメインにつき1週間あたり新規50件です。
サイズ制限 N/A
SSL / HTTP証明書の更新 ✓ AppsFlyerが管理するブランドドメインのSSL / HTTP証明書は、自動的に更新されます。