LoginSignup
0
0

More than 1 year has passed since last update.

サーバに配置したWebViewのコンテンツからスマホのネイティブアプリのURLスキームの呼び出し方法

Last updated at Posted at 2022-02-10

筆者は普段サーバサイドのエンジニアとしてWebシステムの開発をしているが、
担当している案件でスマホのネイティブアプリ内のWebView内にコンテンツを組み込む案件がありました。

その際に、URLスキームを使ってネイティブアプリとWebViewのコンテンツ間の連携でハマったので、備忘録として残しておきます。
本記事はあくまでサーバサイドの立場からの対処方法になります。

URLスキームの書き方

筆者ははじめ、下記のコード用にfetch関数での読み込みを想定していました。
しかしURLスキームはネイティブアプリのWebViewのURLローダーの部分で実行する仕組みのため、
fetch関数のようなJavaScriptの非同期処理では実行が出来ませんでした。
そこで以下のように location.href にURLスキームを設定し、
ネイティブアプリのWebViewに読み込ませることで問題を解消しました。

// 間違い
fetch("【URLスキーム】");
// 正解
location.href = "【URLスキーム】";
// 参考例
location.href = "appli://test";

最後に

ちなみに以前、スマホアプリのエンジニアとして案件を担当した際に、上記のようなケースの経験がありました。
今回はサーバサイドの案件の担当者として参画したので、アプリの開発にノータッチの状況は初でした。
久々に対応すると忘れていることも多いので、注意が必要ですね。。。

0
0
0

Register as a new user and use Qiita more conveniently

  1. You get articles that match your needs
  2. You can efficiently read back useful information
  3. You can use dark theme
What you can do with signing up
0
0