Branch.io:概要、仕組み、開発での使用方法

著者: IT Sectr 公開日: 2026-05-14 読了時間: 8 分

Branch.ioは、iOSおよびAndroid向けモバイルアプリケーションに統一されたリンクインフラストラクチャを提供する、商用のディープリンキングおよびアトリビューションプラットフォームです。Branch Documentationによると、このプラットフォームはリンククリックからアプリ内のターゲットアクションまでのユーザーインタラクションの完全なサイクルを追跡します。Branch.ioのディープリンキングは、ディファードディープリンキングとインストールアトリビューションをサポートし、すべてのプラットフォームで動作します。

重要なポイント

  • Branch.ioは、モバイルアプリケーション向けのディープリンキング、インストールアトリビューション、クロスチャネルマーケティング分析のためのSaaSプラットフォームです。
  • ディファードディープリンク — Branchはアプリがインストールされていない場合にクリックコンテキストを保持し、ストアからのインストール後にそれを復元します。
  • アトリビューション — プラットフォームは、特定のキャンペーンとクリエイティブまで正確にインストールソース(広告、紹介、メール、ソーシャルネットワーク)を特定します。
  • ユニバーサルリンク — 1つのBranchリンクが追加設定なしでiOS、Android、ウェブ、デスクトップブラウザで正しく機能します。
  • SDK — Branchは、最小限の導入障壁でiOS、Android、React Native、Flutter、Unity向けのネイティブSDKを提供します。

Branch.ioとは?

Branch.ioは、ディープリンキング、モバイルインストールアトリビューション、マーケティング分析を1つのソリューションに統合したプラットフォームです。開発者とマーケターは、プラットフォーム、インストール状況、その他のパラメータに応じてユーザーをアプリまたはウェブページに誘導するスマートリンクを作成できます。さらに、Branchは各インストールをその発信元ソースに自動的に関連付けます。

このプラットフォームは2014年に設立され、AppsFlyerやAdjustと並んでモバイル測定(MMP)市場のリーダーの1つです。Branchの主な利点は、ディープリンキングとアトリビューションを1つのSDKに完全に統合し、リンクと分析に別々のソリューションを使用する必要をなくすことです。

Firebase Dynamic Linksとの違い

Firebase Dynamic Linksは基本的な機能を備えた無料サービスですが、Branch.ioは50以上の広告ネットワークとの統合をサポートする高度なアトリビューションを備えた商用プラットフォームです。Branchは、ラストクリック、ファーストクリック、マルチタッチの各アトリビューションモデルを含む、すべてのユーザータッチポイントのエンドツーエンド分析を提供します。

Branch.ioの主要機能

Branch.ioは、モバイルリンクを操作するための幅広いツールを提供します。主な機能には、インストール前にウェブブラウザでアプリコンテンツをプレビューするDeepview、iOS用のUniversal LinksとAndroid用のApp Linksの自動生成、報酬付き紹介プログラムのサポートが含まれます。

また、プラットフォームはJourneysをサポートしています。これは、モバイルサイト訪問時にアプリのインストールを促すバナーをユーザーに表示するビジュアルエンゲージメントファネルビルダーです。JourneysはBranchのウェブインターフェースを通じてコーディングなしで設定でき、クリエイティブのA/Bテストをサポートします。

プラットフォームの主な機能

機能説明用途
ディープリンキングディファード対応のスマートリンクコンテンツへの移動
アトリビューションインストールとイベントのアトリビューションマーケティング分析
Journeysインストール用ウェブバナーユーザー獲得
Deepviewブラウザでのアプリプレビューコンテンツ表示
Segmentsユーザーセグメンテーションパーソナライゼーション

Branch.ioでのアトリビューションの仕組み

Branchでのインストールアトリビューションは、初回アプリ起動時にクリック識別子(クリックID)をデバイス識別子にリンクすることで機能します。ユーザーがBranchリンクをクリックすると、システムは一意の識別子を生成し、ブラウザまたはシステムクリップボードに保存します。インストールと初回起動後、Branch SDKはこの識別子を読み取り、インストールをクリックソースにリンクします。

Branchはさまざまなモデルに従ったアトリビューションをサポートしています。ラストクリックアトリビューションは、インストール前の最後のクリックソースを原因として特定します。マルチタッチアトリビューションは、指定された重みに従ってすべてのユーザータッチポイント間でインストール価値を分配します。プラットフォームは、クリックなしの広告インプレッションに対するビュースルーアトリビューションもサポートしています。

