【Unity】Social ConnectorのWrite Permissionについて

white smartphone Unity
Photo by Cristian Dina on Pexels.com

自分が何を話したいか

もしかしてSocial Connectorを使うにあたり現在のUnityのバージョンならWrite PermissionExternal(SDCard)に変えなくても良いのかもしれない(Internalのままで大丈夫)という話です。

ただ、
あくまで かもしれない
なので真相は自分で確かめていただくようお願いします。
責任は取れません、ごめんなさい…(投げやり)。

何でそう思ったか

自分のゲーム(Precious Stone Adventure)にもSocial Connectorを実装していました。
それを自分のAndroid端末で試してみようとしたところ、多くの記事に書いてあるようにWrite PermissionをExternal(SDCard)に変えていたので、その権限を端末に求められました。

自分はそれを許可しないにしてみて、そのままシェアできる画面でシェアしてみたところ、権限を許可していないのにも関わらず文章や画像は何の支障もなくシェアできていました。

まとめると
許可画面で許可していないのに自分の端末では何の支障もなくシェア出来たからこの権限は必要ないのかもと考えました。

AndroidのApplication.persistentDataPath

頑張って端的に言うと、今と昔のSDカードの役割が違ったり同じだったりして、その名残が残っていてややこしくなってるみたいな感じだと思います。

凄く参考にさせていただいた記事様

AndroidのpersistentDataPathがカオス – wizaman's blog
Unity Application.persistentDataPath のパスは Android のバージョンと Write Access によって異なる。 - Qiita
Android で Application.persistentDataPath が返す値が Write Acces によって変わるので調べました。 Unity 5.3.6 で返すパスに仕様変更があるので、Unity 5.3.6 まで...
データ ストレージとファイル ストレージの概要  |  Android デベロッパー  |  Android Developers
Unity 2019.4 のシステム要件 - Unity マニュアル
このページでは、サポートされているすべてのプラットフォームで Unity 2019.4 を実行するために必要な最低限のシステム要件を説明します。

Android4.4からは権限なしでもApplication.persistentDataPathで書き込みができるようで、現在のUnityのバージョン(この記事を書いてる現在)は2019.4なのでAndroidの対応バージョンは4.4以降となっています。
なのでAndroid4.4以降なら権限必要ないかもという感じです。

余談

Social ConnectorのライセンスのCopyrightの横を見てみたら (C) 2011って書いてありました。
そんな前から使われているのかとビックリしました。
驚きと共に、10年も経てばAndroidの仕様が多少変わっても全然おかしくないなと納得がいきました。

コメント

タイトルとURLをコピーしました