I have integrated InMobi 7.2.9 in my App and initialize it like this:
JSONObject consent = new JSONObject();
try {
consent.put(InMobiSdk.IM_GDPR_CONSENT_AVAILABLE, true);
} catch (JSONException e) {
Log.d(TAG, "Init InMobiSDK failed");
e.printStackTrace();
}
InMobiSdk.init(cordova.getActivity(), accountID, consent);
InMobiSdk.setLogLevel(InMobiSdk.LogLevel.DEBUG);
After that I initialize my Interstitial like this:
mInterstitialAd = new InMobiInterstitial(cordova.getActivity(), placementId,
new InterstitialAdEventListener() {
@Override
public void onAdLoadSucceeded(InMobiInterstitial inMobiInterstitial) {
super.onAdLoadSucceeded(inMobiInterstitial);
Log.d(TAG, "onAdLoadSuccessful");
if (!inMobiInterstitial.isReady()) {
Log.d(TAG, "onAdLoadSuccessful inMobiInterstitial not ready");
}
}
@Override
public void onAdLoadFailed(InMobiInterstitial inMobiInterstitial, InMobiAdRequestStatus inMobiAdRequestStatus) {
super.onAdLoadFailed(inMobiInterstitial, inMobiAdRequestStatus);
Log.d(TAG, "Unable to load interstitial ad (error message: " + inMobiAdRequestStatus.getMessage());
}
@Override
public void onAdReceived(InMobiInterstitial inMobiInterstitial) {
super.onAdReceived(inMobiInterstitial);
Log.d(TAG, "onAdReceived");
}
@Override
public void onAdClicked(InMobiInterstitial inMobiInterstitial, Map<Object, Object> map) {
super.onAdClicked(inMobiInterstitial, map);
Log.d(TAG, "onAdClicked " + map.size());
}
@Override
public void onAdWillDisplay(InMobiInterstitial inMobiInterstitial) {
super.onAdWillDisplay(inMobiInterstitial);
Log.d(TAG, "onAdWillDisplay " + inMobiInterstitial);
}
@Override
public void onAdDisplayed(InMobiInterstitial inMobiInterstitial) {
super.onAdDisplayed(inMobiInterstitial);
Log.d(TAG, "onAdDisplayed " + inMobiInterstitial);
}
@Override
public void onAdDisplayFailed(InMobiInterstitial inMobiInterstitial) {
super.onAdDisplayFailed(inMobiInterstitial);
Log.d(TAG, "onAdDisplayFailed " + "FAILED");
}
@Override
public void onAdDismissed(InMobiInterstitial inMobiInterstitial) {
super.onAdDismissed(inMobiInterstitial);
Log.d(TAG, "onAdDismissed " + inMobiInterstitial);
}
@Override
public void onUserLeftApplication(InMobiInterstitial inMobiInterstitial) {
super.onUserLeftApplication(inMobiInterstitial);
Log.d(TAG, "onUserWillLeaveApplication " + inMobiInterstitial);
}
@Override
public void onRewardsUnlocked(InMobiInterstitial inMobiInterstitial, Map<Object, Object> map) {
super.onRewardsUnlocked(inMobiInterstitial, map);
Log.d(TAG, "onRewardsUnlocked " + map.size());
}
});
Log.d(TAG, "Start to load Interstitial");
mInterstitialAd.load();
To init the InMobi SDK I use the accountID
from my InMobi Account and placementID
for my Interstitial Ad.First I init my InMobi and after that I load the Interstitial. But somehow Im always getting the Erro:
You need to initialize InMobi first before calling Interstitial Ads. Call ignored.
I used this sample code from inmobi but somehow InmobiSdk.init
doesnt work.