feat: new arch support for banner , full screen ads and mobilesdk module on android (WIP)#817
Closed
demon-sword wants to merge 601 commits intoinvertase:mainfrom
Closed
feat: new arch support for banner , full screen ads and mobilesdk module on android (WIP)#817demon-sword wants to merge 601 commits intoinvertase:mainfrom
demon-sword wants to merge 601 commits intoinvertase:mainfrom
Conversation
## [12.8.0](invertase/react-native-google-mobile-ads@v12.7.1...v12.8.0) (2024-01-03) ### Features * add method to check if gdpr applies ([011d68d](invertase@011d68d))
This reverts commit daa3eee.
* feat(config, ios): add support for app.config.js * feat(config, android): add support for app.config.js * docs(installation): enhance docs for app.config.js support * Update android/app-json.gradle * Update docs/index.mdx * test: pin detox to 19 (20 does not do jest) - requires updated patch to handle AGP namespace requirements - requires updated patch to handle new apple sim error codes * fix(android): windows-compat pathing, wait for async proc, propagate exception - windows needs to escape the absolute file path or config file not found - groovy procs are async, script was continuing before proc had finished leading to no output - if there is an empty config file output we can propagate that to main catch so the error message to user is clear but not duplicated * test(ios): alter boost download source works around known upstream issue where jfrog is currently unreliable --------- Co-authored-by: Mike Hardy <github@mikehardy.net>
## [12.9.0](invertase/react-native-google-mobile-ads@v12.8.0...v12.9.0) (2024-01-09) ### Features * **ios, android:** Add support for app.config.js ([invertase#517](invertase#517)) ([be39d5a](invertase@be39d5a)) ### Reverts * Revert "chore(docs): update gathering consent info" ([a82412b](invertase@a82412b))
## [12.10.0](invertase/react-native-google-mobile-ads@v12.9.0...v12.10.0) (2024-01-11) ### Features * add method to check if consent for purpose 1 was given ([8fcee30](invertase@8fcee30))
…eate a personalized content profile' purpose
## [12.11.0](invertase/react-native-google-mobile-ads@v12.10.0...v12.11.0) (2024-02-19) ### Features * **android:** potentially improves mediation performance for banners ([invertase#527](invertase#527)) ([32f550a](invertase@32f550a)) ### Bug Fixes * **consent:** the package returns the wrong value for consent for 'Create a personalized content profile' purpose ([7aef863](invertase@7aef863))
## [13.0.0](invertase/react-native-google-mobile-ads@v12.11.0...v13.0.0) (2024-02-22) ### ⚠ BREAKING CHANGES * **deps:** mobile ads sdk upgrade - ios 11.0.1, ump sdk 2.2.0 ### Features * **deps:** mobile ads sdk upgrade - ios 11.0.1, ump sdk 2.2.0 ([d924586](invertase@d924586))
### [13.0.1](invertase/react-native-google-mobile-ads@v13.0.0...v13.0.1) (2024-02-22) ### Bug Fixes * to support app privacy manifests, cocoapods has to be at >= 1.12.0 ([ac8e06e](invertase@ac8e06e))
…nges This wastes developer's time, we should warn them
### [13.0.2](invertase/react-native-google-mobile-ads@v13.0.1...v13.0.2) (2024-03-05) ### Bug Fixes * TestIds.ADAPTIVE_BANNER undefined type error ([ffbc7b1](invertase@ffbc7b1))
## [13.1.0](invertase/react-native-google-mobile-ads@v13.0.2...v13.1.0) (2024-03-26) ### Features * **deps:** mobile ads sdk upgrade - ios 11.2.0 android 23.0.0 ([099add4](invertase@099add4))
## [13.2.0](invertase/react-native-google-mobile-ads@v13.1.0...v13.2.0) (2024-04-03) ### Features * add FLUID size support ([c09a326](invertase@c09a326)) ### Bug Fixes * android build error 'onAdLoaded' overrides nothing ([bd52c12](invertase@bd52c12))
### [13.2.1](invertase/react-native-google-mobile-ads@v13.2.0...v13.2.1) (2024-05-02) ### Bug Fixes * **banner, ios:** banner not destroyed in new arch ([2d8bdb5](invertase@2d8bdb5)) * **banner, ios:** fixed memory leak ([5cbf0e9](invertase@5cbf0e9))
## [13.3.0](invertase/react-native-google-mobile-ads@v13.2.1...v13.3.0) (2024-05-13) ### Features * **android:** Add support for ArrayList ([7303730](invertase@7303730))
an exhaustive conditional always results in the last one being unnecessary in a strongly typed system since it must be true by process of elimination of the other enum elements in the type system, this results in a lint error with strict checking a more reliable way to test if the arg is in the enum, that does not result in an unnecessary conditional is to check if the arg is in the enum as a JS object
… -> Ref codegen still requires ElementRef though, due to upstream issue
- loaded status wasn't handled well in class components for the 4 loadable tests - can only useState in functional components, and that's the easiest, so convert - all of the 4 different loadable tests were doing basically the same thing though, so make a more generic loadable component test and have the 4 just implement the differences
this simplifies the native modules there and should also speed up app startup time as constants won't have to be loaded from native dynamically during module init - they are equivalent across platforms, so no technical reason to load from native - none of the other constants like this are loaded from native
- requires to provide an eslint parser source for types - modified one included rule slightly to allow numbers in template strings
not sure why this was an NSNumber* before, with mismatched types and conversions...
it seemed that they were all non-null?
…consent you need to inform the Xcode compiler that you are not intending to reimplement the setters/getters for the property (i.e., '@synthesize'), you just want a narrower type, so you need to mark them as '@dynamic'
|
To view this pull requests documentation preview, visit the following URL: docs.page/invertase/react-native-google-mobile-ads~817 Documentation is deployed and generated using docs.page. |
|
|
76a0f40 to
aa6867d
Compare
This file contains hidden or bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
Sign up for free
to join this conversation on GitHub.
Already have an account?
Sign in to comment
Add this suggestion to a batch that can be applied as a single commit.This suggestion is invalid because no changes were made to the code.Suggestions cannot be applied while the pull request is closed.Suggestions cannot be applied while viewing a subset of changes.Only one suggestion per line can be applied in a batch.Add this suggestion to a batch that can be applied as a single commit.Applying suggestions on deleted lines is not supported.You must change the existing code in this line in order to create a valid suggestion.Outdated suggestions cannot be applied.This suggestion has been applied or marked resolved.Suggestions cannot be applied from pending reviews.Suggestions cannot be applied on multi-line comments.Suggestions cannot be applied while the pull request is queued to merge.Suggestion cannot be applied right now. Please check back later.
Description
This PR migrates key Android components to React Native’s New Architecture (TurboModules/Fabric) and updates documentation to reflect the current migration status.
Related issues
Release Summary
Android migration to New Architecture for core ads modules; documentation updated to reflect current status.
Checklist
AndroidiOSe2etests added or updated in__tests__e2e__jesttests added or updated in__tests__Test Plan
GoogleMobileAdsBannerViewNativeComponent) and manager (ReactNativeGoogleMobileAdsBannerAdViewManager).Think
react-native-google-mobile-adsis great? Please consider supporting the project with any of the below:Invertaseon Twitter