Cocos | Integre rápidamente el servicio de almacenamiento en la nube de Huawei AGC

Huawei AppGallery Connect proporciona un servicio de almacenamiento en la nube (CloudStorage), que pretende proporcionar un servicio de almacenamiento en la nube conveniente. Cuando los desarrolladores de aplicaciones lo usan, pueden usarlo directamente sin prestar atención a la implementación del servidor.

En la actualidad, esta función aún se encuentra en la etapa beta, primero la probé.

1. Información medioambiental y de aplicación

Inserte la descripción de la imagen aquí

Dirección AGC:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html

Método de integración SDK: integración abierta en Cocos Creator

2. Abrir almacenamiento en la nube en AGC:

PD: El servicio de almacenamiento en la nube se encuentra actualmente en estado beta, debe enviar un correo electrónico para solicitar la activación antes de su uso:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-apply

En mi proyecto seleccionado en sus proyectos de desarrollo en el edificio a continuación y busque el servicio de almacenamiento en la nube, haga clic en abrir:

Si no tiene un proyecto de Android, puede crear uno usted mismo.

Inserte la descripción de la imagen aquí

Cuando activas el servicio, primero debes configurar la instancia de almacenamiento, aquí puedes configurarla bajo demanda y yo configuraré una a voluntad.

Inserte la descripción de la imagen aquí

En el siguiente paso, también debe configurar la política de seguridad. Aquí, simplemente use la política de seguridad predeterminada:

PD: De forma predeterminada, solo los usuarios autenticados pueden leer y escribir.

Inserte la descripción de la imagen aquí

3. Integrar SDK en el proyecto Cocos Creator

3.1 SDK integrado

Documentos oficiales:https://docs.cocos.com/creator/manual/zh/cocos-service/agc-applinking.html

(1) Acceda a los servicios de almacenamiento en la nube requeridos en el panel de servicios de Cocos. Actualmente, el SDK solo es compatible con la plataforma Android

Inserte la descripción de la imagen aquí

(2) Antes de acceder a los servicios relacionados, primero debe asociar la APLICACIÓN, hacer clic en Habilitar en la interfaz de servicio y luego hacer clic en el botón Asociar. Después de hacer clic en Crear, será redirigido a la consola de administración de Cocos.

Inserte la descripción de la imagen aquí

(3) Se puede crear un nuevo juego según las necesidades personales.

(4) Una vez completada la creación, puede volver a la interfaz de Cocos Creator para crear una nueva, actualizar y seleccionar para asociar la aplicación.
Inserte la descripción de la imagen aquí

(5) Luego, puede volver a la interfaz de almacenamiento en la nube y puede iniciar oficialmente el servicio.
Inserte la descripción de la imagen aquí

(6) Una vez activado el servicio, debe configurar la instancia de almacenamiento predeterminada. Aquí debe completar el depósito predeterminado del proyecto con el almacenamiento en la nube activado en la interfaz de AGC.

Inserte la descripción de la imagen aquí

3.2 Descarga el archivo json

(1) Una vez activado el servicio, vuelva a la interfaz de configuración del proyecto y descargue el último archivo json.
Inserte la descripción de la imagen aquí

(2) Coloque el archivo json recién descargado en el directorio de configuración del proyecto Cocos

Inserte la descripción de la imagen aquí

4. Pasos preliminares

4.1 Modificar las reglas de seguridad

Según las reglas de seguridad predeterminadas, los usuarios que han sido certificados por Huawei deben realizar operaciones de archivos de almacenamiento en la nube.

Para facilitar la integración, las reglas de seguridad del almacenamiento en la nube se modifican especialmente y las reglas de seguridad se modifican para permitir todo . En este momento, puede operar archivos en el almacenamiento en la nube sin requerir la certificación de Huawei.

// 全部允许 
agc.cloud.storage[
   match: /{bucket}/{path=**} {
      allow read, write:  if true;
   }
]

Inserte la descripción de la imagen aquí

4.2 Disposición de la interfaz

Configure varios botones en Cocos Creator y haga clic en los botones para realizar las funciones: incluidos los botones para enumerar archivos, cargar y descargar archivos y eliminar archivos.

Inserte la descripción de la imagen aquí

5. Desarrollo de funciones:

5.1 Inicializar y crear un oyente en Inicio

