モバイルSDKで、ユーザーが外部ブラウザに遷移されることはありますか?
SDKは、クライアントのアプリケーション内でライトウェイトブラウザーのUI(in-app-browser)を開くためのフルブラウザーのAPIを使用しています。
「LINK Kit」は、プラットフォームごとに少し異なる方法で対応されています(以下を参照)。
具体的な詳細は、以下の通りです。
MoneytreeのWebプロダクトには、2つの「モード」があります。
1つは、ブラウザのUI(戻るボタン、URLなど)を含むものです。MyAccountとVaultは、どちらもこの方法で表示されます。
-
iOSでは、
SFSafariViewController
を使用しています。SFSafariViewController
は、システムブラウザであるMobile SafariとCookieを共有しており、アプリケーション外のデータを含むため、アプリケーションからアクセスすることはできません。 -
Androidでは、
Custom Tab
を使います。Custom Tab
を起動すると、ブラウザプロセスが起動し、AndroidのシステムコンポーネントのTaskにActivity
が注入されます。このブラウザプロセスで起こることはアプリケーション上では制御できません。Androidライフサイクル(強制終了が必要な場合)と、「プリウォーミング」とベースナビゲーションのステータスコールバックに使用するサービス(Androidコンポーネント)接続を介してのみ通信できます。
もう1つは、HTMLを表示しながらも、フルスクリーンで、ネイティブアプリケーションのように動作することを目的としています。LINK Kitは、このように表示されます。
-
iOSでは、
WKWebViewController
を使用しており、システムブラウザであるMobile SafariとCookieを共有せず独立しているため、アプリケーションからアクセスすることができます。 -
Androidでは、
Trusted Web Activity
(フラグをオンにし、デジタルアセットリンクをチェックしたCustom Tab)を使用します。Custom Tab
との通信は上記と同じです。唯一の違いは、信頼できるWeb Activityとして設定することで、Chrome タブのナビゲーション ツールバーを使用せずに表示できるようになる点です。
注:Custom Tab
をサポートするすべてのブラウザがTWAもサポートしているわけではありませんのでご注意ください。
Updated about 2 years ago