大家好,感谢您的时间。
这是我第一次提问,但我已经研究了几个小时而没有取得任何成功。
问题在于我的游戏使用了adob中介和统一广告,一切都像魅力一样。唯一的问题是广告被缓存在我的Android设备的数据文件夹中,并在几天后(超过50 mB)变得太大了。我研究了如何清除这些缓存文件,我找不到任何类型的清除方法,如插页式广告和横幅广告的销毁。
当然,每次用户离开应用程序时我都可以手动删除所有缓存的文件,但我更喜欢标准的AdLib api方法。任何线索的人?
答案 0 :(得分:1)
我终于提出了以下解决方案。在我看来,它并不美丽,也不是正统。但它确实有效。
我通常在Unity中按功能创建一个类,因此我将以下代码添加到CacheManager
类。
void OnApplicationQuit() {
ClearCache();
}
void ClearCache ()
{
var info = new DirectoryInfo (Application.persistentDataPath);
var fileInfo = info.GetFiles ();
foreach (FileInfo file in fileInfo) {
string name = file.Name;
if (name.EndsWith (".mp4") || name.EndsWith (".jpg") || name.EndsWith (".png") || name.EndsWith (".jpeg")) {
File.Delete (Application.persistentDataPath + Path.DirectorySeparatorChar + name);
}
}
快速说明:在关闭应用程序之前,我会从文件文件夹(Android设备中的/data/data/com.mypackage.myapp/files)中删除所有缓存的广告。
注意这符合我的解决方案,但可能不符合您的要求。