cordova-plugin-yandex-ads v2.3.0
Yandex Ads for Cordova apps
Support plugin https://boosty.to/maximnara
Demo Video
Table of Contents
State of Development
Install
npm i cordova-plugin-yandex-ads --save
Usage
All methods support optional onSuccess
and onFailure
parameters
Initialization
import * as YandexAds from 'cordova-plugin-yandex-ads/www/yandexads';
await YandexAds.init({
rewardedBlockId: 'YOUR_REWARDER_BLOCK_ID',
interstitialBlockId: 'YOUR_INTERSTITIAL_ID',
bannerBlockId: 'YOOUR_BANNER_ID',
openAppBlockId: 'YOUR_OPEN_APP_ADS_ID',
options: { // This is for banner ads
bannerAtTop: true, // Show banner on top of screen, otherwise on bottom
bannerSize: { width: 468, height: 100 }, // Your banner size
// You can skip bannerSize option and width will be as big as possible
},
});
Set user consent for GDPR
Call this on every app launch. More info: https://yandex.ru/dev/mobile-ads/doc/android/quick-start/gdpr-about.html
YandexAds.setUserConsent(true);
Rewarded Videos
Load Rewarded Video
YandexAds.loadRewardedVideo({
onSuccess: function () {
},
onFailure: function () {
},
});
Show Rewarded Video
YandexAds.showRewardedVideo();
Interstitial
Load Interstitial
Must be called before showInterstitial
YandexAds.loadInterstitial();
Show Interstitial
YandexAds.showInterstitial();
App Open Ads
Load app open ads
Must be called before showOpenAppAds
YandexAds.loadOpenAppAds();
Show app open ads
YandexAds.showOpenAppAds();
Banners
Load Banner
Must be called before showBanner
YandexAds.loadBanner();
Show Banner
YandexAds.showBanner();
Reload Banner
If you set banner size your banner will render in container, that will move content container (web view).
So calling loadBanner will lead to web view jumps. To fix that use reloadBanner
method that will save container for banner.
So while banner loading empty container avoid web view jumps.
YandexAds.reloadBanner();
Hide Banner
YandexAds.hideBanner();
Events
Also you can find them here
{
interstitial: {
loaded: 'interstitialDidLoad',
failedToLoad: 'interstitialFailedToLoad',
shown: 'interstitialDidShow',
failedToShow: 'interstitialDidFailToShowWithError',
dismissed: 'interstitialDidDismiss',
clicked: 'interstitialDidClick',
impression: 'interstitialDidTrackImpressionWith',
},
rewarded: {
loaded: 'rewardedDidLoad',
failedToLoad: 'rewardedFailedToLoad',
rewarded: 'rewardedDidReward',
shown: 'rewardedDidShow',
failedToShow: 'rewardedDidFailToShowWithError',
dismissed: 'rewardedDidDismiss',
clicked: 'rewardedDidClick',
impression: 'rewardedDidTrackImpressionWith',
},
openAppAds: {
loaded: 'appOpenDidLoad',
failedToLoad: 'appOpenFailedToLoad',
shown: 'appOpenDidShow',
failedToShow: 'appOpenDidFailToShowWithError',
dismissed: 'appOpenDidDismiss',
clicked: 'appOpenDidClick',
impression: 'appOpenDidTrackImpressionWith',
},
banner: {
loaded: 'bannerDidLoad',
failedToLoad: 'bannerFailedToLoad',
clicked: 'bannerDidClick',
impression: 'bannerDidTrackImpressionWith',
leftApplication: 'bannerWillLeaveApplication',
}
}
How to use events:
Here we start listen ad loaded event, when it is fired we call showOpenAppAds
method.
window.addEventListener(YandexAds.events.openAppAds.loaded, async () => {
await YandexAds.showOpenAppAds();
});
Additional steps
iOS
Add this to your Info.plist Please check official documentation in case of some breaking changes
<key>SKAdNetworkItems</key>
<array>
<dict>
<key>SKAdNetworkIdentifier</key>
<string>zq492l623r.skadnetwork</string>
</dict>
</array>
Feel free to make your PRs for code structure or new functions
2 months ago
3 months ago
3 months ago
3 months ago
3 months ago
4 months ago
4 months ago
4 months ago
4 months ago
1 year ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago
2 years ago