缓存

在用户的设备上预加载广告,提升他们的体验!用户观看广告时将更快速加载广告,并且您可以在显示广告之前进行验证。
使用以下方式缓存广告,以便稍后进行显示。我们以 CBLocationHomeScreen 为例命名位置。
[Chartboost cacheInterstitial:CBLocationHomeScreen];
[Chartboost cacheRewardedVideo:CBLocationHomeScreen];
Chartboost.cacheInterstitial(CBLocation.LOCATION_HOME_SCREEN); 
Chartboost.cacheRewardedVideo(CBLocation.LOCATION_HOME_SCREEN);
Chartboost.cacheInterstitial(CBLocation.HomeScreen); 
Chartboost.cacheRewardedVideo(CBLocation.HomeScreen);
▲返回页首

专业提示:尝试显示广告之前可以使用这些方法来检查是否已经预先加载了广告。如果广告尚未缓存,您应该进行缓存!
if([Chartboost hasInterstitial:CBLocationHomeScreen] == YES) { 
    [Chartboost showInterstitial:CBLocationHomeScreen]; 
} else { 
    [Chartboost cacheInterstitial:CBLocationHomeScreen]; 
}
if (Chartboost.hasInterstitial(CBLocation.LOCATION_HOME_SCREEN)) { 
    Chartboost.showInterstitial(CBLocation.LOCATION_HOME_SCREEN); 
} else { 
    Chartboost.cacheInterstitial(CBLocation.LOCATION_HOME_SCREEN); 
}
if (Chartboost.hasInterstitial(CBLocation.HomeScreen)) { 
    Chartboost.showInterstitial(CBLocation.HomeScreen); 
} else { 
    Chartboost.cacheInterstitial(CBLocation.HomeScreen); 
}

可选项:通过实施这些委托方法,广告成功缓存时您还能收到 SDK 的通知。
- (void)didCacheInterstitial:(CBLocation)location 
- (void)didCacheRewardedVideo:(CBLocation)location
public void didCacheInterstitial(String location) 
public void didCacheRewardedVideo(String location)
void didCacheInterstitial(CBLocation location) 
void didCacheRewardedVideo(CBLocation location)

如果缓存调用失败, didFailToLoadInterstitial委托方法将被触发。如果您调用 showInterstitial方法但是未能显示广告也会触发这个委托方法。 不要在内部进行缓存或者显示调用 didFailToLoad 委托,否则程序将崩溃。
- (void)didFailToLoadInterstitial:(CBLocation)location withError:(CBLoadError)error 
- (void)didFailToLoadRewardedVideo:(CBLocation)location withError:(CBLoadError)error
public void didFailToLoadInterstitial(String location, CBImpressionError error) 
public void didFailToLoadRewardedVideo(String location, CBImpressionError error)
void didFailToLoadInterstitial(CBLocation location, CBImpressionError error) 
void didFailToLoadRewardedVideo(CBLocation location, CBImpressionError error)
▲返回页首

专业提示:在命名的位置成功显示广告后, Chartboost SDK 将自动缓存广告。然而,需显示广告之前,最佳做法仍是在应用程序的启动或其他相关节点对广告进行手动缓存。
自动缓存 会发送不必要的网络请求。只有在特定位置没有缓存时缓存才会发送网络请求。
使用以下 SDK 方法切换自动缓存。
[Chartboost setAutoCacheAds:BOOLEAN];
Chartboost.setAutoCacheAds(boolean);
Chartboost.setAutoCacheAds(boolean);
▲返回页首

    • [Chartboost showInterstitial:CBLocationHomeScreen];如果存在则显示缓存的插页式广告。否则将从服务器上请求缓存广告。
    • 我们推荐进行缓存以获得最佳性能和用户体验,但是应该注意到您用户的数据流量的使用情况。
    • 缓存的插页式广告 24 小时后自动失效。
    • 缓存请求是异步的。如果您缓存大量的插页式广告,同时加载其他数据,您应注意这个问题。
▲返回页首

您可能还喜欢…
    • 命名的位置:在游戏的不同时点显示不同的广告,使用后台控制面板对广告行为进行微调。

Last Updated on 1月 29, 2021