AppSeedのアプリ開発ブログ

アプリ開発会社AppSeed(アップシード)開発担当のブログです。iOS、Android、Unity、Cocos2d-xなどアプリ開発関連のTipsや備忘録、アプリ開発に役立つ情報を発信します。

【Unity】www.EscapeURLを使わないでテキストをURLエンコードする方法

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】www.EscapeURLを使わないでテキストをURLエンコードする方法

docs.unity3d.com


僕が使っているUnityバージョン「Version 2018.3.6f1」では一応「www.EscapeURL」を使っても大丈夫そうではありますが、警告が表示されます。
ただ、「www.EscapeURL」のリファレンスをチェックしてみると、「Obsolete」となっているので、今後廃止されるっぽいですね。



「www.EscapeURL」の代わりに「UnityWebRequest.EscapeURL」を使う

「www.EscapeURL」は今後廃止されるらしいので、代わりに使えるものを調べてみたら「UnityWebRequest.EscapeURL」というもので代替出来そうです。

docs.unity3d.com

Application.OpenURL(url: "https://twitter.com/intent/tweet?text=" + UnityEngine.Networking.UnityWebRequest.EscapeURL("シェアするメッセージ"));


こっちなら警告も出ないので安心して使えそうです。