Huawei AppGallery Connect bietet einen Cloud-Speicherdienst (CloudStorage), der behauptet, einen praktischen Cloud-Speicherdienst bereitzustellen. Wenn Anwendungsentwickler ihn verwenden, können sie ihn direkt verwenden, ohne auf die Serverbereitstellung zu achten.
Derzeit befindet sich diese Funktion noch in der Beta-Phase. Ich habe sie zuerst ausprobiert.
1. Umwelt- und Anwendungsinformationen
AGC-Adresse:https://developer.huawei.com/consumer/cn/service/josp/agc/index.html
SDK-Integrationsmethode: Offene Integration in Cocos Creator
2. Öffnen Sie den Cloud-Speicher auf AGC:
PS: Der Cloud-Speicherdienst befindet sich derzeit im Beta-Status. Sie sollten vor der Verwendung eine E-Mail senden, um die Aktivierung zu beantragen:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-apply
Klicken Sie in meinem Projekt, das Sie unter Ihren Entwicklungsprojekten im folgenden Gebäude ausgewählt haben und den Cloud-Speicherdienst suchen, auf Öffnen:
Wenn Sie kein Android-Projekt haben, können Sie selbst eines erstellen.
Wenn Sie den Dienst aktivieren, müssen Sie zuerst die Speicherinstanz konfigurieren. Hier können Sie sie bei Bedarf konfigurieren, und ich werde eine nach Belieben konfigurieren.
Im nächsten Schritt müssen Sie auch die Sicherheitsrichtlinie konfigurieren. Verwenden Sie hier einfach die Standardsicherheitsrichtlinie:
PS: Standardmäßig können nur authentifizierte Benutzer lesen und schreiben.
3. Integrieren Sie das SDK in das Cocos Creator-Projekt
3.1 Integriertes SDK
Offizielle Dokumente:https://docs.cocos.com/creator/manual/zh/cocos-service/agc-applinking.html
(1) Greifen Sie im Cocos Service Panel auf die erforderlichen Cloud-Speicherdienste zu. Derzeit unterstützt das SDK nur die Android-Plattform
(2) Bevor Sie auf verwandte Dienste zugreifen können, müssen Sie zuerst die APP zuordnen, auf der Dienstoberfläche auf Aktivieren klicken und dann auf die Schaltfläche Zuordnen klicken. Nachdem Sie auf Erstellen geklickt haben, werden Sie zur Cocos-Verwaltungskonsole weitergeleitet.
(3) Ein neues Spiel kann nach persönlichen Bedürfnissen erstellt werden
(4) Nach Abschluss der Erstellung können Sie zur Cocos Creator-Oberfläche zurückkehren, um eine neue zu erstellen, aktualisieren und auswählen, um die Anwendung zuzuordnen.
(5) Anschließend können Sie zur Cloud-Speicherschnittstelle zurückkehren und den Dienst offiziell starten
(6) Nachdem der Dienst aktiviert wurde, müssen Sie die Standardspeicherinstanz konfigurieren. Hier müssen Sie den Standardbereich des Projekts mit aktiviertem Cloud-Speicher auf der AGC-Schnittstelle ausfüllen.
3.2 Laden Sie die JSON-Datei herunter
(1) Nachdem der Dienst aktiviert wurde, kehren Sie zur Projekteinstellungsoberfläche zurück und laden Sie die neueste JSON-Datei herunter.
(2) Legen Sie die gerade heruntergeladene JSON-Datei im Einstellungsverzeichnis des Cocos-Projekts ab
4. Vorbereitende Schritte
4.1 Sicherheitsregeln ändern
Nach den Standardsicherheitsregeln müssen Benutzer, die von Huawei zertifiziert wurden, Cloud-Speicherdateivorgänge ausführen.
Um die Integration zu erleichtern, wurden die Sicherheitsregeln des Cloud-Speichers speziell geändert, und die Sicherheitsregeln wurden geändert, um alle zuzulassen . Derzeit können Sie Dateien im Cloud-Speicher betreiben, ohne dass eine Huawei-Zertifizierung erforderlich ist.
// 全部允许
agc.cloud.storage[
match: /{bucket}/{path=**} {
allow read, write: if true;
}
]
4.2 Schnittstellenlayout
Stellen Sie in Cocos Creator mehrere Schaltflächen ein und klicken Sie auf die Schaltflächen, um die Funktionen zu realisieren: einschließlich der Schaltflächen zum Auflisten von Dateien, Hochladen und Herunterladen von Dateien sowie Löschen von Dateien.
5. Funktionsentwicklung:
5.1 Initialisieren und erstellen Sie einen Listener in Start
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 Beispieldokumente
Verwenden Sie die ListALL-Methode, um alle Dateien aufzulisten:
listAll:function () {
this.rootReference.listAll();
console.log('Cloud Storage', 'ListAll file');
}
5.3 Dateien herunterladen
Laden Sie eine Datei mit dem Namen test.jpg aus der Cloud herunter und benennen Sie sie in test1.jpg um.
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 Dateien hochladen
Laden Sie die gerade heruntergeladene Datei test1.jpg hoch
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 Dateien löschen
Löschen Sie die lokalen und Cloud-Dateien test1.jpg.
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. Verpackungstest:
Verwenden Sie den Build von Cocos Creator, um eine Android-Datei zu verpacken und auf dem Gerät zu installieren, um zu überprüfen, ob die Funktionspunkte korrekt sind.
android: allowBackup = "false"
Beachten Sie, dass Sie beim Packen, wenn die ausgewählte API android-30 ist, das Attribut android: allowBackup in der AndroidManifest-Datei auf false ändern müssen.
6.1 Beispieldokumente
Klicken Sie auf die Schaltfläche ListALL, um alle aufgelisteten Dateien in Logcat: Filter anzuzeigen, um Cloud Storage im Protokoll anzuzeigen und die Ergebnisse anzuzeigen
6.2 Dateien herunterladen
Klicken Sie auf die Schaltfläche zum Herunterladen, um das Download-Ergebnis im Protokoll anzuzeigen:
6.3 Dateien hochladen
Klicken Sie auf die Schaltfläche Hochladen, um die Download-Ergebnisse im Protokoll anzuzeigen:
Zu diesem Zeitpunkt können Sie auf der AGC-Oberfläche auch die gerade hochgeladene Datei test1.jpg sehen
6.4 Dateien löschen
Klicken Sie auf die Schaltfläche Löschen, um das Download-Ergebnis im Protokoll anzuzeigen:
Zu diesem Zeitpunkt kann auf der AGC-Schnittstelle auch die gerade hochgeladene Datei test1.jpg gelöscht werden
7. Zusammenfassung
Konzentrieren Sie sich einfach auf die Entwicklung von Front-End-Anwendungen, und Sie können ein Spiel mit Cloud-Speicherdiensten auf Cocos entwickeln. Sie müssen sich nicht mehr um den Aufbau und Betrieb und die Wartung des Servers kümmern, was Zeit und Mühe spart. Es bietet auch eine Webkonsole ähnlich dem Administratormodus, mit der Dateien auf dem Server einfach und intuitiv verwaltet werden können.
Dieser Cloud-Speicherdienst enthält neben den gängigsten Funktionen zum Hochladen, Herunterladen und Löschen auch Funktionen wie das Festlegen von Metadaten. Weitere Informationen finden Sie im offiziellen Dokument:
Weitere Einzelheiten finden Sie unter:
Entwicklungshandbuch für Cloud-Speicherdienste:
https://developer.huawei.com/consumer/cn/doc/development/AppGallery-connect-Guides/agc-cloudstorage-introduction
Cocos-Dokumente zum Cloud-Speicher:
https://docs.cocos.com/creator/manual/zh/cocos-service/agc-cloudstorage.html
Ursprünglicher Link:
https://developer.huawei.com/consumer/cn/forum/topic/0201419625098590546?fid=0101271690375130218
Autor: Jessyyyyy