feat(ump): add Expo config plugin, declare expo peer dep - #8
Merged
Conversation
The UMP SDK requires a Google-issued AdMob App ID (com.google.android.gms.ads.APPLICATION_ID / GADApplicationIdentifier) to run at all. Under Expo/CNG that can't just be hand-edited into android/ios — expo prebuild regenerates those directories from scratch. Add an app.plugin.js (androidAppId/iosAppId config, same createRunOncePlugin pattern as pangle/levelplay) that injects it on every prebuild. Also reword the "Works with Expo out of the box" Features bullet on unity/liftoff to "Expo CNG supported" — the previous phrasing read oddly next to the other packages' plugin-specific bullets.
ump's app.plugin.js imports from expo/config-plugins but package.json never declared expo as a (peer) dependency, unlike pangle's plugin — levelplay had the same gap. Add expo as an optional peerDependency + devDependency, matching pangle's existing pattern. Also collapse all five packages' Features bullet about Expo down to the same "Expo CNG supported" line instead of each spelling out what its plugin does (or doesn't) do.
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.
Summary
Follow-up to #6 (which was already merged before these two commits landed).
app.plugin.jsfor@react-native-ads/ump: the UMP SDK requires a Google-issued AdMob App ID (com.google.android.gms.ads.APPLICATION_ID/GADApplicationIdentifier), which can't be hand-edited under Expo/CNG sinceexpo prebuildregeneratesandroid/iosfrom scratch. The plugin takesandroidAppId/iosAppIdand injects them on every prebuild, samecreateRunOncePluginpattern aspangle/levelplay.expoas an optional peer/dev dependency inump'spackage.json(it was missing there — and, it turns out, missing onlevelplaytoo, though that's out of scope here).Expo CNG supportedline instead of each spelling out plugin-specific behavior.Test plan
yarn turbo run lint typecheck testpasses for the whole monorepowithUMPAdsthrows a clear error withoutandroidAppId/iosAppId, and registers bothandroid/iosmods when they're provided (verified viaexpo/config-plugins'compileModsAsynccomposition, not a full prebuild)