Skip to content

Commit

Permalink
feat: add FLUID size support
Browse files Browse the repository at this point in the history
  • Loading branch information
Almouro committed Apr 3, 2024
1 parent bd52c12 commit c09a326
Show file tree
Hide file tree
Showing 12 changed files with 180 additions and 93 deletions.
1 change: 1 addition & 0 deletions .eslintrc.js
Original file line number Diff line number Diff line change
Expand Up @@ -19,6 +19,7 @@ module.exports = {
},
env: {
'jest/globals': true,
node: true,
},
rules: {
'jest/no-identical-title': 0,
Expand Down
51 changes: 45 additions & 6 deletions RNGoogleMobileAdsExample/App.tsx
Original file line number Diff line number Diff line change
Expand Up @@ -20,6 +20,7 @@ import MobileAds, {
TestIds,
BannerAd,
BannerAdSize,
GAMBannerAdSize,
RevenuePrecisions,
RewardedAd,
RewardedAdEventType,
Expand Down Expand Up @@ -787,7 +788,13 @@ class AdInspectorTest implements Test {
}
}

const GAMBannerComponent = React.forwardRef<View>((_, ref) => {
const GAMBannerComponent = React.forwardRef<
View,
{
unitId: string;
sizes: GAMBannerAdSize[];
}
>(({unitId, sizes}, ref) => {
const bannerRef = useRef<GAMBannerAd>(null);
const recordManualImpression = () => {
bannerRef.current?.recordManualImpression();
Expand All @@ -797,8 +804,8 @@ const GAMBannerComponent = React.forwardRef<View>((_, ref) => {
{/* To test FLUID size ad, use `TestIds.GAM_NATIVE` */}
<GAMBannerAd
ref={bannerRef}
unitId={TestIds.GAM_BANNER}
sizes={[BannerAdSize.ADAPTIVE_BANNER]}
unitId={unitId}
sizes={sizes}
requestOptions={{
requestNonPersonalizedAdsOnly: true,
}}
Expand All @@ -812,16 +819,37 @@ const GAMBannerComponent = React.forwardRef<View>((_, ref) => {
);
});
class GAMBannerTest implements Test {
constructor(
private readonly props: {
unitId: string;
sizes: GAMBannerAdSize[];
},
) {}

getPath(): string {
return 'GAMBanner';
return (
'GAMBanner ' +
this.props.sizes
.map(size =>
size
.split('_')
.map(
(s: string) =>
s.toLowerCase().charAt(0).toUpperCase() +
s.toLowerCase().slice(1),
)
.join(''),
)
.join('_')
);
}

getTestType(): TestType {
return TestType.Interactive;
}

render(onMount: (component: any) => void): React.ReactNode {
return <GAMBannerComponent ref={onMount} />;
return <GAMBannerComponent ref={onMount} {...this.props} />;
}

execute(component: any, complete: (result: TestResult) => void): void {
Expand Down Expand Up @@ -971,7 +999,18 @@ TestRegistry.registerTest(new RewardedHookTest());
TestRegistry.registerTest(new AppOpenHookTest());
TestRegistry.registerTest(new RewardedInterstitialHookTest());
TestRegistry.registerTest(new AdInspectorTest());
TestRegistry.registerTest(new GAMBannerTest());
TestRegistry.registerTest(
new GAMBannerTest({
unitId: TestIds.GAM_BANNER,
sizes: [BannerAdSize.ADAPTIVE_BANNER],
}),
);
TestRegistry.registerTest(
new GAMBannerTest({
unitId: TestIds.GAM_NATIVE,
sizes: [GAMBannerAdSize.FLUID],
}),
);
TestRegistry.registerTest(new GAMInterstitialTest());
TestRegistry.registerTest(new DebugMenuTest());

Expand Down
72 changes: 10 additions & 62 deletions RNGoogleMobileAdsExample/ios/Podfile.lock
Original file line number Diff line number Diff line change
Expand Up @@ -70,60 +70,16 @@ PODS:
- FlipperKit/FlipperKitNetworkPlugin
- fmt (6.2.1)
- glog (0.3.5)
- Google-Mobile-Ads-SDK (10.14.0):
- GoogleAppMeasurement (< 11.0, >= 7.0)
- Google-Mobile-Ads-SDK (11.0.1):
- GoogleUserMessagingPlatform (>= 1.1)
- GoogleAppMeasurement (10.19.0):
- GoogleAppMeasurement/AdIdSupport (= 10.19.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleAppMeasurement/AdIdSupport (10.19.0):
- GoogleAppMeasurement/WithoutAdIdSupport (= 10.19.0)
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleAppMeasurement/WithoutAdIdSupport (10.19.0):
- GoogleUtilities/AppDelegateSwizzler (~> 7.11)
- GoogleUtilities/MethodSwizzler (~> 7.11)
- GoogleUtilities/Network (~> 7.11)
- "GoogleUtilities/NSData+zlib (~> 7.11)"
- nanopb (< 2.30910.0, >= 2.30908.0)
- GoogleUserMessagingPlatform (2.1.0)
- GoogleUtilities/AppDelegateSwizzler (7.12.0):
- GoogleUtilities/Environment
- GoogleUtilities/Logger
- GoogleUtilities/Network
- GoogleUtilities/Environment (7.12.0):
- PromisesObjC (< 3.0, >= 1.2)
- GoogleUtilities/Logger (7.12.0):
- GoogleUtilities/Environment
- GoogleUtilities/MethodSwizzler (7.12.0):
- GoogleUtilities/Logger
- GoogleUtilities/Network (7.12.0):
- GoogleUtilities/Logger
- "GoogleUtilities/NSData+zlib"
- GoogleUtilities/Reachability
- "GoogleUtilities/NSData+zlib (7.12.0)"
- GoogleUtilities/Reachability (7.12.0):
- GoogleUtilities/Logger
- GoogleUserMessagingPlatform (2.2.0)
- hermes-engine (0.72.2):
- hermes-engine/Pre-built (= 0.72.2)
- hermes-engine/Pre-built (0.72.2)
- Jet (0.8.0):
- React-Core
- libevent (2.1.12)
- nanopb (2.30909.1):
- nanopb/decode (= 2.30909.1)
- nanopb/encode (= 2.30909.1)
- nanopb/decode (2.30909.1)
- nanopb/encode (2.30909.1)
- OpenSSL-Universal (1.1.1100)
- PromisesObjC (2.3.1)
- RCT-Folly (2021.07.22.00):
- boost
- DoubleConversion
Expand Down Expand Up @@ -534,9 +490,9 @@ PODS:
- React-jsi (= 0.72.2)
- React-logger (= 0.72.2)
- React-perflogger (= 0.72.2)
- RNGoogleMobileAds (12.7.1):
- Google-Mobile-Ads-SDK (= 10.14.0)
- GoogleUserMessagingPlatform (= 2.1.0)
- RNGoogleMobileAds (13.0.2):
- Google-Mobile-Ads-SDK (= 11.0.1)
- GoogleUserMessagingPlatform (= 2.2.0)
- RCT-Folly (= 2021.07.22.00)
- React-Core
- SocketRocket (0.6.1)
Expand Down Expand Up @@ -624,13 +580,9 @@ SPEC REPOS:
- FlipperKit
- fmt
- Google-Mobile-Ads-SDK
- GoogleAppMeasurement
- GoogleUserMessagingPlatform
- GoogleUtilities
- libevent
- nanopb
- OpenSSL-Universal
- PromisesObjC
- SocketRocket
- YogaKit

Expand Down Expand Up @@ -720,7 +672,7 @@ EXTERNAL SOURCES:
:path: "../node_modules/react-native/ReactCommon/yoga"

SPEC CHECKSUMS:
boost: 57d2868c099736d80fcd648bf211b4431e51a558
boost: 7dcd2de282d72e344012f7d6564d024930a6a440
CocoaAsyncSocket: 065fd1e645c7abab64f7a6a2007a48038fdc6a99
DoubleConversion: 5189b271737e1565bdce30deb4a08d647e3f5f54
FBLazyVector: 565cdf5e3d0dd4b12a9c842f6a4bb5082b5aaa5b
Expand All @@ -735,16 +687,12 @@ SPEC CHECKSUMS:
FlipperKit: 2efad7007d6745a3f95e4034d547be637f89d3f6
fmt: ff9d55029c625d3757ed641535fd4a75fedc7ce9
glog: 04b94705f318337d7ead9e6d17c019bd9b1f6b1b
Google-Mobile-Ads-SDK: 8f67a72f88d057335b1ac3f501e2b68ad054116e
GoogleAppMeasurement: 68afe759316673c6554dac35a0c7ae8f5d6cb4ed
GoogleUserMessagingPlatform: dce302b8f1b84d6e945812ee7a15c3f65a102cbf
GoogleUtilities: 0759d1a57ebb953965c2dfe0ba4c82e95ccc2e34
Google-Mobile-Ads-SDK: 7a466427864972f5229f1f89d004b998a28ddcae
GoogleUserMessagingPlatform: d31dbfb40ec02c5d9683029815c5d5a7f46389ee
hermes-engine: 3f42310d66bcbc814b3771b79ad8d5a3f8df3df1
Jet: c17c29bfbbaff56f08a17678211f36b859173e99
libevent: 4049cae6c81cdb3654a443be001fb9bdceff7913
nanopb: d4d75c12cd1316f4a64e3c6963f879ecd4b5e0d5
OpenSSL-Universal: ebc357f1e6bc71fa463ccb2fe676756aff50e88c
PromisesObjC: c50d2056b5253dadbd6c2bea79b0674bd5a52fa4
RCT-Folly: 424b8c9a7a0b9ab2886ffe9c3b041ef628fd4fb1
RCTRequired: 40bf5271b434eae17c4f950abde576fb25d77d3a
RCTTypeSafety: 14400c4d956ff45c5a188e3b4f5f4daa89e3ae09
Expand Down Expand Up @@ -777,11 +725,11 @@ SPEC CHECKSUMS:
React-runtimescheduler: dbea23f2991dfa010654165de8159862935aed27
React-utils: ec05233cf7ee1d7014d41aaa17ec65ceeba8948d
ReactCommon: 77382645a088a81de55c24bde19c5a2805d891c3
RNGoogleMobileAds: b696339ffa53c8efbee232c0dff8b0dd466964fc
RNGoogleMobileAds: 836645c0b779f983854912f3564e8d699b8f662e
SocketRocket: f32cd54efbe0f095c4d7594881e52619cfe80b17
Yoga: c79810ea24a2a73b7f39174e78d60f4e28261f33
YogaKit: f782866e155069a2cca2517aafea43200b01fd5a

PODFILE CHECKSUM: ad5b72079f3063adc720629375fc9194bb51ba43

COCOAPODS: 1.14.3
COCOAPODS: 1.15.2

0 comments on commit c09a326

Please sign in to comment.