[JAVA] Utilisez Firebase Realtime Database avec Cocos Creator.

introduction

Ceci est le premier message. Bonjour. De nos jours, quand il s'agit de moteurs de jeu multiplateformes, Unity est le choix. Je pense que l'UE sortira d'une manière ou d'une autre à la deuxième place. En attendant, c'était bien de commencer à travailler sur Cocos Creator, mais j'étais en difficulté car il n'y avait pas assez d'informations, donc je posterai un mémorandum.

Que veux-tu faire

Accédez à la base de données en temps réel de Firebase avec une application en cours de développement par cocos creator.

Méthode

Puisque cocos creator utilise Node.js, npm est essentiellement utilisé. Cependant, cette méthode ne fonctionnait pas sur Android. (Pas de problème sur iOS ou Web) Je n'avais pas d'autre choix que d'installer Firebase Database dans Android Studio et de l'appeler via Java.

npm install --save firebase Utilisation d'un terminal etc. dans le dossier projet de Cocos Creator

npm install --save firebase

Éxécuter. L'article suivant a été très utile à cet égard. Implémentation de l'authentification Firebase à l'aide de Cocos Creator

Au début, le module ne s'est pas bien chargé, mais lorsque j'ai redémarré Cocos Creator, il semble se charger correctement. Après cela, vous pouvez l'exécuter sans aucun problème en utilisant Firebase avec Node.js. Ajouter Firebase au projet JavaScript (https://firebase.google.com/docs/web/setup?hl=ja)

Android Le module n'est pas disponible sur Android pour une raison quelconque. Il y a peut-être quelque chose qui ne va pas avec le fait que vous utilisez npm dans Node.js. (Je ne peux pas comprendre) Dans l'article ci-dessus, j'ai pu exécuter au moins Firebase Authentication sans aucun problème, mais je ne pouvais pas utiliser Firebase Realtime Database dans mon environnement, j'ai donc décidé d'utiliser Java directement.

Vous devez d'abord déployer Firebase dans votre projet. Ajoutez Firebase à votre projet Android (https://firebase.google.com/docs/android/setup?hl=ja) Nous utiliserons la base de données Firebase Realtime introduite de cette manière via Java. Pour utiliser Java avec javascript de cocos creator

jsb.reflection.callStaticMethod(className, methodName, methodSignature, parameters...)

Utilisez le. How to Call Java methods using JavaScript on Android

Plus précisément, placez le package Java que vous souhaitez utiliser dans org.cocos2dx.javascript et appelez-le depuis javascript. Au début, je ne connaissais pas l'emplacement de org.cocos2dx.javascript, je vais donc l'écrire. /Project_Folder/build/jsb-default/frameworks/runtime-src/proj.android-studio/src/org/cocos2dx/javascript/ C'est dedans.

Là,

FirebaseWrapper.java


package org.cocos2dx.javascript;

import android.util.Log;
import com.google.firebase.database.FirebaseDatabase;

public class FirebaseWrapper {
    private static FirebaseDatabase database=null;

    public static void init(){
        if(null==database){
            database=FirebaseDatabase.getInstance();
            Log.d("Firebase Wrapper","Firebase Initialized!");
        }
    }
}

J'ai fait quelque chose comme ça. Pour faire cela en javascript

jsb.reflection.callStaticMethod("org/cocos2dx/javascript/FirebaseWrapper","init","()V")

Est appelé. Malheureusement, result = jsb.reflection.callStaticMethod () '' ne peut être passé qu'en tant qu'argument et valeur de retour. Plus précisément, vous ne pouvez passer que int, float, boolean, String. Vous ne pouvez donc pas passer un tableau, etc. Quelque chose doit être fait, comme les remettre un par un.

Mais pour l'instant, vous pouvez accéder en toute sécurité à la base de données Firebase Realtime.

À la fin

Cette fois, j'ai créé l'application pour la première fois en utilisant Cocos Creator, mais honnêtement, c'était très difficile en raison de mon manque de compétences. Il y a encore de nombreux aspects du manque d'information, et j'ai senti que les amateurs n'auraient rien dû faire parce qu'au fond ils n'avaient pas d'autre choix que de collecter des informations en anglais ou en chinois. Cependant, il y a aussi l'aspect qu'il est difficile d'augmenter l'information, donc je publierai cet article pour quelqu'un dans le futur ou pour moi-même.

J'ai beaucoup appris, mais je pense que j'utiliserai probablement Unity avec obéissance la prochaine fois. Lol

Recommended Posts

Utilisez Firebase Realtime Database avec Cocos Creator.
[Swift] Comment installer Firebase ~ Comment utiliser Realtime Database et Cloud Firestore
Utiliser ProGuard avec Gradle
Utiliser Puphpeteer avec Docker
Utilisez XVim2 avec Xcode 12.0.1
Utilisation de CentOS avec LXD
Utiliser Webmock avec Rspec
Utiliser les WebJars avec Gradle
Utilisez jlink avec gradle