RORK LABEN
MAX — Rork MaxはiPhone・iPad・Apple Watch・Apple TV・Vision Pro向けにネイティブSwiftを生成し、2クリックでApp Store公開でき、Xcodeを必要としませんSTACK — 通常のRorkはReact Native(Expo)でクロスプラットフォームのモバイルアプリを作る位置づけ。用途に応じた使い分けが鍵ですFOCUS — BoltやLovableのようなWeb中心ツールと違い、RorkはiOS/Androidのネイティブアプリ生成に特化していますBUGS — 実利用レビューでは遭遇したバグの約70%を手動介入なしで解決、残り3割はエクスポート済みコードでの手修正が必要と報告されていますFUNDING — Rorkはa16z(Andreessen Horowitz)から$2.8Mを調達しましたPRICING — 無料で開始でき、有料プランは$25/月からです。まず触ってから判断できますMAX — Rork MaxはiPhone・iPad・Apple Watch・Apple TV・Vision Pro向けにネイティブSwiftを生成し、2クリックでApp Store公開でき、Xcodeを必要としませんSTACK — 通常のRorkはReact Native(Expo)でクロスプラットフォームのモバイルアプリを作る位置づけ。用途に応じた使い分けが鍵ですFOCUS — BoltやLovableのようなWeb中心ツールと違い、RorkはiOS/Androidのネイティブアプリ生成に特化していますBUGS — 実利用レビューでは遭遇したバグの約70%を手動介入なしで解決、残り3割はエクスポート済みコードでの手修正が必要と報告されていますFUNDING — Rorkはa16z(Andreessen Horowitz)から$2.8Mを調達しましたPRICING — 無料で開始でき、有料プランは$25/月からです。まず触ってから判断できます
記事一覧/開発ツール
開発ツール/2026-06-16上級

インストール直後に「目的の画面」へ着地させる — Rork アプリの遅延ディープリンク設計

キャンペーンのリンクから来たユーザーがストア経由でインストールすると、起動時には「どこから来たか」が消えています。外部サービスに頼らず、Rork で作ったアプリに遅延ディープリンクを実装する設計を解説します。

Rork414Deep Link3Expo84Universal Linksオンボーディング9計測

プレミアム記事

特定のテーマの壁紙を紹介するページから「アプリで開く」を押した人が、インストール後に立ち上げると普通のホーム画面に着地してしまう。せっかくそのテーマを見に来たのに、また一から探させてしまう——個人開発でキャンペーンを打ち始めたとき、私が取りこぼしていたのがこれでした。

原因は単純です。ユーザーがリンクを踏んでも、アプリが未インストールなら一度 App Store / Google Play に飛びます。ストアからインストールして初回起動したアプリには、もう「どのリンクから来たか」という情報が渡っていません。リンクのクエリパラメータは、ストアを経由した瞬間に消えてしまうからです。

この断絶を埋めるのが遅延ディープリンク(Deferred Deep Link)です。Branch や AppsFlyer のような外部 SDK を入れれば一発ですが、SDK は計測のためにかなりの個人データを抱え込みますし、月額もかかります。プライバシー配慮とコストの両面から、私は自前で軽量に実装する方を選びました。ここではその設計を、Rork(Expo / React Native)アプリ向けに残しておきます。

まず「経路は3つある」と整理する

遅延ディープリンクの復元には、信頼度の異なる3つの経路があります。これを混同すると実装が無駄に複雑になります。

  1. すでにインストール済みのユーザー(Universal Links / App Links が直接効く・最も確実)
  2. iOS で同一ブラウザからインストールした場合(クリップボード経由・条件付きで確実)
  3. それ以外(サーバー側のフィンガープリント照合・確率的)

経路1は遅延ではなく通常のディープリンクなので、ここでは扱いません。問題は経路2と3です。インストールという「断絶」をまたいで情報を運ぶには、アプリの外側(サーバーやクリップボード)に一時的に情報を預けておくしかありません。

私の運用では、iOS は経路2を主、経路3を保険にしています。Android は Google Play の Install Referrer API が公式に経路を提供してくれるので、そちらを使います。プラットフォームで手段がまったく違う点は、最初に押さえておくと混乱しません。

ランディングページ側で「指紋」をサーバーに預ける

外部 SDK を使わない場合、リンクを踏んだ瞬間の情報を自分のバックエンドに記録しておきます。記録するのは個人を特定しない、ゆるい特徴量(フィンガープリント)だけです。

