ERR_UNKNOWN_URL_SCHEME エラーを修正する方法 (9 つの方法)

公開: 2023-10-01

err_unknown_url_scheme エラーは、特に Chromium ブラウザで発生する非常に一般的なブラウザの問題で、新しい Android アプリを試して Web ビューをテストするときに発生します。 または、デバイス上のアプリケーションが URL スキームに関連する特定のアクションを処理できません。


目次
err_unknown_url_scheme エラーは何を意味しますか?
err_unknown_url_scheme エラーの原因は何ですか?
err_unknown_url_scheme エラーを修正するにはどうすればよいですか?
結論
よくある質問

しかし、だからといって何もできないわけではありません。 この記事では、「err_unknown_url_scheme」エラーに関する完全なガイドを提供します。エラーが発生する理由、意味、修正方法など、すべてを非常に包括的な方法で説明します。

注目してこの記事を読み続けてください。 始めましょう!


err_unknown_url_scheme エラーは何を意味しますか?

この特定の err_unknown_url_scheme エラーは、特に Chromium ブラウザで発生し、Chrome 40 バージョンで初めて検出されたバグの結果です。 そしてそれ以降、それはずっと目立つようになりました。

これは単に、ブラウザで認識またはサポートされていないスキームまたはプロトコルで URL を開こうとしていることを示しています。

URL スキームは、リソースへのアクセス方法を示す URL のプレフィックスです。 よく知られている一般的な URL スキームは、Web ページに使用される「http://」と「https://」、および電子メール アドレスに使用される「mailto://」です。

ただし、さまざまな目的のための URL スキームは他にも多数あり、ブラウザがサポートされていないスキームの URL に遭遇すると、「 ERR_UNKNOWN_URL_SCHEME 」エラーが表示されます。

これをよりよく理解するために、例を考えてみましょう。

Google Play ストア用のネイティブ アプリを開発するとします。 このためには、Android アプリ環境の公式統合開発環境である Android Studio を利用する必要があります。

ユーザー向けの Android アプリを開発しているため、ユーザーがブラウザーとアプリの間を行き来することなく、その特定のアプリ内で Web ブラウザーのコンテンツを表示できるようにしたいと考えています。 そうしないと、ユーザー エクスペリエンスに大きな影響を与える可能性があり、これは望ましくないことです。

これを可能にするには、ネイティブ アプリから Web コンテンツを直接表示できるようにする「WebView」というクラスを追加する必要があります。 ただし、このブラウザには、検索バーやその他のナビゲーション オプションなどの一般的なブラウザ機能はありません。 ただし、Web ページは正常に表示されます。

この段階では、「 err_unknown_url_scheme 」エラーが発生する可能性があります。 これは、リクエストした Web サイトのスキームがモバイル デバイスと互換性がないために発生する可能性があります。


読む: WordPress での HTTP から HTTPS への移行に関する完全ガイド


err_unknown_url_scheme エラーの原因は何ですか?

1. Chromeブラウザの問題

err_unknown_url_scheme エラーが発生する主な理由の 1 つは、Google Chrome Web ビューが URL スキームを認識できないことです。

