Я очень нервничаю .. Я не могу нормально протестировать облачные функции FireBase, потому что многие вещи не работают. Я проверил это, я скопировал ту же функцию с другим именем, новая функция не работает. Почему???? Почему работает helloworld и почему не работает tryhello ???
облачные функции nodejs index. js:
const functions = require('firebase-functions');
const admin = require('firebase-admin');
admin.initializeApp();
const db = admin.firestore();
exports.tryHello = functions.https.onCall((data, context) => {
let dataexample = {
name: 'examplename',
state: 'examplestate',
country: 'examplecountry'
};
let setDoc = db.collection('newexample').doc(data.text).set(dataexample);
return { text : "success. uid:" + context.auth.uid }
});
exports.helloWorld = functions.https.onCall((data, context) => {
let dataexample = {
name: 'examplename',
state: 'examplestate',
country: 'examplecountry'
};
let setDoc = db.collection('newexample').doc(data.text).set(dataexample);
return { text : "success. uid:" + context.auth.uid }
});
Unity C#:
public void testbutton()
{
var data = new Dictionary<string, object>();
data["text"] = "example";
//I tested "tryHello" and helloWorld"
FirebaseFunctions.DefaultInstance.GetHttpsCallable("tryHello")
.CallAsync(data).ContinueWith((task) =>
{
if (task.IsFaulted)
{
// Handle the error...
print("error");
}
else if (task.IsCompleted)
{
IDictionary snapshot = (IDictionary)task.Result.Data;
print("Result: " + snapshot["text"]);
}
}
Результат:
1. Сначала я пишу Unity: GetHttpsCallable ("helloWorld") и сохраняю.
Я запускаю игру, авторизируюсь, затем нажимаю кнопку тестирования.
результат: firebase console: успешно создать коллекцию примеров, пример документа, страну: examplecountry, имя: examplename, состояние: examplestate. Хорошо, хорошо.
журнал единства:
1. Пользователь успешно вошел в систему: Jane Q. Пользователь (qQC3wEOU95eDFw8UuBjb0O1o20G2) UnityEngine.Debug: LogFormat (String, Object []) PerformWaitCallback ()
Облачные функции Журнал "helloWorld": Выполнение функции запущено Выполнение функции заняло 3020 мс, завершено с кодом состояния: 200
ОК. Я удаляю коллекцию "example" в консоли Firebase.
2. Во-вторых, я пишу Unity: GetHttpsCallable ("tryHello") и сохраняю.
Я запускаю игру, авторизируюсь, затем нажимаю кнопку тестирования.
Результат: не создать коллекцию.
журнал единства:
* 1. Пользователь успешно вошел в систему: пользователь Джейн В. (qQC3wEOU95eDFw8UuBjb0O1o20G2) UnityEngine.Debug: LogFormat (String, Object []) )
ошибка UnityEngine.MonoBehaviour: print (Object) <> c: b__16_0 (Task`1) (at Assets / loginfire.cs: 396) System.Threading._ThreadPoolWaitCallback: PerformWaitCallback () *
Облачные функции Журнал «tryHello»: ничего ...
Почему? Я не понимаю то же самое, только имя отличается!
И .. во многих случаях это показывает успех, но все еще не обновляет базу данных. или просто намного позже. Почему? В последнее время helloWorld также часто пишет об ошибке, если я не нажимаю кнопку тестирования сразу после входа в систему, он не может прочитать UID.
Я начинаю уставать от системы с самого начала .
Спасибо ..