キャッシュの利用

Chartboostでは、ユーザーのデバイスに広告をプリロード(事前読み込み)しておくことができます。こうすることで、必要となった場合すぐに広告を出せるだけでなく、表示される前に確認することも可能です。

 

広告をキャッシュするには以下のメソッドを使用します。こうして事前にデータを取得しておくことで、必要な時にすぐ広告が表示できます。以下では、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);

 

Chartboost.getInstance().cacheInterstitial(CBLocation.HOME_SCREEN); Chartboost.getInstance().cacheRewardedVideo(CBLocation.HOME_SCREEN); 

▲トップに戻る

 


ヒント:以下のメソッドを使って、広告を表示する前にプリロードの状態を確認することができます。広告のキャッシュが完了していない場合は、まずキャッシュ操作を行ってください。

 

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); }

 

if (Chartboost.getInstance().hasInterstitial(CBLocation.HOME_SCREEN)) { Chartboost.getInstance().showInterstitial(CBLocation.HOME_SCREEN) } else { Chartboost.getInstance().cacheInterstitial(CBLocation.HOME_SCREEN) }

 


 

オプション:以下のデリゲートメソッドを実装して広告のキャッシュが完了すると、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) 
public static const DID_CACHE_INTERSTITIAL:String = "didCacheInterstitial"; public static const DID_CACHE_REWARDED_VIDEO:String = "didCacheRewardedVideo";

 


キャッシュコールに失敗した場合、 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.getInstance().addDelegate(ChartboostEvent.DID_FAIL_TO_LOAD_INTERSTITIAL, function (location:String)) Chartboost.getInstance().addDelegate(ChartboostEvent.DID_FAIL_TO_LOAD_REWARDED_VIDEO, function(location:String))

▲トップに戻る

 


ヒント:Chartboost SDKは、広告が 広告掲載場所に表示された後、自動でこれらのキャッシュを行います。しかし、広告を表示する前に、アプリの起動時またはその他適切なタイミングで広告を手動キャッシュすることをお勧めします。
オートキャッシュに よって、不要な(広告)ネットワークがリクエストされることはありません。キャッシュコールは、ある場所でキャッシュが空になっている場合にネットワークリクエストを送信するのみの機能です。

 

オートキャッシュを実行する場合は、以下のSDKメソッドを使用します。

 

[Chartboost setAutoCacheAds:BOOLEAN];

 

Chartboost.setAutoCacheAds(boolean);

 

Chartboost.setAutoCacheAds(boolean);

 

Chartboost.getInstance().setAutoCacheAds(shouldCache:Boolean);

▲トップに戻る

 


  • [Chartboost showInterstitial:CBLocationHomeScreen];は、キャッシュされたインタースティシャル広告がある場合にそれを表示するメソッドです。存在しない場合は、サーバーからリクエストが送信されます。
  • キャッシュは、パフォーマンスとUX向上に非常に効果的な機能です。ただし容量負荷がかかる場合もあるため、ユーザー側のデータ使用量を常に意識しておくと安心です。
  • キャッシュされたインタースティシャル広告は、24時間後に自動で失効します。
  • キャッシュリクエストは非同期型のため、アプリに他のデータをロードしながら複数のインタースティシャル広告をキャッシュする場合は注意が必要です。

▲トップに戻る

 


関連ページ
  • 広告掲載場所複数の広告キャンペーンを、ゲーム内の各ポイントで表示。ダッシュボードからキャンペーン内容の調整も可能です。