Skip to content

Commit 05d245a

Browse files
Merge pull request #43 from Insomniiak/master
ADD METHOD isRewardedVideoAvailable
2 parents aa2199a + 9f6f8db commit 05d245a

5 files changed

Lines changed: 56 additions & 2 deletions

File tree

ExampleApp/App.js

Lines changed: 7 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -55,7 +55,13 @@ export default class App extends Component {
5555
IronSourceRewardedVideo.addEventListener('ironSourceRewardedVideoClosedByUser', onClose);
5656
IronSourceRewardedVideo.addEventListener('ironSourceRewardedVideoClosedByError', onClose);
5757

58-
IronSourceRewardedVideo.showRewardedVideo();
58+
IronSourceRewardedVideo.isRewardedVideoAvailable().then((available) => {
59+
if (available) {
60+
IronSourceRewardedVideo.showRewardedVideo();
61+
} else {
62+
console.warn('No Video available');
63+
}
64+
});
5965
};
6066

6167

README.md

Lines changed: 25 additions & 1 deletion
Original file line numberDiff line numberDiff line change
@@ -152,11 +152,21 @@ IronSourceInterstitials.addEventListener('interstitialDidLoad', () => {
152152
```javascript
153153
import { IronSourceRewardedVideo } from '@wowmaking/react-native-iron-source';
154154

155+
155156
IronSourceRewardedVideo.initializeRewardedVideo();
156-
IronSourceRewardedVideo.showRewardedVideo();
157157
IronSourceRewardedVideo.addEventListener('ironSourceRewardedVideoAdRewarded', res => {
158158
console.warn('Rewarded!', res)
159159
});
160+
161+
// or use IronSourceRewardedVideo.addEventListener('ironSourceRewardedVideoAvailable')
162+
// to get video status
163+
IronSourceRewardedVideo.isVideoRewardAvailable().then((available) => {
164+
if (available) {
165+
IronSourceRewardedVideo.showRewardedVideo();
166+
} else {
167+
throw new Error('No video available');
168+
}
169+
})
160170
```
161171
### Banner
162172

@@ -269,6 +279,20 @@ Makes currently existing segment active. Once it's active IronSource SDK will us
269279
segment.activate();
270280
```
271281

282+
### IronSourceRewardedVideo.isRewardedVideoAvailable
283+
Check if a reward video is available to be shown.
284+
Return a Promise resolving a boolean.
285+
286+
```javascript
287+
IronSourceRewardedVideo.isRewardedVideoAvailable().then((available) => {
288+
if (available) {
289+
// Video available
290+
} else {
291+
// Video not available
292+
}
293+
});
294+
```
295+
272296
## Events
273297

274298
### Banner events

RNIronSourceRewardedVideo.js

Lines changed: 1 addition & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,7 @@ module.exports = {
6464
...RNIronSourceRewardedVideo,
6565
initializeRewardedVideo: () => RNIronSourceRewardedVideo.initializeRewardedVideo(),
6666
showRewardedVideo: (placementName) => RNIronSourceRewardedVideo.showRewardedVideo(placementName),
67+
isRewardedVideoAvailable: () => RNIronSourceRewardedVideo.isRewardedVideoAvailable(),
6768
setDynamicUserId: (userId) => RNIronSourceRewardedVideo.setDynamicUserId(userId),
6869
addEventListener,
6970
removeEventListener,

android/src/main/java/co/squaretwo/ironsource/RNIronSourceRewardedVideoModule.java

Lines changed: 12 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -128,6 +128,18 @@ public void run() {
128128
});
129129
}
130130

131+
@ReactMethod
132+
public void isRewardedVideoAvailable(Promise promise) {
133+
try {
134+
Log.d(TAG, "isRewardedVideo() called!!");
135+
promise.resolve(IronSource.isRewardedVideoAvailable());
136+
}
137+
catch (Exception e) {
138+
Log.d(TAG, "isRewardedVideo error %s", e);
139+
promise.reject("isRewardedVideoAvailable, Error, " + e);
140+
}
141+
}
142+
131143
@ReactMethod
132144
public void setDynamicUserId(String userId) {
133145
IronSource.setDynamicUserId(userId);

ios/RNIronSourceRewardedVideo.m

Lines changed: 11 additions & 0 deletions
Original file line numberDiff line numberDiff line change
@@ -64,6 +64,17 @@ - (dispatch_queue_t)methodQueue
6464
}
6565
}
6666

67+
RCT_EXPORT_METHOD(isRewardedVideoAvailable:(RCTPromiseResolveBlock)resolve reject:(RCTPromiseRejectBlock)reject)
68+
{
69+
@try {
70+
resolve([IronSource hasRewardedVideo]);
71+
}
72+
@catch (NSException *exception) {
73+
NSLog(@"isRewardedVideoAvailable, Error, %@", exception.reason);
74+
reject(@"isRewardedVideoAvailable, Error, %@", exception.reason);
75+
}
76+
}
77+
6778
RCT_EXPORT_METHOD(setDynamicUserId:(NSString*)userId)
6879
{
6980
[IronSource setDynamicUserId:userId];

0 commit comments

Comments
 (0)