【かすたむゆーあーるえるすきーむ】

カスタムURLスキーム とは?

公開:
💡 アプリの入口へ届く、独自名のリンク

カスタムURLスキームは、独自の識別名でアプリを呼び出すためのURLの仕組み。例えばexample://item/42のようなリンクを、対応するアプリの画面や処理へ結び付けます。

📌 このページのポイント
URLを、アプリの画面への入口にする example://item/42スキーム開きたい画面などの情報対応アプリ商品42の画面
独自のスキームでアプリを開く例。呼び出し先のアプリが一意に決まるとは限らず、受け取る情報の検証も必要です。
ひよこ ひよこ
ペンギン先生、リンクを押したらWebではなくアプリが開いたよ。
ペンギン先生 ペンギン先生
その入口の一つがカスタムURLスキームだよ。例えばexample://item/42というリンクを、対応するアプリの商品画面へ結び付けるんだ。これは説明用の架空のリンクだよ。
ひよこ ひよこ
URLのどの部分がスキームなの?
ペンギン先生 ペンギン先生
example://なら、最初のexampleがスキームだよ。後ろのitemや42などをどう解釈するかは、アプリが決める。スキーム名だけで、呼び出された処理が安全だと分かるわけではないんだ。
ひよこ ひよこ
名前を登録すれば、そのアプリだけが使える?
ペンギン先生 ペンギン先生
少なくともAndroidのカスタムスキームでは、別のアプリが同じ名前を登録する場合もあるよ。リンクの名前だけをアプリの身元確認に使わないことが大切なんだ。
ひよこ ひよこ
アプリを作る側は何に気をつける?
ペンギン先生 ペンギン先生
受け取ったURLや値を検証し、その操作をしてよいか認可を確認するよ。外部から呼ばれる入口なので、重要な処理をリンクだけで実行できるようにしない設計が必要だね。
もっと詳しく知りたい人へ

Android App Linksとの違いは?

Android App Linksは、Webドメインとアプリの関連付けを検証するHTTP・HTTPSのリンクです。独自スキームとは仕組みが異なります。関連付けが検証されても、リンクから受け取る入力や操作の認可の確認は別途必要です。

ペンギン
まとめ:ざっくりこれだけ覚えればOK!
「カスタムURLスキーム」って出てきたら「独自のスキーム名でアプリを呼び出すリンクの仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Custom URL Scheme」 = 独自のURLスキーム
💬 SchemeはURLの先頭で種類を示す部分だよ。httpsの代わりに独自の名前を使うと、アプリ向けの入口として扱えるんだ。

参考資料

← 用語集にもどる