まずInstagramの通常URLを取得する
Instagramの公式ヘルプでは、公開されている写真や動画について、Instagramアプリ内の共有操作からリンクをコピーする方法が案内されています。リンク作成の出発点は、この通常のHTTPS URLにします。
代表的なURLには次のようなものがあります。
- プロフィール:
https://www.instagram.com/username/ - 投稿:
https://www.instagram.com/p/... - リール:
https://www.instagram.com/reel/...
非公開コンテンツや閲覧権限が必要な内容は、リンク形式を変えても閲覧条件そのものは変わりません。
現在のジェネレーター実装で何をしているか
現在のコードには、Instagram URLをプロフィール・投稿・リール・ストーリーズ・Explore・Directなどに分類し、iOS・Android・Web向けのリンク候補を作る処理があります。
プロフィールではusernameを使うscheme候補、投稿やリールではパス情報を使う候補を生成します。投稿・リールについては、ページHTMLからmedia IDなどを取得しようとする経路もあり、取得に失敗した場合は別の候補へフォールバックする実装です。
instagram://... 形式を公式に保証・推奨していることまでは確認できていません。本サイトでは「Instagram公式ディープリンク形式」とは表現しません。custom schemeとUniversal Links/App Linksの違いを先に確認したい場合は、ディープリンクの仕組みを参照してください。
プロフィール・投稿・リールで確認ポイントが違う
| 種類 | 元URL | 確認したいこと |
|---|---|---|
| プロフィール | instagram.com/username/ | username抽出が正しいか。iOS/Androidで対象プロフィールへ到達するか。 |
| 投稿 | instagram.com/p/... | 投稿コード/IDの扱い、通常URLfallback、ログイン状態。 |
| リール | instagram.com/reel/... | リールパスが現在のアプリで処理されるか、fallback URLが正しいか。 |
リンクを開く場所も結果に影響する
Instagram自身にもアプリ内ブラウザがあり、公式ヘルプでは投稿・広告・ストーリーズ・メッセージなどから外部リンクを開くと、Instagram内のブラウザが使われる場合があることが案内されています。
さらに、Instagramリンクを別のSNSアプリ内ブラウザから開く場合も、WebView側の挙動で別アプリ起動が変わることがあります。SNS内からだけ開かない場合は、SafariやChromeなど外部ブラウザでも同じリンクを試してください。
詳しい切り分けはアプリ内ブラウザから別アプリを開く時の確認ポイントにまとめています。
共有前の手順
- Instagramで対象プロフィール・投稿・リールの通常URLをコピーする。
- 通常URLをブラウザで開き、目的の内容へ到達できることを確認する。
- 必要ならiOS/Android向け候補を生成する。
- iPhoneとAndroidの実端末で別々にタップして確認する。
- 主要な流入元SNSのアプリ内ブラウザでも確認する。
- アプリが開かなかった時に通常のInstagram URLへ到達できるfallbackを残す。
「アプリで開く」を保証できない理由
実際のアプリ起動には、Instagram側のURL処理、OS、対象アプリのインストール状態、ブラウザ/WebView、ユーザーの端末設定などが関係します。リンク生成側が、これらをすべて上書きすることはできません。
そのため、運用では「アプリで開く可能性を高める候補」と「必ず到達できるWeb URL」をセットで考える方が安全です。
保存・短縮リンクを使う場合
現在のコア保存APIはInstagram URLを受け付ける実装があります。ただし、直接生成・保存・短縮リダイレクト・現在の実端末動作は別の確認項目です。利用前にInstagramの対応範囲を確認してください。
確認した一次情報
- Instagram Help Center: Get a link (URL) to a photo or video on Instagram or Threads
- Instagram Help Center: About in-app browsing on Instagram
- Instagram Help Center: Browser settings / link history
Instagram固有schemeの記述は、現在の製品コードに存在する生成実装を説明するもので、Metaが現行公式schemeとして保証しているという意味ではありません。