モバイル SDKディープリンク
React Native
AdStage DeepLink 統合ガイド (React Native)
目次
概要
AdStage DeepLink SDK for React Native は、次の機能を提供します。
- リアルタイムディープリンク:URL Scheme、App Link/Universal Links による即時処理
- ディファードディープリンク:アプリのインストール後、初回起動時に自動で復元
- 動的ディープリンクの作成:サーバー API によるトラッキング可能なリンクの作成
- アトリビューションのトラッキング:UTM パラメータに基づくマーケティング分析
- クロスプラットフォーム:Android/iOS で同一の API
対応するディープリンクの種類
- URL Scheme:
myapp://promo/summer - Android App Links:
https://go.myapp.com/abc123 - iOS Universal Links:
https://go.myapp.com/abc123 - ディファードディープリンク:アプリ未インストール時 ストア → インストール → アプリ起動時に復元
インストール
npm / yarn でのインストール
iOS の依存関係のインストール
プラットフォーム別の設定
iOS の設定
1. ATT (App Tracking Transparency) の権限(必須)
ios/YourApp/Info.plist に次を追加します。
2. URL Scheme の設定
ios/YourApp/Info.plist に次を追加します。
3. Universal Links の設定(任意)
ios/YourApp/YourApp.entitlements に次を追加します。
4. AppDelegate.mm の修正
ios/YourApp/AppDelegate.mm ファイルに、ディープリンク処理用のメソッドを追加します。
Android の設定
1. Maven リポジトリの追加(必須)
android/settings.gradle または android/build.gradle に追加します。
2. minSdkVersion の設定
android/build.gradle で確認します。
3. AndroidManifest.xml の設定
android/app/src/main/AndroidManifest.xml に Intent Filter を追加します。
4. launchMode の重要事項
- ✅ singleTask:既存の Activity を再利用(推奨)
- ⚠️ singleTop:スタックの最上位にある場合のみ再利用
- ❌ standard:毎回新しいインスタンスを作成(ディープリンクの重複が発生)
SDK の初期化
基本の初期化
ディープリンクの受信処理
1. ディープリンクリスナーの設定
2. DeepLinkData の構造
3. Pending ディープリンクの処理
アプリが完全に終了した状態からディープリンクで起動された場合は、次のようにします。
4. 実践例:React Navigation との連携
ディープリンクの作成
基本のディープリンク作成
CreateDeepLinkRequest のパラメータ
| パラメータ | 型 | 必須 | 説明 |
|---|---|---|---|
name | string | ✅ | ディープリンク名 |
description | string | - | ディープリンクの説明 |
shortPath | string | - | Short Path のカスタム指定 |
channel | string | - | チャネル |
subChannel | string | - | サブチャネル |
campaign | string | - | キャンペーン |
adGroup | string | - | 広告グループ |
creative | string | - | 広告クリエイティブ |
content | string | - | コンテンツ |
keyword | string | - | キーワード |
redirectConfig | RedirectConfig | - | リダイレクト設定 |
parameters | object | - | カスタムパラメータ |
RedirectConfig の構造
| タイプ | アプリインストール済み | アプリ未インストール |
|---|---|---|
STORE | ストアへ移動 | ストアへ移動 |
APP | アプリを起動(リアルタイムディープリンク) | ストアへ移動 → インストール後にディファードディープリンク |
WEB | ウェブ URL へ移動 | ウェブ URL へ移動 |
ユーティリティ関数
Short Path の抽出
Android Intent の手動処理
トラブルシューティング
iOS の問題
ディープリンクを受信できない
- Info.plist に URL Scheme が正しく設定されているか確認
- AppDelegate.mm にディープリンク処理メソッドが追加されているか確認
- Universal Links の場合、Associated Domains が設定されているか確認
ATT 権限のポップアップが表示されない
- Info.plist に
NSUserTrackingUsageDescriptionキーがあるか確認
Android の問題
ディープリンクが重複して受信される
android:launchMode="singleTask"の設定を確認
ディープリンクを受信できない
- AndroidManifest.xml の Intent Filter を確認
android:exported="true"の設定を確認- App Links の場合、Digital Asset Links ファイルを確認
共通の問題
ディファードディープリンクが動作しない
- SDK の初期化が完了した後にリスナーを設定したか確認
checkPendingDeepLink()を呼び出しているか確認- ネットワークの接続状態を確認
パラメータが渡されない
- ディープリンク作成時に
parametersオブジェクトへ正しく値を設定したか確認

