Browser Switch Guide
This page is not available in English.
Please select another language.
概要
ソーシャルメディア等にアプリケーションの url を投稿すると、その url は ブラウザだけでなく、ネイティブアプリケーションの UIWebView で開かれる可能性があります。
一方で Mobage JS SDK はセキュリティ上の課題により、window.open() を使っている箇所があるため、これらの UIWebView の中では正しく動作しません。
従って、この場合はユーザーに対してネイティブアプリケーション内の UIWebView で開いている url を改めて Safari で開き直してもらう必要があります。
この為の枠組みとして、JavaScript SDK では次の仕組みを用意しています。
- 対応していないブラウザに対して、自動的にガイドを表示するサービス
- UIWebView で開かれた場合など、対応していないブラウザを検出する枠組み
対応していないブラウザに対して、自動的にガイドを表示するサービス
対応していないブラウザに対して、自動的にガイドを表示したい場合は、以下のように mobage.init() で明示的にshowBrowserSwitchGuide フィールドをtrue にして呼び出します。
上記の例では自動的に以下のようにガイドが表示されます。
UIWebView で開かれた場合など、対応していないブラウザを検出する枠組み
これらの挙動をマニュアルで行いたい場合のコードは下記のようになります。上記からも分かる通り、iOS のネイティブアプリケーション内ブラウザのような UIWebView で開かれてしまった場合などで、platform.unsupportedBrowser イベントが発生します。
このイベントを mobage.event.subscribe()メソッド で実行する事によって、JavaScript SDK の非対応ブラウザかどうかを検出する事が出来ます。
このイベントを受信した場合にマニュアルでガイドを開く場合は browser_swtich_guide サービスを呼び出します。現在は非対応端末とは、以下の3つです。 - OS が iOS でブラウザがGoogle Chrome の場合
- OS が iOS でアプリ内ブラウザがWebKit ベースかつSafari ではない場合
- OS が Android で Facebook WebView の場合
後者がいわゆる UIWebView で開かれた場合だと判定します。
あえてマニュアルで行いたい場合は次のようなケースを想定しています。 - 自分たちでまったく独自のUI のガイドを表示したい場合
- ガイドを表示する前後に何らかの処理を差し込みたい場合
注意事項
- JS SDK のバージョンは2.10.0以上をご利用ください。