You should only call chartboost.init() once in the beginning of your app’s lifecycle before calling other chartboost.* methods. Do not try to call chartboost.init more than once as it most likely result in unexpected behaviour.
New campaigns can take a while before they start to deliver impressions (up to a few hours). It also depends on the priority each campaign has, and the region you’re in. Higher priorities will need to have their inventory exhausted before lower priority campaigns kick in. Another thing to keep in mind is that the inventory for video interstitials is less than for static interstitials.
Again since there is only one call to show (static/video) interstitials via chartboost.show(“interstitial”) there’s no way to determine if chartboost will deliver a video or static interstitial.
Have a look at the Chartboost sample app which shows the basic setup.
https://github.com/swipeware/CoronaChartboostSample