ただし、Chrome Webview はネイティブ アプリにとって非常に便利ですが、問題は 2 つの URL スキーム (http:// と https:// プロトコル) しか認識できないことです。

他の URL スキームの場合は、mailto://、app://、mail://、buy://、market://、whtsapp:// などです。 など、err_unknown_url_scheme エラーが表示されます。


注: URL スキームは、URL の構造と、ソフトウェア アプリケーションや Web ブラウザによる URL の解釈方法を定義する一連のルールまたはプロトコルです。


ただし、アプリ開発者であれば、ネイティブ アプリで特定の URL スキームを使用するだけで、このエラーの発生を防ぐことができます。

3. プロトコル間の非互換性

net::err_unknown_url_scheme エラーは、Web ブラウザーのプロトコルとプログラムの間に互換性の問題が見つかった場合にもトリガーされる可能性があります。 たとえば、特定の Web サイトまたはアプリを通じて電話番号に電話し、リダイレクト URL にアクセスしようとすると、この特定のエラーが発生します。

4. 誤字脱字

もう 1 つの最も一般的な原因は、URL のタイプミスです。 URL に誤りがあると (スキームが欠落していたり​​間違っていたりするなど)、ブラウザはその URL を認識できません。

5. カスタムスキーム

一部の Web サイトやアプリケーションでは、特定の目的のためにカスタム URL スキームを使用します。 ブラウザがこれらのカスタム スキームを理解できない場合は、エラーが表示されます。

6.古いブラウザまたは互換性のないブラウザ

古い W​​eb ブラウザやあまり一般的に使用されていない Web ブラウザでは、特定の URL スキームをサポートしていないか、このエラーを引き起こすバグがある可能性があります。 ブラウザを更新すると、この問題の解決に役立ちます。

7. ブラウザ拡張機能

ブラウザの拡張機能やアドオンが URL の処理を​​妨げる場合があります。 拡張機能を無効にするかトラブルシューティングを行うと、エラーが解決される可能性があります。

8. ウェブサイトの問題

場合によっては、Web サイト側の問題がエラーの原因である可能性があります。 Web サイトが特定の URL スキームを処理できるように適切に構成されていない可能性があります。

9. オペレーティング システムの制限事項

モバイル デバイスでは、オペレーティング システムによって、特定の URL スキームを処理できるアプリに制限がある場合があります。 URL スキームとアプリの機能の間に不一致がある場合、このエラーが発生する可能性があります。


err_unknown_url_scheme エラーを修正するにはどうすればよいですか?

これらは、開発者であってもフロントエンド ユーザーであっても、err_unknwon_url_scheme エラーを修正するのに役立つ 6 つの最良の方法です。 最初にこれらの簡単な手順に従ってください。その後、技術的な内容について詳しく説明します。

  • ブラウザのキャッシュと Cookie をクリアする
  • Chrome拡張機能を一時的に無効にする
  • 新しいユーザーの Chrome プロファイルを作成する
  • Chrome でハードウェア アクセラレーションを無効にする
  • 非クロムブラウザをデフォルトとして試してください
  • ファイアウォールまたはウイルス対策プログラムをオフにする
  • 新しいウィンドウで開いてみてください
  • 新しい外部アプリをロードする意図を追加
  • 非標準の URL スキームを無効にする

1. ブラウザのキャッシュと Cookie をクリアします

ブラウザ キャッシュは、Web サイト ファイルをキャッシュに保存することでユーザー エクスペリエンスを向上させ、次回 Web サイトに再度アクセスしたときに、より速く読み込めるようにすることを目的としています。 しかし、このキャッシュ データは時間の経過とともに破損したり古くなったりするため、このような種類のエラーが発生します。 したがって、これを修正するには、ブラウザのキャッシュと Cookie を完全にクリアする必要があります。

Google Chrome で、[設定] > [プライバシーとセキュリティ] > [閲覧データの消去] に移動し、[閲覧履歴] のチェックを外して、Cookie やその他のサイト データ、およびキャッシュ画像をオンにすることができます > [データの消去] を選択します。

あるいは、Chrome ブラウザにこのアドレスを直接入力することもできます: chrome://settings/privacy。 プライバシー設定に移動し、「閲覧データを消去」をクリックします。

Chrome Privacy and Security
Chrome のプライバシーとセキュリティ

ポップアップ ウィンドウには他にもたくさんのオプションが表示されますが、次のように選択する必要があります。

  • 時間範囲を「すべての時間」として選択します。
  • Cookie やその他のサイト データ、キャッシュ画像を選択します (閲覧履歴も選択できます)
  • 「データをクリア」ボタンをクリックします。
Clearing chrome browsing history and cache memory
Chromeの閲覧履歴とキャッシュメモリをクリアする

2. Chrome 拡張機能を一時的に無効にする

Chrome 固有のエラーの多くは、Chrome 拡張機能を修正するだけで簡単に修正できます。 場合によっては、これらの拡張機能のコード化が不十分であり、そのようなエラー メッセージを引き起こす原因となる可能性があります。 これが問題の原因であるかどうかを確認するには、すべてを一時的に無効にする必要があります。

インストールされているすべての Chrome 拡張機能を表示するには、URL バーに「 chrome://extensions/ 」と入力します。

Disable Chrome Extensions
Chrome 拡張機能を無効にする

その後、アクティブな Chrome 拡張機能をすべて無効にして、エラーが解決したかどうかを確認します。 解決された場合は、インストールされている拡張機能が原因でエラーが発生したことを意味します。 原因となる拡張機能を特定するには、一度に 1 つのプラグインを有効にして、毎回 Web サイトへのアクセスを試行します。


3. 新しいユーザー Chrome プロファイルを作成する

上記の方法で err_unknown_url_scheme エラーが解決しない場合は、代わりに新しいユーザーの Chrome プロフィールを作成してみてください。

これを行うには、Chrome ブラウザの右上隅にあるユーザー プロフィールに移動します。そこにプロフィール写真が表示されます。 プロフィール写真をクリックし、ポップアップ ウィンドウの下部にある「+」をクリックして新しいユーザー プロフィールを追加します。

Create a new Chrome profile How to Fix the ERR_UNKNOWN_URL_SCHEME Error?(9 Methods)

これにより、新しい Chrome ユーザー プロファイルを作成できるようになります。 ポップアップウィンドウに表示される指示に従います。

完全に新しい Chrome ユーザー プロファイルを作成することも、既存の Chrome プロファイルを引き続き使用することもできます。

Set up Chrome profile How to Fix the ERR_UNKNOWN_URL_SCHEME Error?(9 Methods)
新しい Chrome プロファイルをセットアップする

その後、カスタマイズとパーソナライズに役立つ指示に従ってください。これで完了です。

Customize Chrome profile
Chrome プロファイルをカスタマイズする

次に、アクセスしようとしていた Web ページにアクセスして、エラーが継続するかどうかを確認してください。 それでも問題が解決しない場合は、次の方法に従ってください。


4. Chrome でハードウェア アクセラレーションを無効にする

Chrome は、グラフィックス プロセッシング ユニット (GPU) などのコンピュータのハードウェア コンポーネントを使用して、Web ブラウザ内で特定のタスクやプロセスを実行します。

ほとんどの場合、このテクノロジはブラウザのタスクの一部を中央処理装置 (CPU) から特殊なハードウェア コンポーネントにオフロードし、特定のシナリオでのパフォーマンスと応答性を向上させます。

ただし、この機能は常に魅力的に機能するとは限りません。場合によっては、遅れたり、クラッシュしたり、フリーズしたりすることもあります。 したがって、これを修正するには、このハードウェア アクセラレーション機能を無効にするかオフにする必要があります。

これを行うには、Chrome ブラウザを開き、[設定] > [システム] タブ > ボタンを切り替えて、Chrome のハードウェア アクセラレーションをオフにします。

Hardware Acceleration in Chrome
Chrome のハードウェア アクセラレーション

5. デフォルトとして非クロムブラウザを試してください

err_unknown_url_scheme エラーが引き続き発生する場合は、Microsoft Edge や Mozilla Firefox などの非クロム ブラウザをデフォルトとして試してください。 これは、リンクを自動的に開くのがデフォルトのブラウザであり、通常はデバイスまたは Google Chrome にプリインストールされているブラウザであるためです。

デバイスのデフォルトのブラウザを変更するプロセスは、使用するデバイスによって異なる場合があります。 Windows 10 ユーザーの場合:

ステップ 1:画面の左下隅にある[スタート]ボタン (Windows アイコン) をクリックします。

ステップ 2:歯車のような[設定]歯車アイコンをクリックします。

ステップ 3: [設定] ウィンドウ内で、 [アプリ]オプションを見つけてクリックします。

ステップ 4: [アプリ] セクションの左側に、カテゴリのリストが表示されます。 「デフォルトのアプリ」をクリックします。

ステップ 5: 「Web ブラウザ」セクションが表示されるまで下にスクロールします。 ここには、現在のデフォルト Web ブラウザー (通常は Microsoft Edge) がリストされます。

ステップ 6:現在のデフォルトのブラウザの名前をクリックします。 インストールされているWebブラウザのリストが表示されます。

ステップ 7:新しいデフォルトとして設定する Web ブラウザを選択します。 それをクリックして選択してください。

ステップ 8: Windows では、選択内容を確認するよう求められます。 「とにかく切り替える」または「切り替え」ボタンをクリックします (Windows のバージョンによって文言が異なる場合があります)。

ステップ 9:確認すると、デフォルトの Web ブラウザが選択したものに更新されます。

macOS (Ventura) ユーザーの場合、

ステップ 1:画面の左上隅にある Apple メニュー  に移動し、[システム設定] を選択します。

ステップ 2:サイドバーの「デスクトップとドック」をクリックします。

ステップ 3:下にスクロールして、右側の「デフォルトの Web ブラウザ」メニューから Web ブラウザを選択します。


6. ファイアウォールまたはウイルス対策プログラムをオフにします

場合によっては、ウイルス対策プログラムやファイアウォールの設定が不適切または間違っていることも、err_unknown_url_scheme エラーを引き起こす原因となる場合があります。 これに該当するかどうかを確認するには、ファイアウォールまたはウイルス対策ソフトウェアを一時的に無効にしてみてください。

Windows デバイスのウイルス対策プログラムを無効にするには、

ステップ 1:まず、コンピュータのコントロール パネルを開く必要があります。 これを行うには、デスクトップの「スタート」メニューをクリックし、検索フィールドに「control」と入力します。

ステップ 2:次に、コントロール パネルのオプションから「システムとセキュリティ」を選択します。 新しいページが表示されます。

ステップ 3:新しいページに、「 Windows Defender ファイアウォール」のオプションが表示されます。 「 Windows ファイアウォールを介したアプリまたは機能を許可する」をクリックします。

Allowing an app through Windows Firewall
Windows ファイアウォールを介したアプリの許可

ステップ 4:次のウィンドウに、ファイアウォールを介した通信が許可されているアプリと機能のリストが表示されます。 これらの設定を変更するには、「設定の変更」をクリックします。

List of allowed apps in Windows Defender Firewall
Windows Defender ファイアウォールで許可されるアプリのリスト

ステップ 5:リストに DNS クライアントが表示されない場合は、プラス (+) アイコンをクリックして追加できます。

ステップ 6:ファイアウォールを一時的に無効にするには、「Windows Defender ファイアウォール」の横のボックスのチェックを外し、「OK」をクリックして変更を保存します。

ステップ 7:または、構成したい DNS クライアントまたはその他のアプリケーションを見つけて、目的の設定の横にあるボックスをオンまたはオフにして、ファイアウォール設定を調整することもできます。

ステップ 8:設定の調整が完了したら、「OK」をクリックして変更を保存します。

Macユーザー向け

Mac PC の左上隅にある Apple アイコンをクリックし、[システム設定] を選択します。

次に、 [ネットワーク] > [ファイアウォール]に移動し、それをオフに切り替えます。

上記の方法がいずれも機能しない場合は、この問題の解決を支援できるアプリ開発者に連絡してください。


7. 新しいウィンドウで開いてみます

ここまで、Chrome ブラウザ自体で err_unknown_url_scheme エラーを修正する方法を説明しました。 ここで、開発者の観点からこのエラーを解決します。 そのため、アプリにはいかなる問題も発生しません。

最も簡単な方法の 1 つは、URL の href コードを編集することです。 HTML コードを追加するだけで次のようになります。

target="_blank"

このコードはブラウザの開き方を指定し、新しいウィンドウで Webview を開きます。


注:新しいウィンドウを開くとユーザーがイライラして混乱し、アプリのユーザー エクスペリエンスが損なわれる可能性があるため、この方法は短期間では効果がありません。 この特定のコード行により「戻る」ボタンが削除され、ユーザーがアプリ内のページ間を行き来することがさらに難しくなります。


8. 新しい「外部アプリをロードする意図」を追加

Android 開発に興味があるなら、「インテント」についてよく知っているはずです。 これらは、Android OS や他のアプリと通信する方法です。 これにより、実行するアクションや、デバイス上の自分または他のアプリで呼び出すコンポーネントを指定できます。

簡単に言えば、アプリが Android システムの他の部分または外部アプリとどのように対話するかを制御できるようになります。

たとえば、外部アプリを開いたり、アプリ内の特定の種類のリンクを処理したりする場合は、次のインテントを使用できます。

  • 電子メール リンク ( mailto:// ):アプリ内にmailto://スキームを使用した電子メール リンクがある場合、インテントを使用すると、ユーザーがクリックしたときに好みの電子メール アプリケーションを開くように Android に指示できます。
  • マップ リンク ( maps:// ):同様に、 maps://スキームを使用したマップ リンクがある場合、インテントによってユーザーの優先マッピング アプリケーションを起動できます。
  • 電話 ( tel:// ) および SMS ( sms:// ) リンク:これらのスキームは、ユーザーのデフォルトの電話アプリとメッセージング アプリを使用して、それぞれ電話またはテキスト メッセージをトリガーするために使用できます。

コード内でこれらを管理するには、「 if 」ステートメントを使用して URL のスキームをチェックします。 スキームがtel:// sms://mailto://geo://maps://の一意のスキームのいずれかに一致する場合、インテントを使用して対応するアプリを開いたり、目的の操作を実行したりできます。アクション。 一方、URL がhttp://またはhttps://で始まる場合は、標準の Web リンクとして扱うことができます。

参考までに一例を示します。 特定のアプリ (この場合は WhatsApp) に固有のカスタム URL スキームを追加できます。 これは、URL 読み込みのオーバーライドを実装する方法です。

@Override
public boolean shouldOverrideUrlLoading (WebView view, String url) {
view.loadUrl (url);
if (url.startsWith (“whatsapp://”)) {
webview.stopLoading();
try {
Intent whatsappIntent = new Intent (Intent.ACTION_SEND);
whatsappIntent.setType (“text/plain”);
whatsappIntent.setPackage (“com.whatsapp”);
whatsappIntent.putExtra (Intent.EXTRA_TEXT, webview.getUrl() + ” – Shared from webview “);
startActivity (whatsappIntent);
} catch (android.content.ActivityNotFoundException ex) {
String MakeShortText = “Whatsapp is not installed”;
Toast.makeText (WebactivityTab1.this, MakeShortText, Toast.LENGTH_SHORT).show();
}
};
};

ユーザーはインストールされている WhatsApp アプリに送信され、自分のデバイスでそのアプリを開くことができるようになります。 ただし、ユーザーのデバイスで WhatsApp が利用できない場合は、「WhatsApp がインストールされていません」というエラー トースト メッセージが表示されます。」

したがって、インテントは、アプリが Android デバイス上の他のアプリやサービスとシームレスに対話できるようにするのに役立ち、よりスムーズで統合されたユーザー エクスペリエンスを保証します。


9. 非標準の URL スキームを無効にする

外部アプリを読み込むための新しいインテントを追加する代わりに、http:// と https:// 以外の非標準 URL スキームを完全に無効にすることもできます。

これにより問題は完全に解決され、カスタム インテントや派手なインテントは使用できなくなります。

これを HTML で行うには、以下のスクリプトに従います。

@Override
public boolean shouldOverrideUrlLoading(WebView view, String url) {
view.loadUrl(url);
if (url.startsWith("http") || url.startsWith("https")) {
return true;
}else {
webview.stopLoading();
webview.goBack();
Toast.makeText(MainActivity.this, "Error: Link not supported",
Toast.LENGTH_SHORT).show();
}
return false;
}

これで、ユーザーが非標準の URL リンクをクリックすると、「エラー: リンクはサポートされていません」というポップアップ メッセージが表示されます。 こうすることで、ユーザーはこのエラー メッセージが表示された後に先に進むことができなくなります。


結論

この投稿では、err_unknown_url_scheme エラーの意味、原因、最善のトラブルシューティング方法など、さまざまな領域に焦点を当てています。 ここまでで紹介した方法をまとめてみました。

  • ブラウザのキャッシュと Cookie をクリアする
  • Chrome拡張機能を一時的に無効にする
  • 新しいユーザーの Chrome プロファイルを作成する
  • Chrome でハードウェア アクセラレーションを無効にする
  • 非クロムブラウザをデフォルトとして試してください
  • ファイアウォールまたはウイルス対策プログラムをオフにする
  • 新しいウィンドウで開いてみてください
  • 新しい外部アプリをロードする意図を追加
  • 非標準の URL スキームを無効にする

これらの最良の解決策をすべて試して、どれが err_unknown_url_scheme エラーの修正に役立ったかを下のコメント セクションでお知らせください。


よくある質問

不明な URL スキームの意味は何ですか?

これは単に、ブラウザで認識またはサポートされていないスキームまたはプロトコルで URL を開こうとしていることを示しています。

err_unknown_url_scheme エラーを修正するにはどうすればよいですか?

次の方法に従って、err_unknown_url_scheme エラーを修正できます。
1. ブラウザのキャッシュと Cookie をクリアします
2. Chrome 拡張機能を一時的に無効にする
3. 新しいユーザー Chrome プロファイルを作成する
4. Chrome でハードウェア アクセラレーションを無効にする
5. デフォルトとして非クロムブラウザを試してください
6. ファイアウォールまたはウイルス対策プログラムをオフにします
7. 新しいウィンドウで開いてみます
8. 新しい「外部アプリをロードする意図」を追加
9. 非標準の URL スキームを無効にする