react-native-google-mobile-ads 7.0.0 → 8.0.1
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/android/build.gradle +13 -4
- package/android/src/main/java/io/invertase/googlemobileads/ReactNativeGoogleMobileAdsFullScreenAdModule.kt +85 -68
- package/docs/displaying-ads-hook.mdx +1 -1
- package/lib/commonjs/hooks/useFullScreenAd.js +2 -1
- package/lib/commonjs/hooks/useFullScreenAd.js.map +1 -1
- package/lib/commonjs/version.js +1 -1
- package/lib/commonjs/version.js.map +1 -1
- package/lib/module/hooks/useFullScreenAd.js +2 -1
- package/lib/module/hooks/useFullScreenAd.js.map +1 -1
- package/lib/module/version.js +1 -1
- package/lib/module/version.js.map +1 -1
- package/lib/typescript/index.d.ts +1 -1
- package/lib/typescript/version.d.ts +1 -1
- package/package.json +3 -3
- package/src/hooks/useFullScreenAd.ts +1 -1
- package/src/version.ts +1 -1
package/android/build.gradle
CHANGED
|
@@ -1,6 +1,10 @@
|
|
|
1
1
|
import io.invertase.gradle.common.PackageJson
|
|
2
2
|
|
|
3
3
|
buildscript {
|
|
4
|
+
ext.getExtOrDefault = {name, version ->
|
|
5
|
+
return rootProject.ext.has(name) ? rootProject.ext.get(name) : version
|
|
6
|
+
}
|
|
7
|
+
|
|
4
8
|
// The Android Gradle plugin is only required when opening the android folder stand-alone.
|
|
5
9
|
// This avoids unnecessary downloads and potential conflicts when the library is included as a
|
|
6
10
|
// module dependency in an application project.
|
|
@@ -12,7 +16,15 @@ buildscript {
|
|
|
12
16
|
|
|
13
17
|
dependencies {
|
|
14
18
|
classpath("com.android.tools.build:gradle:7.0.4")
|
|
15
|
-
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${
|
|
19
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion', '1.6.10')}"
|
|
20
|
+
}
|
|
21
|
+
} else {
|
|
22
|
+
repositories {
|
|
23
|
+
mavenCentral()
|
|
24
|
+
}
|
|
25
|
+
|
|
26
|
+
dependencies {
|
|
27
|
+
classpath "org.jetbrains.kotlin:kotlin-gradle-plugin:${getExtOrDefault('kotlinVersion', '1.6.10')}"
|
|
16
28
|
}
|
|
17
29
|
}
|
|
18
30
|
}
|
|
@@ -114,6 +126,3 @@ ReactNative.shared.applyDefaultExcludes()
|
|
|
114
126
|
ReactNative.module.applyAndroidVersions()
|
|
115
127
|
ReactNative.module.applyReactNativeDependency("api")
|
|
116
128
|
|
|
117
|
-
def safeExtGet(prop, fallback) {
|
|
118
|
-
rootProject.ext.has(prop) ? rootProject.ext.get(prop) : fallback
|
|
119
|
-
}
|
|
@@ -18,6 +18,7 @@ package io.invertase.googlemobileads
|
|
|
18
18
|
*/
|
|
19
19
|
|
|
20
20
|
import android.app.Activity
|
|
21
|
+
import android.util.Log
|
|
21
22
|
import android.util.SparseArray
|
|
22
23
|
import com.facebook.react.bridge.*
|
|
23
24
|
import com.google.android.gms.ads.AdLoadCallback
|
|
@@ -143,88 +144,104 @@ abstract class ReactNativeGoogleMobileAdsFullScreenAdModule<T>(
|
|
|
143
144
|
private val adRequestOptions: ReadableMap
|
|
144
145
|
) : AdLoadCallback<T>() {
|
|
145
146
|
override fun onAdLoaded(ad: T) {
|
|
146
|
-
|
|
147
|
-
|
|
148
|
-
|
|
147
|
+
try {
|
|
148
|
+
val adHelper = ReactNativeGoogleMobileAdsAdHelper(ad)
|
|
149
|
+
var eventType = ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_LOADED
|
|
150
|
+
var data: WritableMap? = null
|
|
149
151
|
|
|
150
|
-
|
|
151
|
-
|
|
152
|
+
if (ad is RewardedAd || ad is RewardedInterstitialAd) {
|
|
153
|
+
eventType = ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_REWARDED_LOADED
|
|
152
154
|
|
|
153
|
-
|
|
154
|
-
|
|
155
|
-
|
|
156
|
-
|
|
155
|
+
val rewardItem = adHelper.rewardItem
|
|
156
|
+
data = Arguments.createMap()
|
|
157
|
+
data.putString("type", rewardItem.type)
|
|
158
|
+
data.putInt("amount", rewardItem.amount)
|
|
157
159
|
|
|
158
|
-
|
|
159
|
-
|
|
160
|
-
|
|
161
|
-
|
|
162
|
-
|
|
163
|
-
|
|
160
|
+
adRequestOptions.getMap("serverSideVerificationOptions")
|
|
161
|
+
?.let { serverSideVerificationOptions ->
|
|
162
|
+
val options =
|
|
163
|
+
ServerSideVerificationOptions.Builder()
|
|
164
|
+
serverSideVerificationOptions.getString("userId")?.let {
|
|
165
|
+
options.setUserId(it)
|
|
166
|
+
}
|
|
167
|
+
serverSideVerificationOptions.getString("customData")?.let {
|
|
168
|
+
options.setCustomData(it)
|
|
169
|
+
}
|
|
170
|
+
adHelper.setServerSideVerificationOptions(options.build())
|
|
164
171
|
}
|
|
165
|
-
serverSideVerificationOptions.getString("customData")?.let {
|
|
166
|
-
options.setCustomData(it)
|
|
167
|
-
}
|
|
168
|
-
adHelper.setServerSideVerificationOptions(options.build())
|
|
169
|
-
}
|
|
170
|
-
}
|
|
171
|
-
|
|
172
|
-
if (ad is AdManagerInterstitialAd) {
|
|
173
|
-
adHelper.setAppEventListener { name, eventData ->
|
|
174
|
-
val payload = Arguments.createMap()
|
|
175
|
-
payload.putString("name", name)
|
|
176
|
-
payload.putString("data", eventData)
|
|
177
|
-
sendAdEvent(
|
|
178
|
-
GOOGLE_MOBILE_ADS_EVENT_APP_EVENT,
|
|
179
|
-
requestId,
|
|
180
|
-
adUnitId,
|
|
181
|
-
null,
|
|
182
|
-
payload
|
|
183
|
-
)
|
|
184
172
|
}
|
|
185
|
-
}
|
|
186
|
-
|
|
187
|
-
val fullScreenContentCallback: FullScreenContentCallback =
|
|
188
|
-
object : FullScreenContentCallback() {
|
|
189
|
-
override fun onAdShowedFullScreenContent() {
|
|
190
|
-
sendAdEvent(ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_OPENED)
|
|
191
|
-
}
|
|
192
|
-
|
|
193
|
-
override fun onAdDismissedFullScreenContent() {
|
|
194
|
-
sendAdEvent(ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_CLOSED)
|
|
195
|
-
}
|
|
196
173
|
|
|
197
|
-
|
|
198
|
-
|
|
199
|
-
|
|
200
|
-
|
|
201
|
-
|
|
202
|
-
// Not Implemented Yet
|
|
203
|
-
}
|
|
204
|
-
|
|
205
|
-
private fun sendAdEvent(type: String) {
|
|
174
|
+
if (ad is AdManagerInterstitialAd) {
|
|
175
|
+
adHelper.setAppEventListener { name, eventData ->
|
|
176
|
+
val payload = Arguments.createMap()
|
|
177
|
+
payload.putString("name", name)
|
|
178
|
+
payload.putString("data", eventData)
|
|
206
179
|
sendAdEvent(
|
|
207
|
-
|
|
180
|
+
GOOGLE_MOBILE_ADS_EVENT_APP_EVENT,
|
|
208
181
|
requestId,
|
|
209
182
|
adUnitId,
|
|
210
183
|
null,
|
|
211
|
-
|
|
184
|
+
payload
|
|
212
185
|
)
|
|
213
186
|
}
|
|
214
187
|
}
|
|
215
|
-
adHelper.setFullScreenContentCallback(fullScreenContentCallback)
|
|
216
188
|
|
|
217
|
-
|
|
218
|
-
|
|
219
|
-
|
|
220
|
-
|
|
221
|
-
|
|
222
|
-
|
|
223
|
-
|
|
224
|
-
|
|
225
|
-
|
|
226
|
-
|
|
227
|
-
|
|
189
|
+
val fullScreenContentCallback: FullScreenContentCallback =
|
|
190
|
+
object : FullScreenContentCallback() {
|
|
191
|
+
override fun onAdShowedFullScreenContent() {
|
|
192
|
+
sendAdEvent(ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_OPENED)
|
|
193
|
+
}
|
|
194
|
+
|
|
195
|
+
override fun onAdDismissedFullScreenContent() {
|
|
196
|
+
sendAdEvent(ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_CLOSED)
|
|
197
|
+
}
|
|
198
|
+
|
|
199
|
+
override fun onAdClicked() {
|
|
200
|
+
sendAdEvent(ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_CLICKED)
|
|
201
|
+
}
|
|
202
|
+
|
|
203
|
+
override fun onAdImpression() {
|
|
204
|
+
// Not Implemented Yet
|
|
205
|
+
}
|
|
206
|
+
|
|
207
|
+
private fun sendAdEvent(type: String) {
|
|
208
|
+
sendAdEvent(
|
|
209
|
+
type,
|
|
210
|
+
requestId,
|
|
211
|
+
adUnitId,
|
|
212
|
+
null,
|
|
213
|
+
null
|
|
214
|
+
)
|
|
215
|
+
}
|
|
216
|
+
}
|
|
217
|
+
adHelper.setFullScreenContentCallback(fullScreenContentCallback)
|
|
218
|
+
|
|
219
|
+
adArray.put(
|
|
220
|
+
requestId,
|
|
221
|
+
ad
|
|
222
|
+
)
|
|
223
|
+
sendAdEvent(
|
|
224
|
+
eventType,
|
|
225
|
+
requestId,
|
|
226
|
+
adUnitId,
|
|
227
|
+
null,
|
|
228
|
+
data
|
|
229
|
+
)
|
|
230
|
+
} catch (e: Exception) {
|
|
231
|
+
Log.w("RNGoogleMobileAds", "Unknown error on load")
|
|
232
|
+
Log.w("RNGoogleMobileAds", e)
|
|
233
|
+
val error = Arguments.createMap()
|
|
234
|
+
error.putString("code", "internal")
|
|
235
|
+
error.putString("message", e.message)
|
|
236
|
+
sendAdEvent(
|
|
237
|
+
ReactNativeGoogleMobileAdsEvent.GOOGLE_MOBILE_ADS_EVENT_ERROR,
|
|
238
|
+
requestId,
|
|
239
|
+
adUnitId,
|
|
240
|
+
error,
|
|
241
|
+
null
|
|
242
|
+
)
|
|
243
|
+
|
|
244
|
+
}
|
|
228
245
|
}
|
|
229
246
|
|
|
230
247
|
override fun onAdFailedToLoad(loadAdError: LoadAdError) {
|
|
@@ -84,7 +84,7 @@ Return values of the hook are:
|
|
|
84
84
|
|
|
85
85
|
| Name | Type | Description |
|
|
86
86
|
| :------------- | :--------------------------------- | :----------------------------------------------------------------------------------------------------------------- |
|
|
87
|
-
| isLoaded | boolean | Whether the ad is loaded and ready to to be shown to the user.
|
|
87
|
+
| isLoaded | boolean | Whether the ad is loaded and ready to to be shown to the user. Automatically set to false when the ad was shown. |
|
|
88
88
|
| isOpened | boolean | Whether the ad is opened. The value is remained `true` even after the ad is closed unless **new ad is requested**. |
|
|
89
89
|
| isClosed | boolean | Whether your ad is dismissed. |
|
|
90
90
|
| isShowing | boolean | Whether your ad is showing. The value is equal with `isOpened && !isClosed`. |
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useFullScreenAd.ts"],"names":["initialState","isLoaded","isOpened","isClicked","isClosed","error","undefined","reward","isEarnedReward","useFullScreenAd","ad","state","setState","prevState","newState","isShowing","load","show","showOptions","unsubscribe","addAdEventsListener","type","payload","AdEventType","LOADED","OPENED","CLOSED","CLICKED","ERROR","RewardedAdEventType","EARNED_REWARD"],"mappings":";;;;;;;AAiBA;;AAEA;;AAKA;;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAcA,MAAMA,YAAsB,GAAG;AAC7BC,EAAAA,QAAQ,EAAE,KADmB;AAE7BC,EAAAA,QAAQ,EAAE,KAFmB;AAG7BC,EAAAA,SAAS,EAAE,KAHkB;AAI7BC,EAAAA,QAAQ,EAAE,KAJmB;AAK7BC,EAAAA,KAAK,EAAEC,SALsB;AAM7BC,EAAAA,MAAM,EAAED,SANqB;AAO7BE,EAAAA,cAAc,EAAE;AAPa,CAA/B;;AAUO,SAASC,eAAT,CAELC,EAFK,EAEiB;AACtB,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,uBACxB,CAACC,SAAD,EAAYC,QAAZ,MAA0B,EAAE,GAAGD,SAAL;AAAgB,OAAGC;AAAnB,GAA1B,CADwB,EAExBd,YAFwB,CAA1B;AAIA,QAAMe,SAAS,GAAGJ,KAAK,CAACT,QAAN,IAAkB,CAACS,KAAK,CAACP,QAA3C;AAEA,QAAMY,IAAI,GAAG,wBAAY,MAAM;AAC7B,QAAIN,EAAJ,EAAQ;AACNE,MAAAA,QAAQ,CAACZ,YAAD,CAAR;AACAU,MAAAA,EAAE,CAACM,IAAH;AACD;AACF,GALY,EAKV,CAACN,EAAD,CALU,CAAb;AAOA,QAAMO,IAAI,GAAG,wBACVC,WAAD,IAAiC;AAC/B,QAAIR,EAAJ,EAAQ;AACNA,MAAAA,EAAE,CAACO,IAAH,CAAQC,WAAR;AACD;AACF,GALU,EAMX,CAACR,EAAD,CANW,CAAb;AASA,wBAAU,MAAM;AACdE,IAAAA,QAAQ,CAACZ,YAAD,CAAR;;AACA,QAAI,CAACU,EAAL,EAAS;AACP;AACD;;AACD,UAAMS,WAAW,GAAIT,EAAD,CAAmBU,mBAAnB,CAAuC,QAAuB;AAAA,UAAtB;AAAEC,QAAAA,IAAF;AAAQC,QAAAA;AAAR,OAAsB;;AAChF,cAAQD,IAAR;AACE,aAAKE,yBAAYC,MAAjB;AACEZ,UAAAA,QAAQ,CAAC;AAAEX,YAAAA,QAAQ,EAAE;AAAZ,WAAD,CAAR;AACA;;AACF,aAAKsB,yBAAYE,MAAjB;AACEb,UAAAA,QAAQ,CAAC;AAAEV,YAAAA,QAAQ,EAAE;AAAZ,WAAD,CAAR;AACA;;AACF,aAAKqB,yBAAYG,MAAjB;AACEd,UAAAA,QAAQ,CAAC;AAAER,YAAAA,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"sources":["useFullScreenAd.ts"],"names":["initialState","isLoaded","isOpened","isClicked","isClosed","error","undefined","reward","isEarnedReward","useFullScreenAd","ad","state","setState","prevState","newState","isShowing","load","show","showOptions","unsubscribe","addAdEventsListener","type","payload","AdEventType","LOADED","OPENED","CLOSED","CLICKED","ERROR","RewardedAdEventType","EARNED_REWARD"],"mappings":";;;;;;;AAiBA;;AAEA;;AAKA;;AAxBA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAcA,MAAMA,YAAsB,GAAG;AAC7BC,EAAAA,QAAQ,EAAE,KADmB;AAE7BC,EAAAA,QAAQ,EAAE,KAFmB;AAG7BC,EAAAA,SAAS,EAAE,KAHkB;AAI7BC,EAAAA,QAAQ,EAAE,KAJmB;AAK7BC,EAAAA,KAAK,EAAEC,SALsB;AAM7BC,EAAAA,MAAM,EAAED,SANqB;AAO7BE,EAAAA,cAAc,EAAE;AAPa,CAA/B;;AAUO,SAASC,eAAT,CAELC,EAFK,EAEiB;AACtB,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoB,uBACxB,CAACC,SAAD,EAAYC,QAAZ,MAA0B,EAAE,GAAGD,SAAL;AAAgB,OAAGC;AAAnB,GAA1B,CADwB,EAExBd,YAFwB,CAA1B;AAIA,QAAMe,SAAS,GAAGJ,KAAK,CAACT,QAAN,IAAkB,CAACS,KAAK,CAACP,QAA3C;AAEA,QAAMY,IAAI,GAAG,wBAAY,MAAM;AAC7B,QAAIN,EAAJ,EAAQ;AACNE,MAAAA,QAAQ,CAACZ,YAAD,CAAR;AACAU,MAAAA,EAAE,CAACM,IAAH;AACD;AACF,GALY,EAKV,CAACN,EAAD,CALU,CAAb;AAOA,QAAMO,IAAI,GAAG,wBACVC,WAAD,IAAiC;AAC/B,QAAIR,EAAJ,EAAQ;AACNA,MAAAA,EAAE,CAACO,IAAH,CAAQC,WAAR;AACD;AACF,GALU,EAMX,CAACR,EAAD,CANW,CAAb;AASA,wBAAU,MAAM;AACdE,IAAAA,QAAQ,CAACZ,YAAD,CAAR;;AACA,QAAI,CAACU,EAAL,EAAS;AACP;AACD;;AACD,UAAMS,WAAW,GAAIT,EAAD,CAAmBU,mBAAnB,CAAuC,QAAuB;AAAA,UAAtB;AAAEC,QAAAA,IAAF;AAAQC,QAAAA;AAAR,OAAsB;;AAChF,cAAQD,IAAR;AACE,aAAKE,yBAAYC,MAAjB;AACEZ,UAAAA,QAAQ,CAAC;AAAEX,YAAAA,QAAQ,EAAE;AAAZ,WAAD,CAAR;AACA;;AACF,aAAKsB,yBAAYE,MAAjB;AACEb,UAAAA,QAAQ,CAAC;AAAEV,YAAAA,QAAQ,EAAE;AAAZ,WAAD,CAAR;AACA;;AACF,aAAKqB,yBAAYG,MAAjB;AACEd,UAAAA,QAAQ,CAAC;AAAER,YAAAA,QAAQ,EAAE,IAAZ;AAAkBH,YAAAA,QAAQ,EAAE;AAA5B,WAAD,CAAR;AACA;;AACF,aAAKsB,yBAAYI,OAAjB;AACEf,UAAAA,QAAQ,CAAC;AAAET,YAAAA,SAAS,EAAE;AAAb,WAAD,CAAR;AACA;;AACF,aAAKoB,yBAAYK,KAAjB;AACEhB,UAAAA,QAAQ,CAAC;AAAEP,YAAAA,KAAK,EAAEiB;AAAT,WAAD,CAAR;AACA;;AACF,aAAKO,yCAAoBL,MAAzB;AACEZ,UAAAA,QAAQ,CAAC;AAAEX,YAAAA,QAAQ,EAAE,IAAZ;AAAkBM,YAAAA,MAAM,EAAEe;AAA1B,WAAD,CAAR;AACA;;AACF,aAAKO,yCAAoBC,aAAzB;AACElB,UAAAA,QAAQ,CAAC;AAAEJ,YAAAA,cAAc,EAAE,IAAlB;AAAwBD,YAAAA,MAAM,EAAEe;AAAhC,WAAD,CAAR;AACA;AArBJ;AAuBD,KAxBmB,CAApB;AAyBA,WAAO,MAAM;AACXH,MAAAA,WAAW;AACZ,KAFD;AAGD,GAjCD,EAiCG,CAACT,EAAD,CAjCH;AAmCA,SAAO,EACL,GAAGC,KADE;AAELI,IAAAA,SAFK;AAGLC,IAAAA,IAHK;AAILC,IAAAA;AAJK,GAAP;AAMD","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { Reducer, useCallback, useEffect, useReducer } from 'react';\n\nimport { AdEventType } from '../AdEventType';\nimport { AppOpenAd } from '../ads/AppOpenAd';\nimport { InterstitialAd } from '../ads/InterstitialAd';\nimport { RewardedAd } from '../ads/RewardedAd';\nimport { RewardedInterstitialAd } from '../ads/RewardedInterstitialAd';\nimport { RewardedAdEventType } from '../RewardedAdEventType';\nimport { AdStates, AdHookReturns } from '../types/AdStates';\nimport { AdShowOptions } from '../types/AdShowOptions';\nimport { RewardedAdReward } from '../types/RewardedAdReward';\n\nconst initialState: AdStates = {\n isLoaded: false,\n isOpened: false,\n isClicked: false,\n isClosed: false,\n error: undefined,\n reward: undefined,\n isEarnedReward: false,\n};\n\nexport function useFullScreenAd<\n T extends AppOpenAd | InterstitialAd | RewardedAd | RewardedInterstitialAd | null,\n>(ad: T): AdHookReturns {\n const [state, setState] = useReducer<Reducer<AdStates, Partial<AdStates>>>(\n (prevState, newState) => ({ ...prevState, ...newState }),\n initialState,\n );\n const isShowing = state.isOpened && !state.isClosed;\n\n const load = useCallback(() => {\n if (ad) {\n setState(initialState);\n ad.load();\n }\n }, [ad]);\n\n const show = useCallback(\n (showOptions?: AdShowOptions) => {\n if (ad) {\n ad.show(showOptions);\n }\n },\n [ad],\n );\n\n useEffect(() => {\n setState(initialState);\n if (!ad) {\n return;\n }\n const unsubscribe = (ad as RewardedAd).addAdEventsListener(({ type, payload }) => {\n switch (type) {\n case AdEventType.LOADED:\n setState({ isLoaded: true });\n break;\n case AdEventType.OPENED:\n setState({ isOpened: true });\n break;\n case AdEventType.CLOSED:\n setState({ isClosed: true, isLoaded: false });\n break;\n case AdEventType.CLICKED:\n setState({ isClicked: true });\n break;\n case AdEventType.ERROR:\n setState({ error: payload as Error });\n break;\n case RewardedAdEventType.LOADED:\n setState({ isLoaded: true, reward: payload as RewardedAdReward });\n break;\n case RewardedAdEventType.EARNED_REWARD:\n setState({ isEarnedReward: true, reward: payload as RewardedAdReward });\n break;\n }\n });\n return () => {\n unsubscribe();\n };\n }, [ad]);\n\n return {\n ...state,\n isShowing,\n load,\n show,\n };\n}\n"]}
|
package/lib/commonjs/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["version.ts"],"names":["version"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '
|
|
1
|
+
{"version":3,"sources":["version.ts"],"names":["version"],"mappings":";;;;;;AAAA;AACO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '8.0.1';\n"]}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["useFullScreenAd.ts"],"names":["useCallback","useEffect","useReducer","AdEventType","RewardedAdEventType","initialState","isLoaded","isOpened","isClicked","isClosed","error","undefined","reward","isEarnedReward","useFullScreenAd","ad","state","setState","prevState","newState","isShowing","load","show","showOptions","unsubscribe","addAdEventsListener","type","payload","LOADED","OPENED","CLOSED","CLICKED","ERROR","EARNED_REWARD"],"mappings":"AAAA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AACA;AAEA,SAAkBA,WAAlB,EAA+BC,SAA/B,EAA0CC,UAA1C,QAA4D,OAA5D;AAEA,SAASC,WAAT,QAA4B,gBAA5B;AAKA,SAASC,mBAAT,QAAoC,wBAApC;AAKA,MAAMC,YAAsB,GAAG;AAC7BC,EAAAA,QAAQ,EAAE,KADmB;AAE7BC,EAAAA,QAAQ,EAAE,KAFmB;AAG7BC,EAAAA,SAAS,EAAE,KAHkB;AAI7BC,EAAAA,QAAQ,EAAE,KAJmB;AAK7BC,EAAAA,KAAK,EAAEC,SALsB;AAM7BC,EAAAA,MAAM,EAAED,SANqB;AAO7BE,EAAAA,cAAc,EAAE;AAPa,CAA/B;AAUA,OAAO,SAASC,eAAT,CAELC,EAFK,EAEiB;AACtB,QAAM,CAACC,KAAD,EAAQC,QAAR,IAAoBf,UAAU,CAClC,CAACgB,SAAD,EAAYC,QAAZ,MAA0B,EAAE,GAAGD,SAAL;AAAgB,OAAGC;AAAnB,GAA1B,CADkC,EAElCd,YAFkC,CAApC;AAIA,QAAMe,SAAS,GAAGJ,KAAK,CAACT,QAAN,IAAkB,CAACS,KAAK,CAACP,QAA3C;AAEA,QAAMY,IAAI,GAAGrB,WAAW,CAAC,MAAM;AAC7B,QAAIe,EAAJ,EAAQ;AACNE,MAAAA,QAAQ,CAACZ,YAAD,CAAR;AACAU,MAAAA,EAAE,CAACM,IAAH;AACD;AACF,GALuB,EAKrB,CAACN,EAAD,CALqB,CAAxB;AAOA,QAAMO,IAAI,GAAGtB,WAAW,CACrBuB,WAAD,IAAiC;AAC/B,QAAIR,EAAJ,EAAQ;AACNA,MAAAA,EAAE,CAACO,IAAH,CAAQC,WAAR;AACD;AACF,GALqB,EAMtB,CAACR,EAAD,CANsB,CAAxB;AASAd,EAAAA,SAAS,CAAC,MAAM;AACdgB,IAAAA,QAAQ,CAACZ,YAAD,CAAR;;AACA,QAAI,CAACU,EAAL,EAAS;AACP;AACD;;AACD,UAAMS,WAAW,GAAIT,EAAD,CAAmBU,mBAAnB,CAAuC,QAAuB;AAAA,UAAtB;AAAEC,QAAAA,IAAF;AAAQC,QAAAA;AAAR,OAAsB;;AAChF,cAAQD,IAAR;AACE,aAAKvB,WAAW,CAACyB,MAAjB;AACEX,UAAAA,QAAQ,CAAC;AAAEX,YAAAA,QAAQ,EAAE;AAAZ,WAAD,CAAR;AACA;;AACF,aAAKH,WAAW,CAAC0B,MAAjB;AACEZ,UAAAA,QAAQ,CAAC;AAAEV,YAAAA,QAAQ,EAAE;AAAZ,WAAD,CAAR;AACA;;AACF,aAAKJ,WAAW,CAAC2B,MAAjB;AACEb,UAAAA,QAAQ,CAAC;AAAER,YAAAA,QAAQ,EAAE;
|
|
1
|
+
{"version":3,"sources":["useFullScreenAd.ts"],"names":["useCallback","useEffect","useReducer","AdEventType","RewardedAdEventType","initialState","isLoaded","isOpened","isClicked","isClosed","error","undefined","reward","isEarnedReward","useFullScreenAd","ad","state","setState","prevState","newState","isShowing","load","show","showOptions","unsubscribe","addAdEventsListener","type","payload","LOADED","OPENED","CLOSED","CLICKED","ERROR","EARNED_REWARD"],"mappings":"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","sourcesContent":["/*\n * Copyright (c) 2016-present Invertase Limited & Contributors\n *\n * Licensed under the Apache License, Version 2.0 (the \"License\");\n * you may not use this library except in compliance with the License.\n * You may obtain a copy of the License at\n *\n * http://www.apache.org/licenses/LICENSE-2.0\n *\n * Unless required by applicable law or agreed to in writing, software\n * distributed under the License is distributed on an \"AS IS\" BASIS,\n * WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n * See the License for the specific language governing permissions and\n * limitations under the License.\n *\n */\n\nimport { Reducer, useCallback, useEffect, useReducer } from 'react';\n\nimport { AdEventType } from '../AdEventType';\nimport { AppOpenAd } from '../ads/AppOpenAd';\nimport { InterstitialAd } from '../ads/InterstitialAd';\nimport { RewardedAd } from '../ads/RewardedAd';\nimport { RewardedInterstitialAd } from '../ads/RewardedInterstitialAd';\nimport { RewardedAdEventType } from '../RewardedAdEventType';\nimport { AdStates, AdHookReturns } from '../types/AdStates';\nimport { AdShowOptions } from '../types/AdShowOptions';\nimport { RewardedAdReward } from '../types/RewardedAdReward';\n\nconst initialState: AdStates = {\n isLoaded: false,\n isOpened: false,\n isClicked: false,\n isClosed: false,\n error: undefined,\n reward: undefined,\n isEarnedReward: false,\n};\n\nexport function useFullScreenAd<\n T extends AppOpenAd | InterstitialAd | RewardedAd | RewardedInterstitialAd | null,\n>(ad: T): AdHookReturns {\n const [state, setState] = useReducer<Reducer<AdStates, Partial<AdStates>>>(\n (prevState, newState) => ({ ...prevState, ...newState }),\n initialState,\n );\n const isShowing = state.isOpened && !state.isClosed;\n\n const load = useCallback(() => {\n if (ad) {\n setState(initialState);\n ad.load();\n }\n }, [ad]);\n\n const show = useCallback(\n (showOptions?: AdShowOptions) => {\n if (ad) {\n ad.show(showOptions);\n }\n },\n [ad],\n );\n\n useEffect(() => {\n setState(initialState);\n if (!ad) {\n return;\n }\n const unsubscribe = (ad as RewardedAd).addAdEventsListener(({ type, payload }) => {\n switch (type) {\n case AdEventType.LOADED:\n setState({ isLoaded: true });\n break;\n case AdEventType.OPENED:\n setState({ isOpened: true });\n break;\n case AdEventType.CLOSED:\n setState({ isClosed: true, isLoaded: false });\n break;\n case AdEventType.CLICKED:\n setState({ isClicked: true });\n break;\n case AdEventType.ERROR:\n setState({ error: payload as Error });\n break;\n case RewardedAdEventType.LOADED:\n setState({ isLoaded: true, reward: payload as RewardedAdReward });\n break;\n case RewardedAdEventType.EARNED_REWARD:\n setState({ isEarnedReward: true, reward: payload as RewardedAdReward });\n break;\n }\n });\n return () => {\n unsubscribe();\n };\n }, [ad]);\n\n return {\n ...state,\n isShowing,\n load,\n show,\n };\n}\n"]}
|
package/lib/module/version.js
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"sources":["version.ts"],"names":["version"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '
|
|
1
|
+
{"version":3,"sources":["version.ts"],"names":["version"],"mappings":"AAAA;AACA,OAAO,MAAMA,OAAO,GAAG,OAAhB","sourcesContent":["// Generated by genversion.\nexport const version = '8.0.1';\n"]}
|
|
@@ -1,4 +1,4 @@
|
|
|
1
|
-
export declare const SDK_VERSION = "
|
|
1
|
+
export declare const SDK_VERSION = "8.0.1";
|
|
2
2
|
export { default, MobileAds } from './MobileAds';
|
|
3
3
|
export { AdsConsentDebugGeography } from './AdsConsentDebugGeography';
|
|
4
4
|
export { AdsConsentPurposes } from './AdsConsentPurposes';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
export declare const version = "
|
|
1
|
+
export declare const version = "8.0.1";
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "react-native-google-mobile-ads",
|
|
3
|
-
"version": "
|
|
3
|
+
"version": "8.0.1",
|
|
4
4
|
"author": "Invertase <oss@invertase.io> (http://invertase.io)",
|
|
5
5
|
"description": "React Native Google Mobile Ads is an easy way to monetize mobile apps with targeted, in-app advertising.",
|
|
6
6
|
"main": "lib/commonjs/index.js",
|
|
@@ -41,7 +41,7 @@
|
|
|
41
41
|
],
|
|
42
42
|
"sdkVersions": {
|
|
43
43
|
"ios": {
|
|
44
|
-
"googleMobileAds": "9.
|
|
44
|
+
"googleMobileAds": "9.9.0",
|
|
45
45
|
"googleUmp": "2.0.0"
|
|
46
46
|
},
|
|
47
47
|
"android": {
|
|
@@ -49,7 +49,7 @@
|
|
|
49
49
|
"targetSdk": 30,
|
|
50
50
|
"compileSdk": 31,
|
|
51
51
|
"buildTools": "31.0.0",
|
|
52
|
-
"googleMobileAds": "21.
|
|
52
|
+
"googleMobileAds": "21.1.0",
|
|
53
53
|
"googleUmp": "2.0.0"
|
|
54
54
|
}
|
|
55
55
|
},
|
package/src/version.ts
CHANGED
|
@@ -1,2 +1,2 @@
|
|
|
1
1
|
// Generated by genversion.
|
|
2
|
-
export const version = '
|
|
2
|
+
export const version = '8.0.1';
|