LoginSignup
22
8

More than 3 years have passed since last update.

UnityでUrlSchemeからアプリを開いたときのurlを取得できるようにしてみた。(iOS,Android両対応)

Last updated at Posted at 2019-04-23

UnityでUrlSchemeからアプリを開いたときのurlを取得できるようにしてみた。

気になったのでやってみました。
というより、いい感じのライブラリがあるだろうと思ってたんですよ。
幾つかのアプリがいい感じにUrlSchemeでキャンペーンやってたりするので!!

でもなかった…
いやOS別ならあるんですよ。

iOS
Unity/iOS で起動 URL を取得する (Unity 2018.3)
https://github.com/Bugfire/Unity_OnOpenURL.git

Android(こちらは古い)
[Unity][Android] カスタムURLスキームを使ってアプリを起動する(Unity Android編)

の二つの記事がそれにあたります。

両方まとめてかんたんにしてよーー!!!
っていう怠惰メンタルがこうふつふつとわいてきてですね・・・!!!

簡単に両対応しました!!!
リポジトリはこちら
https://github.com/Marimoiro/urlschemereceiver.git

導入方法

こちらのunitypackageを突っ込んでください。

ios

ProjectSettingsからiOSのurlschemeを設定しておしまい。

Android

AndroidManifest.xmlの<application>タグの中に以下を追記してください。

        <!-- url receiver activity -->
        <activity android:name="urlreceiver.IntentReceiveActivity">
            <intent-filter>
                <data android:scheme="{Your Url Scheme}" />
                <category android:name="android.intent.category.DEFAULT" />
                <category android:name="android.intent.category.BROWSABLE" />
                <action android:name="android.intent.action.VIEW" />
            </intent-filter>
        </activity>

使い方

UrlSchemeReceiverクラスが全てです。

    public static class UrlSchemeReceiver
    {
        /// <summary>
        /// url schemeから開かれていればtrueさもなくばfalse
        /// </summary>
        public static bool OpenFromUrlScheme { get; private set; }

        /// <summary>
        /// 開かれたurlscheme
        /// e.g. urlscheme://example
        /// 
        /// もしurlscheme以外からアプリが起動されていれば null
        /// </summary>
        public static string OpenUrl { get; private set; }

        /// <summary>
        /// 開かれたurlschemeの//以降の部分
        /// e.g. example
        /// 
        /// もしurlscheme以外からアプリが起動されていれば null
        /// </summary>
        public static  string SpecificPart { get; private set; }
    }

ライセンスについて

一応ないとまずいかなと思って2条項BSDつけていますが、(個人の見解ですが)このプログラムは著作権が発生していないのでは?と思います。
詳しい人教えてください。

もし使うことがあればStarかLGTMつけてほしいなほしいな!!

22
8
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
22
8