リリース後、PlayFabの「Title OverView」>「PlayStream Monitor」をぼーっと眺めていると、突然このようなエラーらしきものが。
CustomData:UserDataValueUpdatesPer15Seconds をクリックするとこのような画面になりました。
なおこの画面は、それぞれのタイトルのページから、歯車マーク>「Title Settings」>「Limits」>「Data Storage」>「Player data value updates per 15 seconds」からも開くことができます。
この項目は ひとり分のプレイヤーデータが15秒以内に更新できる回数の上限を表したものとのことで、最大回数は10回までみたいですね。
グラフを見ると結構ギリギリでたまに超えています。
PlayStream Monitorで iボタンを押すとjson形式で詳細が表示されます。
{
"EventName": "title_exceeded_limit",
"LimitId": "CustomData:UserDataValueUpdatesPer15Seconds",
"LimitDisplayName": "Number of times the same player data value may be updated within a period of 15 seconds.",
"Unit": "Count",
"LimitValue": 10,
"Value": 11,
"AssociatedEntities": {
"player": [
"XXXXXXXXXXXXXXXX"
]
},
"Details": {
"key": "System"
},
"EventNamespace": "com.playfab",
"EntityType": "title",
"Source": "PlayFab",
"EventId": "4d6cbca7432d4f11af8c5b004bc5df67",
"EntityId": "C4F50",
"SourceType": "BackEnd",
"Timestamp": "2021-01-02T06:52:46.8257107Z",
"History": null,
"CustomTags": null,
"Reserved": null,
"PlayFabEnvironment": {
"Vertical": "master",
"Cloud": "main",
"Application": "mainserver",
"Commit": "22da35e"
}
}
Limit Valueが10なのにValueが11になっているのでエラーになっているようですね。
11の段階でエラーになるのでおそらくこのValueは常に11になる気がします。
対策
ひとりのプレイヤーが15秒間に10回データを更新したい状況というのはなかなかない気がします。
おそらくどこかに実装ミスがある気がするのでユーザーデータを更新している箇所を探してみてください。
どうしても頻繁に更新したい場合は、無料のDevelopmentプランではなくプラン変更を検討した方が良さそうです。
私のケースは、このような音量スライダーで音量を変更したときに毎回保存するようにしていたのですが、スライダーを動かすたびにちょっとでも変更があるとセーブする処理が走ってしまうことが原因でした。
エラーログなどはPlayStream Monitor以外には表示されないため、気がつけませんでした……。
確定したら(画面を閉じたら)セーブするように変更したところ、異常な頻度で更新されてしまう問題は解決しました。
参考
title_exceeded_limit – PlayFab _ Microsoft Docs