広告ネットワークとの統合

Branchは、Facebook Ads、Google Ads、TikTok Ads、Snapchatを含む50以上の広告プラットフォームと統合されています。各統合は、最大の精度を得るために広告ネットワークのネイティブアトリビューションメカニズムを使用します。初期SDK統合後のアプリコードの変更なしで、Branchダッシュボードを介して設定が行われます。

iOSでのBranch.io設定

iOSアプリへのBranch SDKの統合は、CocoaPods、SPM、またはCarthageを介したパッケージのインストールから始まります。インストール後、AppDelegateのdidFinishLaunchingWithOptionsメソッドでBranchダッシュボードのアプリキーを使用してSDKを初期化する必要があります。SDKはBranchドメインのUniversal Linksを自動的に登録します。

ディープリンクが正しく機能するためには、Xcode Capabilitiesでapplinks:bnc.ltのようなエントリを使用してAssociated Domainsを設定する必要があります。Branchは、特定のiOSバージョンでUniversal Linksが機能しない場合のフォールバックとしてURL Schemeもサポートしています。受信リンクの処理はすべて、カスタムハンドラを作成せずにSDKを介して自動的に行われます。

SDK統合

Swiftを使用したAppDelegateでのBranch SDK初期化の例。SDKはアプリ起動時にセッションを開始し、すべてのディープリンクを自動的に処理します。

swift
import BranchSDK

class AppDelegate: UIResponder,
    UIApplicationDelegate {

    func application(
        _ application: UIApplication,
        didFinishLaunchingWithOptions
        launchOptions: [UIApplication
            .LaunchOptionsKey: Any]?
    ) -> Bool {
        Branch.getInstance()
            .initSession(launchOptions: launchOptions)
        return true
    }
}

initSessionメソッドはBranchセッションを開始し、受信ディープリンクを自動的に確認します。結果はBranchDelegateまたは完了ハンドラを介して処理されます。Branch SDKは、リンクがコールドスタートから開かれたのか、既に実行中のアプリから開かれたのかを自動的に判断します。

AndroidでのBranch.io設定

Androidでは、Branchの統合はbuild.gradleに依存関係を追加し、AndroidManifest.xmlでアプリキーを指定することから始まります。BranchはIntent Filterを使用してディープリンクを受信します。これはビルド時にGradleプラグインを介して自動的に追加されます。SDKはインストール後に紹介データを取得するためのBroadcastReceiverも登録し、正確なソースアトリビューションのためにInstall Referrer APIの自動処理をサポートします。

Google Playからの正確なインストールアトリビューションのために、BranchはInstall Referrer APIを使用します。これは、ユーザーがリンクをクリックしていない場合でもインストールソースに関する情報を提供します。Google Play Servicesのないデバイスでは、紹介用BroadcastReceiverが使用されます。

Android設定

ディープリンクからの受信データを処理するKotlinを使用したMainActivityでのBranch SDK初期化の例。

kotlin
class MainActivity : AppCompatActivity() {

    override fun onStart() {
        super.onStart()
        Branch.getInstance()
            .initSession { params, error ->
                if (error == null) {
                    val data = params.optString(
                        "$deeplink_path", ""
                    )
                    navigateToScreen(data)
                }
            }
    }
}

initSessionメソッドの完了ハンドラは、ディープリンクパラメータとエラーを含むJSONObjectを返します。$deeplink_pathパラメータにはターゲットパスが含まれ、残りのパラメータはBranchダッシュボードでリンク作成時に定義された任意の形式で渡されます。Activityの再起動時や別のアプリからの遷移時に正しく動作するよう、処理はonStartで行われます。

Branch.ioでのトラッキングと分析

Branchダッシュボードは、リンククリック、インストール、コンバージョン、収益、リテンションなど、すべての主要指標のビジュアルレポートを提供します。データはリアルタイムで利用可能であり、CSVへのエクスポートやAPIを介した外部分析システムとの統合が可能です。

プラットフォームは、アプリがSDKを介してBranchに送信するカスタムイベントをサポートしています。各イベントには、購入金額、商品カテゴリ、ユーザーレベルなどの任意のメタデータを含めることができます。Branchはイベントをインストールソースに自動的に関連付け、各マーケティングチャネルのROI評価を可能にします。

