Unityアプリ開発でテキストをURLエンコードする方法としてネットでよくみるのが
「www.EscapeURL」を使う方法ですが、「www.EscapeURL」は廃止になるらしいので、別の方法でURLエンコードする方法について調べてみました。
「www.EscapeURL」を使ってテキストをURLエンコードする
例として、Twitterでテキストを簡単にシェアしたい場合、今までは「www.EscapeURL」を使って以下のようなやり方をしていました。
Application.OpenURL(url: "https://twitter.com/intent/tweet?text=" + WWW.EscapeURL("シェアするメッセージ" System.Text.Encoding.UTF8));
この方法でもUnityのバージョンによってはできなくないし、警告が出るだけのパターンもあります。
「www.EscapeURL」は廃止されるらしい
僕が使っているUnityバージョン「Version 2018.3.6f1」では一応「www.EscapeURL」を使っても大丈夫そうではありますが、警告が表示されます。
ただ、「www.EscapeURL」のリファレンスをチェックしてみると、「Obsolete」となっているので、今後廃止されるっぽいですね。
「www.EscapeURL」の代わりに「UnityWebRequest.EscapeURL」を使う
「www.EscapeURL」は今後廃止されるらしいので、代わりに使えるものを調べてみたら「UnityWebRequest.EscapeURL」というもので代替出来そうです。
Application.OpenURL(url: "https://twitter.com/intent/tweet?text=" + UnityEngine.Networking.UnityWebRequest.EscapeURL("シェアするメッセージ"));
こっちなら警告も出ないので安心して使えそうです。