LoginSignup
0
0

More than 3 years have passed since last update.

LINEでURLを共有した時に、外部ブラウザからリンクを開くように設定する

Posted at

WebアプリやWebサイトのURLを
LINEや、Instagramとかで共有すると
そのアプリのブラウザでリンクが開かれてしまいます。
(LINEであればLINEのブラウザ、InstagramならInstagramのブラウザ)

でも、できれば、ユーザーがいつも使っているブラウザで開いてもらいたい。
そうすれば、ブックマークへの登録も簡単になるし。。。

というときのやり方がこちらです!

共有するURLのクエリにopenExternalBrowserを追加する

共有するURLのクエリの部分に
openExternalBrowser=1
を追加することで、
LINEなどで共有しても、ChromeやSafariなどで開かれることになります♪
https://sakidesign.com/line-browser/ を参照

・普通のURLで共有したら、LINEブラウザで開かれること
・クエリにopenExternalBrowser=1を追加したら、Chromeで開いてくれること
を確認できました!(≧▽≦)

JSで実装しようかと思ってたんですが、結構楽にできました。(笑)

openExternalBrowserがクエリにあったら、ルートに戻すようルーティングする。

「~/?openExternalBrowser=1」でURLを共有すると、ユーザーはたぶん「~/?openExternalBrowser=1」をブックマークしてしまうことになります。
なので、
・クエリに「~/?openExternalBrowser=1」があれば、「~/」に遷移する。
というロジックを組んでおくと、すっきりすると思います。

Next.jsだとこんな感じですね。

index.js
import React from "react";
import { useRouter } from "next/router";

export default function Home() {
  const router = useRouter();
  const OPEN_EXTERNAL_BROWSER = router.query.openExternalBrowser
    ? router.query.openExternalBrowser
    : null;
  React.useEffect(() => {
    if (OPEN_EXTERNAL_BROWSER) {
      router.push("./");
    }
  });
  return <div>Hello world</div>
}


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