奖励基础广告,占用大量磁盘空间

时间:2016-11-15 08:29:46

标签: unity3d admob

大家好,感谢您的时间。

这是我第一次提问,但我已经研究了几个小时而没有取得任何成功。

问题在于我的游戏使用了adob中介和统一广告,一切都像魅力一样。唯一的问题是广告被缓存在我的Android设备的数据文件夹中,并在几天后(超过50 mB)变得太大了。我研究了如何清除这些缓存文件,我找不到任何类型的清除方法,如插页式广告和横幅广告的销毁。

当然,每次用户离开应用程序时我都可以手动删除所有缓存的文件,但我更喜欢标准的AdLib api方法。任何线索的人?

1 个答案:

答案 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)中删除所有缓存的广告。

注意这符合我的解决方案,但可能不符合您的要求。