ダッシュボードとレポート

Branchダッシュボードには、Summary、Sources、Cohorts、Funnelsのいくつかのプリセットレポートが含まれています。Summaryはインストールとクリックの全体像を示し、Sourcesはチャネル別に詳細を表示し、Cohortsは日別のユーザーリテンションを追跡し、Funnelsは指定されたイベントに基づいてコンバージョンファネルを構築します。すべてのレポートは、日付、プラットフォーム、国、広告キャンペーンによるフィルタリングをサポートしています。

より詳細な分析のために、BranchはExport APIを提供しており、クリックとインストールの生データを独自の分析システムにエクスポートできます。APIは時間範囲、イベントタイプ、ソースによるフィルタリングをサポートしています。エクスポートはCSVおよびJSON形式で利用可能で、webhookを介した自動エクスポートのスケジュール設定が可能です。

BranchダッシュボードのSegment Builderを使用すると、任意のイベントと属性のセットに基づいて動的なユーザーセグメントを作成できます。たとえば、特定の広告キャンペーンからアプリをインストールし、7日以内に購入を行ったユーザーのセグメントを作成できます。セグメントはリアルタイムで更新され、APIを介したエクスポートや統合が可能です。Branchは匿名化集計エクスポートもサポートしています。これは、広告ネットワークに送信してターゲティングを最適化するための、セグメントの匿名化されたサマリーです。

よくある質問

Branch.ioの料金はいくらですか?

Branchは月間イベント数に制限のある無料プランを提供しています。商用利用向けには、拡張されたアトリビューション、無制限のイベント、優先サポートを備えた有料プランが用意されています。料金は月額500ドルから数千ドルまでさまざまです。

BranchとAppsFlyerの違いは何ですか?

主な違いは、Branchがディープリンキングとアトリビューションを1つのSDKに統合しているのに対し、AppsFlyerはアトリビューションのみに焦点を当てていることです。Branchはまた、AppsFlyerにはないDeepviewとJourneysも提供しています。選択はプロジェクトのニーズによって異なります。

Branch.ioはクロスプラットフォームフレームワークをサポートしていますか?

はい、BranchはReact Native、Flutter、Unity、Cordova、Xamarin向けのSDKを提供しています。すべてのクロスプラットフォームSDKは、ディープリンキング、アトリビューション、イベント分析、Journeysの完全な機能セットをサポートしています。

BranchはATT(App Tracking Transparency)の制限にどのように対応していますか?

BranchはiOS 14+のATTを完全にサポートしています。SDKは標準ダイアログを介してトラッキング許可をリクエストします。ユーザーが拒否した場合、BranchはIDFAなしでのアトリビューションにSKAdNetworkを使用し、キャンペーンレベルでの精度を維持します。

Branch.ioはウェブリンクに使用できますか?

はい、Branchリンクはウェブブラウザで正しく機能します。デスクトップでは、リンクは指定されたURLを開きます。モバイルデバイスでは、アプリまたはフォールバックページを開きます。BranchはSDKをインストールしないウェブサイト向けのQuick Linksもサポートしています。

まとめ

  • Branch.ioは、iOSとAndroid向けの統一SDKを備えた商用のディープリンキングおよびアトリビューションプラットフォームです。
  • ディファードディープリンク — アプリがインストールされていない場合にクリックコンテキストを保持し、インストール後に復元する主要な機能です。
  • アトリビューション — Branchは50以上の広告ネットワークとの統合により、さまざまなモデルを通じてインストールソースを特定します。
  • Deepview — インストール前にブラウザでアプリコンテンツをプレビューし、インストールコンバージョンを向上させます。
  • Journeys — ユーザーをエンゲージし、インストールを増やすためのビジュアルウェブバナービルダー。
  • 分析 — エクスポートとAPI統合を備えた、クリック、インストール、コンバージョン、リテンションのレポートを提供するダッシュボード。
  • クロスプラットフォーム — SDKはネイティブiOS/Android、React Native、Flutter、Unity、その他のフレームワークで利用可能です。

ターンキー方式のモバイルアプリケーションを開発します

IT Sectrは2017年からスタートアップや企業向けにiOS・Androidアプリケーションを開発しています。私たちがご相談に乗り、最適なソリューションをご提案します。

プロジェクトについて相談

こちらもお読みください