Oi ,
Quero fazer com que o cache não funcione ao substituir um pacote de ativos.
■Problema
Quero garantir que o cache não funcione ao substituir um pacote de ativos, mas estou tendo dificuldades para conseguir isso. Eu apreciaria qualquer conselho que você pudesse oferecer.
■O que eu quero alcançar
Quero substituir o pacote de ativos sem atualizar o binário.
■Ambiente de Desenvolvimento
CocosCreator 3.8.2
Plataforma: WebGL
■O que eu tentei
1.Ativando o cache MD5 nas configurações de compilação
Isso não está de acordo com o que desejo alcançar porque ainda requer a atualização do binário.
2. Descarregando o pacote de ativos
Mesmo depois de descarregar e recarregar, os ativos antigos ainda serão carregados. Novos ativos são carregados somente ao reiniciar o aplicativo.
Além disso, como não consigo detectar se o pacote de recursos foi atualizado, não consigo definir condições para descarregamento.
■Se nenhuma solução for encontrada
Divida os pacotes de ativos em pastas por versão.
Gerencie a versão no servidor e troque de versão para evitar que o cache funcione.
Exemplo:
1.0.0
┗ ativoA
┗ ativoB
1.1.0
┗ assetA (este pacote de ativos é substituído)
┗ ativoB
Nesse caso, há a desvantagem de ter que baixar novamente pacotes de ativos que não precisam de limpeza de cache.
■課題
アセットバンドルを差し替えたときにキャッシュが効かないようにしたいのですが、上手くいかないためアドバイスをいただけると助かります
■実現したいこと
バイナリを更新することなくアセットバンドルを差し替えたい
■開発環境
CocosCreator 3.8.2
Plataforma WebGL
■試したこと
1.ビルド設定でMD5キャッシュを有効にする
バイナリも更新する必要があるため実現したいことと合っていません。
2.アセットバンドルのアンロード
アンロードして再度ロードしても古いアセットが読み込まれます
再起動すると新しいアセットが読み込まれます。
また、アセットバンドルが更新されたか検知することができないため、アンロードする条件を設定できません。
■解決策が出ない場合
アセットバンドルをバージョンごとのフォルダに分ける。
バージョンはサーバーで管理し、バージョンを切り替えることでキャッシュが効かないようにする。
Exemplo:
1.0.0
┗ativoA
┗ativoB
1.1.0
┗assetA(このアセットバンドルを差し替え)
┗ativoB
この場合、キャッシュクリアしなくていいアセットバンドルまでダウンロードし直しになってしまうデメリットがあります。