start () {      
        this._storage = huawei.agc.storage;
                 this._storage.storageService.on("error", data => console.log("Cloud Storage", `error : ${data.errCode}:${data.errMsg}`), this);
                 this._storage.storageService.on("get-file-metadata", data => console.log("Cloud Storage", JSON.stringify(data)), this);
                 this._storage.storageService.on("update-file-metadata", data => console.log("Cloud Storage", JSON.stringify(data)), this);
                 this._storage.storageService.on("delete-file", data => console.log("Cloud Storage", JSON.stringify(data)), this);
                 this._storage.storageService.on("list-file", data => console.log("Cloud Storage", JSON.stringify(data)), this);
                 this._storage.storageService.on("get-download-url", data => console.log("Cloud Storage", JSON.stringify(data)), this);
                 this._storage.storageService.on("task", data => {
                         console.log("Cloud Storage", JSON.stringify(data));
                         if (data.task instanceof this._storage.AGCDownloadTask && data.status === 'successful') {
                                  jsb.fileUtils.renameFile(jsb.fileUtils.getWritablePath() + "/output.json", jsb.fileUtils.getWritablePath() + "/output1.json");
                         }
                 }, this);
                 // 创建根目录的引用
                 this.rootReference = huawei.agc.storage.storageService.getInstance().getStorageReference();
    },

5.2 Documentos de ejemplo

Utilice el método ListALL para enumerar todos los archivos:

listAll:function () {
    this.rootReference.listAll();
    console.log('Cloud Storage', 'ListAll file');
}

5.3 Descargar archivos

Descargue un archivo llamado test.jpg de la nube y cámbiele el nombre a test1.jpg.

download:function () {
// 先 delete 文件,避免文件已存在导致下载失败
jsb.fileUtils.removeFile(jsb.fileUtils.getWritablePath() + "/test.jpg");
this.rootReference.child("test.jpg").getFile(jsb.fileUtils.getWritablePath() + "/test1.jpg");
console.log('Cloud Storage', 'download test.jpg, and reNamed test1.jpg');
},

5.4 Cargar archivos

Sube el archivo test1.jpg recién descargado

 upload:function () {
                 if (!jsb.fileUtils.isFileExist(jsb.fileUtils.getWritablePath() + "/test1.jpg")) {
                         return console.log('Cloud Storage', 'local file test1.jpg not exist, please click Download!')
                 }
        this.rootReference.child("test1.jpg").putFile(jsb.fileUtils.getWritablePath() + "/test1.jpg");
        console.log('Cloud Storage', 'upload test1.jpg');
    },

5.5 Eliminar archivos

Elimine los archivos test1.jpg local y en la nube.

 delete:function () {
        this.rootReference.child("test1.jpg").delete();
        console.log('Cloud Storage', 'delete test1.jpg success!')
                 jsb.fileUtils.removeFile(jsb.fileUtils.getWritablePath() + "/test1.jpg");
        },

6. Prueba de embalaje:

Utilice la compilación del creador de Cocos para empaquetar un archivo de Android e instalarlo en el dispositivo para verificar si los puntos de función son correctos.

android: allowBackup = "falso"

Tenga en cuenta que al empaquetar, si la API seleccionada es android-30, debe modificar el atributo android: allowBackup en el archivo AndroidManifest a falso.

6.1 Documentos de ejemplo

Haga clic en el botón ListALL para ver todos los archivos enumerados en Logcat: Filtre para ver Cloud Storage en el registro y ver los resultados
Inserte la descripción de la imagen aquí

6.2 Descargar archivos

Haga clic en el botón de descarga para ver el resultado de la descarga en el registro:

Inserte la descripción de la imagen aquí

6.3 Cargar archivos

Haga clic en el botón Cargar para ver los resultados de la descarga en el registro:

Inserte la descripción de la imagen aquí

En este momento, en la interfaz de AGC, también puede ver el archivo test1.jpg recién cargado
Inserte la descripción de la imagen aquí

6.4 Eliminar archivos

Haga clic en el botón eliminar para ver el resultado de la descarga en el registro:
Inserte la descripción de la imagen aquí

En este momento, en la interfaz AGC, el archivo test1.jpg que se acaba de cargar también se puede eliminar

Inserte la descripción de la imagen aquí

7. Resumen

Solo concéntrese en el desarrollo de aplicaciones front-end y podrá desarrollar un juego con servicios de almacenamiento en la nube en Cocos. Ya no tiene que preocuparse por la construcción, el funcionamiento y el mantenimiento del servidor, lo que ahorra tiempo y esfuerzo. También proporciona una consola web similar al modo administrador, que puede administrar archivos en el servidor de manera simple e intuitiva.

Además de las funciones de carga, descarga y eliminación más comunes, este servicio de almacenamiento en la nube también incluye funciones como la configuración de metadatos. Para obtener más detalles, puede consultar el documento oficial:

  Para obtener más detalles, consulte:

  Guía de desarrollo del servicio de almacenamiento en la nube:

https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-introduction

  Documentos de Cocos en almacenamiento en la nube:
https://docs.cocos.com/creator/manual/zh/cocos-service/agc-cloudstorage.html


Enlace original:
https://developer.huawei.com/consumer/cn/forum/topic/0201419625098590546?fid=0101271690375130218
Autor: Jessyyyyy

Supongo que te gusta

Origin blog.51cto.com/14772288/2589835
Recomendado
Clasificación