【かすたむゆーあーるえるすきーむ】
カスタムURLスキーム とは?
公開:
💡 アプリの入口へ届く、独自名のリンク
カスタムURLスキームは、独自の識別名でアプリを呼び出すためのURLの仕組み。例えばexample://item/42のようなリンクを、対応するアプリの画面や処理へ結び付けます。
📌 このページのポイント
- URLの先頭のスキームをアプリ用の独自名にする
- 対応するアプリの画面や処理を呼び出す
- 同じスキームを別のアプリが登録する場合もある
- 呼び出し元や渡された値を無条件に信頼しない
ペンギン先生、リンクを押したらWebではなくアプリが開いたよ。
その入口の一つがカスタムURLスキームだよ。例えばexample://item/42というリンクを、対応するアプリの商品画面へ結び付けるんだ。これは説明用の架空のリンクだよ。
URLのどの部分がスキームなの?
example://なら、最初のexampleがスキームだよ。後ろのitemや42などをどう解釈するかは、アプリが決める。スキーム名だけで、呼び出された処理が安全だと分かるわけではないんだ。
名前を登録すれば、そのアプリだけが使える?
少なくともAndroidのカスタムスキームでは、別のアプリが同じ名前を登録する場合もあるよ。リンクの名前だけをアプリの身元確認に使わないことが大切なんだ。
アプリを作る側は何に気をつける?
もっと詳しく知りたい人へ
Android App Linksとの違いは?
Android App Linksは、Webドメインとアプリの関連付けを検証するHTTP・HTTPSのリンクです。独自スキームとは仕組みが異なります。関連付けが検証されても、リンクから受け取る入力や操作の認可の確認は別途必要です。
まとめ:ざっくりこれだけ覚えればOK!
「カスタムURLスキーム」って出てきたら「独自のスキーム名でアプリを呼び出すリンクの仕組み」と思えばだいたいOK!
📖 おまけ:英語の意味
「Custom URL Scheme」 = 独自のURLスキーム
💬 SchemeはURLの先頭で種類を示す部分だよ。httpsの代わりに独自の名前を使うと、アプリ向けの入口として扱えるんだ。