■やりたいこと
アプリ内ブラウザでリンクを開いた時に、強制的にデフォルトブラウザ(iosならばsafari)で開く処理を、javascriptまたはwebサービス側で制御できるなにがしかで対応できないかと思っています。
最低限対応したいのは下記のアプリです。
・LINE
・Messanger
・facebook
・Twitter
■困っていること
safariやchromeでは正常に動くwebサービスですが、LINEやMessangerなどのアプリ内ブラウザだと、挙動がそれぞれ異なっており壊れてしまいます。
はじめはアプリ内ブラウザでも動くように奮闘しましたが、インスペクタが使えないのでデバッグもしづらく、種類も多くてかなり時間がかかってしまっています。。またアプリ側でアップデートがある度に対応していくことも考えると、かなり辛いなと思っています。
■調べたこと
※一旦iosを前提に考えています。
LINEはリンクのURLパラメータに ?openExternalBrowser=1
が入っていると、強制的にsafariに遷移することができるようです。
これは正常に動作し、例えば自分のwebサービスに流入した際に、ユーザーエージェントからLINEブラウザを判定し、LINEブラウザからの流入だった場合にこのパラメータを付与しリダイレクトすれば想定した挙動をしてくれます。
ですが、これはおそらくLINEアプリのネイティブで実装された仕様のようで、他のアプリに当てはまるわけではなく…。
調べたところ、safariへの遷移はURLスキーマも使うことができず、ネイティブコードで書くしかないようでした。
▼What is Mobile Safari's custom URL Scheme?
https://stackoverflow.com/questions/22642223/what-is-mobile-safaris-custom-url-scheme
Google Chromeへの遷移ならば、これ↓で想定した挙動をしてくれるのですが、標準インストールされているアプリでもないですし、ちょっと厳しいかと思っています。。
<a href="googlechrome://google.com">Open site in Chrome</a>
■ご質問
この他に何か方法はないでしょうか?ご経験のある方いらっしゃいましたら、アドバイスいただけますと幸いです…!
アプリ外遷移という手段がもし難しれければ、web開発をしているみなさんがアプリ内ブラウザの対応をどうしているか(検証対象としているか)、対応する場合はデバッグはどうしているかなどもアドバイスいただけますと大変助かります…!
何卒、よろしくお願いいたします。
回答1件
あなたの回答
tips
プレビュー
バッドをするには、ログインかつ
こちらの条件を満たす必要があります。
2020/09/04 23:59