NIFCLOUD-mbaas / UserCommunity

ニフクラ mobile backend ユーザーコミュニティ
https://mbaas.nifcloud.com/
82 stars 18 forks source link

UnitySDK でのセッションの有効性確認について #1296

Open goshawk329 opened 2 years ago

goshawk329 commented 2 years ago

UnitySDK の自動ログイン時のセッションの有効性確認方法について教えてください。

https://blog.mbaas.nifcloud.com/entry/2021/03/18/094629

を拝見したのですが、

currentUser.FetchTaskAsync();

で NCMBUser.CurrentUser の何等かのデータを取得するとなっているのですが、 FetchTaskAsync() に代わり、セッションの有効性を確認できるデータは何になりますでしょうか。

認証有効時間を1時間にして

currentUser.SessionToken

がnullになるか試してみたのですが、1時間以上経過後でもSessionTokenがnullになりませんでした。 よろしくお願いいたします。

goofmint commented 2 years ago

セッションはサーバーで管理していますので、有効性はサーバーにアクセスしないと分かりません。currentUser.SessionToken はあくまでもローカルのデータを復元しているだけなので、自動で null になることはありません。APIをコールしてみてはじめて有効性が分かります。

goshawk329 commented 2 years ago

ありがとうございます。 質問の仕方が良くなかったかも知れません。

https://blog.mbaas.nifcloud.com/entry/2021/03/18/094629

に記載のある currentUser.FetchTaskAsync(); が無いようなのですが、こちら currentUser.FetchAsync(); になりますでしょうか?

よろしくお願いいたします。

goofmint commented 2 years ago

APIレベルの問題かも知れません。メソッドはこちらになります。

https://github.com/NIFCLOUD-mbaas/ncmb_unity/blob/47c1b43afe59268519d283d8b186e97fb97d0aa3/ncmb_unity/Assets/NCMB/Script/Task/NCMBUserTaskExtension.cs#L12

APIレベルの変更はこちらの記事を参照してください。

https://blog.mbaas.nifcloud.com/entry/2020/07/20/092012

Async/Awaitでなくとも大丈夫であれば FetchAsync をそのまま利用してください。

goshawk329 commented 2 years ago

ありがとうございます。 APIレベルは問題なかったので、SDKの再インポート等して確認してみます。