ロケスマ × スマート店舗検索

Android端末でロケスマボタンをタップすると404エラーが発生します

この問題はAndroid端末でのみ発生するものです。iPhoneでは発生しません。以下はAndroid端末で利用することを前提にして説明します。

ロケスマ×スマート店舗検索でチェーン運営者のホームページに設置した[ロケスマ]ボタンをユーザーがタップすると、すでにロケスマが端末にインストールされているかどうかを問い合わせる以下のようなダイアログが表示されます。

まだ端末にロケスマをインストールしていない場合には[キャンセル]をタップし、Google Playに行ってロケスマをインストールします。すでにロケスマを端末にインストール済みの場合は[OK]をタップして、ロケスマを起動します。

しかしまだ端末にロケスマがインストールされていない状態で[OK]をタップすると、端末機種によってブラウザの404エラー(アクセス先未検出エラー)が発生する場合があります。具体的には、Android 2.x、4.0.xのOSをインストールした端末で発生します。

[ロケスマ]ボタンがタップされたときのダイアログは、内部的にはブラウザ側のJavaScript機能を利用して表示しています。ここで[OK]がタップされたときは、ロケスマがインストールされているという前提で、これを起動する「locasma:」というスキーマをつけてURLを開きに行きます。このとき、Android 2.x、4.0.xの標準ブラウザは、存在しないスキーマが起動されると404エラーを発生させるようになっているのが原因です。

新しいAndroidバージョンである4.1以降は、標準ブラウザがChromeに変更されており、こちらの挙動は「存在しないスキーマが呼ばれたときは何もしない」に変更されておりますので、新しいAndroid端末では404エラーは発生しません(ロケスマがインストールされていない場合は[OK]がタップされても何も起こりません)。

現状、この症状を回避する方法はありません。端末の更新とOSのバージョンアップは順次進んでいくと思われますので、今後はエラーを起こさない端末の割合が徐々に増えていくと考えています。