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
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.
Cuando activas el servicio, primero debes configurar la instancia de almacenamiento, aquí puedes configurarla bajo demanda y yo configuraré una a voluntad.
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.
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
(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.
(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.
(5) Luego, puede volver a la interfaz de almacenamiento en la nube y puede iniciar oficialmente el servicio.
(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.
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.
(2) Coloque el archivo json recién descargado en el directorio de configuración del proyecto Cocos
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;
}
]
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.
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
6.2 Descargar archivos
Haga clic en el botón de descarga para ver el resultado de la descarga en el registro:
6.3 Cargar archivos
Haga clic en el botón Cargar para ver los resultados de la descarga en el registro:
En este momento, en la interfaz de AGC, también puede ver el archivo test1.jpg recién cargado
6.4 Eliminar archivos
Haga clic en el botón eliminar para ver el resultado de la descarga en el registro:
En este momento, en la interfaz AGC, el archivo test1.jpg que se acaba de cargar también se puede eliminar
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