カスタムURLスキームでアプリを起動させ、アプリが無ければストアに遷移させる方法について教えてください
Q&A
Closed
解決したいこと
端末にアプリがインストールされている場合、カスタムURLスキームでアプリを起動させ、アプリが端末になり場合は、ストアに遷移させたいです。
下記を参考に設定しています。
https://qiita.com/tarusawa_ken/items/9d9a8b7b6ca8b6984eb9
発生している問題・エラー
アプリがない場合、アプリストアに遷移しますが、ユーザーの端末によって
「”AppStore”で開きますか?」というアラートが表示されないためconfirmで「○○○アプリをインストールしますか?」という注意文を表示させるように設定しています。
上記により、アプリを起動させたユーザーがブラウザに再度戻ってきた際に「○○○アプリをインストールしますか?」というアラートが表示されてしまうため、困っています。
該当するソースコード
function launchApp() {
var IOS_SCHEME = 'myapp://';
var IOS_STORE = 'https://apps.apple.com/jp/app/myapp/id1234567890';
var ANDROID_SCHEME = 'myapp://';
var ANDROID_STORE = 'https://play.google.com/store/games?device=windows&hl=ja&gl=USp';
var userAgent = navigator.userAgent.toLowerCase();
// iPhone端末ならアプリを開くかApp Storeを開く。
if (userAgent.search(/iphone|ipad|ipod/) > -1) {
window.location.href = IOS_SCHEME;
setTimeout(function() {
var result = confirm("○○○アプリをインストールしますか?");
if (result == true) {
// Do something
window.location.href = IOS_STORE;
} else {
// Do something else
}
}, 500);
}
// Android端末ならアプリを開くかGoogle Playを開く。
else if (userAgent.search(/android/) > -1) {
window.location.href = ANDROID_SCHEME;
setTimeout(function() {
var result = confirm("○○○アプリをインストールしますか?");
if (result == true) {
// Do something
window.location.href = ANDROID_STORE;
}else {
// Do something else
}
}, 500);
}
}
自分で試したこと
アプリを起動したと同時にダミーパラメータをつけたWebページに遷移させるなどは行いましたが、「○○○アプリをインストールしますか?」というアラートが出てしまいます。
解決方法があれば教えてください。
アプリリンクやユニバーサルリンクは使わない想定でお願いいたします。
0