Parse Unity/WebGL сообщения часто терпят неудачу
Я пытаюсь использовать плагин Parse Unity, и у меня тонны проблем с получением информации в и из Parse через сборку WebGL. Я включил исправления REST-API, упомянутые здесь, и это делает так, чтобы Parse фактически услышал мои запросы и обычно отвечал. Это не мешает Parse потерпеть неудачу в вещах, которые выглядят так, как будто они должны работать.
Я пошел точно по руководству Parse Unity, чтобы все настроить. И все, что я пытался сделать, прекрасно работает в редакторе. Проблемы возникают только тогда, когда я на самом деле делаю сборку WebGL.
Вот вопросы:
- (Не проблема) LogInAsync работает нормально, что меня смущает.
- (Проблема, которую я исправил) SignUpAsync получит ошибку POST 400 Bad Request. Мне удалось это исправить, зарегистрировав пользователя в облачном коде и затем войдя в систему на стороне клиента, когда он получит ответ от облачного кода.
- (Проблема, которую я исправил) Изменение адреса электронной почты пользователя (с помощью Parse Unity SaveAsync) приведет к ошибке POST 400 Bad Request. Я смог это исправить, отправив запрос в CloudCode и имея некоторый код для установки нового электронного письма и сохранения пользователя. И это работает сейчас.
- Смена пароля пользователя, если я использую SaveAsync в Parse Unity, получит ошибку POST 400 Bad Request. Я изменил его, чтобы сделать что-то похожее на мой почтовый чейнджер в CloudCode, но в итоге он показывает успех в редакторе Unity (но новый пароль на самом деле не работает), и он все равно выдает то же сообщение об ошибке в WebGL. Я попытался использовать request.user и Parse.User.current(), и оба из них просто делают его сбой (даже в редакторе). У меня есть больше об этой конкретной проблеме здесь, но я чувствую, что эта единственная проблема является частью этой большой проблемы.
- Выход с LogOutAsync всегда возвращает ошибку POST 400 Bad Request.
- Когда я сохраняю ParseFile с помощью file.SaveAsync(), задача никогда не завершается (она успешно завершается в редакторе). Я могу подтвердить, что публикация прошла, посмотрев на средства сетевой отладки в браузерах. Это очень странно, и я не получаю никаких сообщений вообще. Это просто... останавливается. Я бы попробовал решение CloudCode, но я не думаю, что смогу загрузить файлы таким способом.
Я чувствую, что все эти проблемы, вероятно, связаны, но я не знаю достаточно о сетях и серверах, чтобы действительно знать, почему что-то из этого происходит. Я знаю, что на нашем сервере есть все необходимые заголовки, и их размещение позволило мне даже добраться до этой точки.
Я не знаю, является ли это проблемой с Parse Server, с WebGL, с плагином Parse Unity, с моим сервером или с моим собственным кодом. Сам факт того, что он работает в редакторе Unity, когда я играю по книге, показывает мне, что я определенно сделал большинство, если не все, правильно. Я очень удивлен, что он не работает, когда я собираюсь в WebGL.
У кого-нибудь есть предложения, которые я могу попробовать? Я не могу быть далеко, и я не могу быть единственным, кто испытывает эту проблему... я могу?
1 ответ
Плагин Parse Unity3d не поддерживает WebGL, как вы нашли в этой ссылке на форуме. Поэтому, если вы используете REST-API, удалите Parse UnitySDK из вашего проекта и просто обменивайтесь данными через REST. Звучит так, как будто вы пытаетесь использовать оба, но Parse Unity3D SDK не будет работать в webgl, и, следовательно, вам нужно отказаться от него.