RequĂŞte ecriture sur firestore


#1

Bonjour,
j’ai cherché sur le forum mais je n’ai pas trouvé ma réponse.
J’ai crée une base de donnée et crée 1 champs dans Firestore : nom. Je voudrais faire une écriture dans ce champs.
Par exemple, une fois le jeu terminé, le joueur remplit un text entry avec une variable nom.Et une fois un bouton cliqué, j’envoie la requête pour l’écriture dans firestore.
Mais je ne sais pas faire la requĂŞte vers firestore.
Le must serait de rajouter la date(date et heure) Ă  laquelle il a fini le jeu.
Merci de votre aide.


#2


Bonjour,
j’ai réussi à avancer un peu mais je bloque car sur firestore je n’ai aucune écriture.
Je dois faire quelque chose de pas bon mais je ne vois pas.


#3

On dirait qu’il faut une authentification pour pouvoir écrire sur la base de donnée.
Donc je vais devoir modifier les règles (rules) du firestore database pour mettre un user et ainsi récupérer UserUID() pour écrire.
Quelqu’un peut il me dire si je suis dans le vrai???


#4

Si tu utilises l’uid comme nom de document j’imagine qu’en effet il faut être authentifié car un document ne peut avoir un nom vide.


#5

merci pour ta réponse. J’ai donc crée juste pour un test, un document et écrit dedans ma variable structurée. Sans authentification, sans rien, juste quelque chose de simple mais j’ai toujours rien!



La variable est de type structure

et les rules modifiés

Ou alors j’ai un problème sur les properties du jeu avec la modification à faire sur firebase configuration string. J’ai également mis le CDN sur index.html. Pour la config, J’ai mis:
{
“apiKey”: “xxxxxxxxxxxxxxxxxx”,
“authDomain”: “xxxxxxxxxxxxxxxxxx”,
“projectId”: “xxxxxxxxxx”,
“storageBucket”: “xxxxxxxxxxx”,
“messagingSenderId”: “xxxxxxxxxxx”,
“appId”: “xxxxxxxxxxxxxx”
};
Il manque database url, c’est normal???
Ca fait une semaine que je suis dessus, je ne lacherais pas. En tout cas merci pour ton aide arthuro555


#6

As tu vérifié les règles de ta base de données?

Comment cela?

Ca m’a l’air OK.

Je crois qu’il n’y a plus besoin en effet, de toute facons il me semble que c’est pour realtime database pas pour cloud firestore.


#7

Pour les règles, j’ai mis ça


J’ai exporté mon jeu en html5 pour l’utiliser sur le web.
J’ai donc suivi cette procédure:
http://wiki.compilgames.net/doku.php/fr/gdevelop5/all-features/firebase/quickstart
qui dit :“copier et coller ces scripts dans de votre index.html”.
Mais je viens de m’apercevoir de quelque chose. Quand j’ai crée le projet sur firebase, je n’ ai pas coché “analytics”.


#8

La procédure ne dit a aucun moment de copier quoi que ce soit dans l’index.html


#9

Je croyais qu’il fallait mettre le code (cdn) dans l’index.html de l’application web que j’ai hébergée sur mon site car il parle de :" Copiez et collez ces scripts en bas de votre balise <body> avant d’utiliser les services Firebase ".Mais alors ou je dois mettre ces 3 scripts

  1. The core Firebase JS SDK is always required and must be listed first -->
    script src=“https://www.gstatic.com/firebasejs/8.8.0/firebase-app.js” /script
    2)-- TODO: Add SDKs for Firebase products that you want to use
    https://firebase.google.com/docs/web/setup#available-libraries -->
    script src=“https://www.gstatic.com/firebasejs/8.8.0/firebase-analytics.js”></script
    3)script>
    // Your web app’s Firebase configuration
    // For Firebase JS SDK v7.20.0 and later, measurementId is optional
    var firebaseConfig = {
    apiKey: “”,
    authDomain: “”,
    projectId: “”,
    storageBucket: “”,
    messagingSenderId: “”,
    appId: “1”,
    measurementId: “”
    };
    // Initialize Firebase
    firebase.initializeApp(firebaseConfig);
    firebase.analytics();
    </script

Je suis novice dans gdevelop, c’est pour ça que je galère.
En tout cas, encore merci pour ton aide.


#10

Tu ne mets rien nul part dans les fichiers du jeu. Comme c’est écrit sur le wiki,

La seule partie nécessaire est la configuration, la partie entre les {}. Copie donc uniquement le contenu entre les {} y compris les {} […] (et) colle le dans la case “Configuration Firebase” des propriétés du projet.

Le code en lui même est géré par GDevelop, la seule chose dont ca a besoin est de la configuration unique au projet. Il n’y a jamais besoin de changer l’index.html, cela irait à l’encontre du principe du développement facile et accessible pour tous.


#11

OK. Je vais essayer!!


#12

Et bien toujours rien???
J’ai fait un debug des variables pour voir


Et donc quand je crée un document “goldorack” en direct sur firestore et que je fais
Write identite to firestore in document “goldorack” of collections “joueurs” (store result state in Errors)
Je n’ai absolument aucune écriture.
On dirait qu’il n’y a pas de lien entre l’appli web et la bdd. Pourtant la config firebase sur gdevelop est bonne et les règles sur firestore sont ok.
Je n’y comprends plus rien.


#13

Ta configuration firebase est invalide, il faut retirer le point virgule ( ; ) Ă  la fin.


#14

YESSSSSSSSSSSSSSS!
Ca fonctionne!!!
Merci infiniment pour ton aide et ta réactivité arthuro555.
Je suis très content.
merci Ă  toi.