// landing.ts — ランディングページで踏まれた瞬間に呼ぶ
async function recordClick(targetPath: string) {
  const fp = {
    target: targetPath,                  // 着地させたい画面(例: /theme/aurora)
    platform: /iphone|ipad/i.test(navigator.userAgent) ? "ios" : "other",
    lang: navigator.language,
    tzOffset: new Date().getTimezoneOffset(),
    screen: `${screen.width}x${screen.height}`,
    ts: Date.now(),
  };
  // iOS はクリップボードにも控える(経路2の主手段)
  try {
    await navigator.clipboard.writeText(`rork-dl:${targetPath}`);
  } catch {
    // クリップボード不可なら経路3のサーバー照合に委ねる
  }
  await fetch("https://api.example.com/dl/click", {
    method: "POST",
    headers: { "content-type": "application/json" },
    body: JSON.stringify(fp),
  });
  // ストアへ送り出す
  location.href = "https://apps.apple.com/app/idXXXXXXXX";
}

クリップボードへの書き込みは、iOS では「同じ Safari セッションから来た初回起動」とほぼ等価に扱える、最も確度の高い手がかりです。ただしユーザーが他の操作でクリップボードを上書きすると消えるので、あくまで主たる手段に留め、サーバー照合を保険として併走させます。

ここまでお読みいただきありがとうございます。

この記事の続きを読む

この先には、実装コードやベンチマーク結果など、実務でお役に立てる内容をご用意しています。このサイトは広告を掲載しておらず、サーバーや開発にかかる費用はメンバーの皆様のご支援で成り立っています。もしお役に立てていましたら、ご支援いただけますと大変ありがたいです。

この記事で得られること
ストアを経由するとリンク情報が消える理由と、3つの復元経路の使い分け
自前バックエンド + フィンガープリント照合で外部 SDK なしに着地先を復元する実装
誤マッチを防ぐ照合ウィンドウと信頼度スコアのしきい値設計
Stripe による安全な決済 · いつでもキャンセル可能

この記事を購入する

この先の内容をすべてお読みいただけます。一度のご購入で、いつでも何度でもアクセスできます。このサイトは広告を掲載しておらず、皆さまのご支援がサーバー費用などの運営を支えています。

または
メンバーシップなら全記事が読み放題 →
シェア

お読みいただきありがとうございます

Rork Lab は広告なしで運営しており、サーバー費用などの運営コストはメンバーシップのご支援で賄っています。実装コード・ベンチマーク・本番設計パターンなど、実務でお役立ていただける記事を毎日更新しています。もし読んでよかったと感じていただけましたら、ぜひご覧ください。

  • コピー&ペーストで使える実装コード付き
  • 毎日新しい上級ガイドを追加
  • ¥580/月 または ¥1,480 の永久アクセス
メンバーシップを見る →

関連記事

開発ツール2026-06-13
通知の許可は一度しか聞けない — Rork アプリにソフトアスク(事前確認)を実装して opt-in を底上げする
iOS の通知許可は一度拒否されると二度とダイアログを出せません。Rork(Expo)アプリで、起動直後に system prompt を撃つのではなく自前のソフトアスク画面を一枚挟み、価値が伝わった瞬間に許可を求める実装を expo-notifications で組みます。Android 13 の POST_NOTIFICATIONS、拒否後の設定誘導、opt-in 計測まで通します。
開発ツール2026-06-16
通知を「開かなくても片付く」ものにする — Rork アプリのインタラクティブ通知アクション設計
通知を長押しすると現れるボタンやテキスト入力。Rork で作った Expo アプリにこのインタラクティブ通知アクションを実装し、アプリを開かずに完了できる体験を設計します。バックグラウンド処理の落とし穴まで踏み込みます。
開発ツール2026-06-16
課金復元より先に広告を初期化したら、有料ユーザに一瞬広告が出た — Rork(Expo)アプリの起動順序設計
同意取得・ATT・広告初期化・課金復元・リモート設定を、起動の数百ミリ秒のあいだにどの順番で走らせるか。順序を1つ間違えるだけで、有料ユーザに広告が一瞬出たり、EEA で同意なしの計測が走ったりします。Rork で生成した Expo アプリの起動処理を1つのオーケストレータに畳み、競合を設計で潰す手順を実装メモとしてまとめます。
📚RECOMMENDED BOOKS
大規模言語モデル入門
山田育矢
LLM開発
生成AIプロンプトエンジニアリング入門
我妻幸長
プロンプト
Claude CodeによるAI駆動開発入門
平川知秀
AI駆動開発
※ アフィリエイトリンクを含みます
もっと見る →