React native Expo - can you change/add Admob ads without releasing an update? (without requiring user to update the app) - react-native

I want to add ads to an react native application using, most likely, the Google's AdMob.
Now what I expect according to https://docs.expo.dev/versions/latest/sdk/admob/ is that before building an app for relase, I have to set the googleMobileAdsAppId in app.json.
I also understand how to add ads as components and se their adUnitID.
Now how do I change the adUnitID after the application has been released without releasing an application update and therefore requiring users to udpate the application to see the new ads?

Related

Setting the User Context App Insights for React Native

We have a React Native app and we are logging to App Insights using the "applicationinsights-react-native package", this all works fine in a sense, but we are trying to start using the monitoring side of things which uses a User ID. Now I'm pretty sure that whatever the User ID that the (app insights) package is using for a user ID won't cause too many problems if we kept it, but it won't be right.
The ApplicationInsights class has a setAuthenticatedUserContext method, however the comments seem to refer to cookies suggesting it's a React package re-purposed and this GitHub post https://github.com/microsoft/appcenter-sdk-react-native/issues/503 suggests we can't use it, however the response is for the React Natve AppCenter package which we are not using. We are using App Insights direct.
So I was wondering if there was a way to set our user_Id/User context if we are using App Insights directly from a React Native app?
It looks like setAuthenticatedUserContext does work if you talk to App Insights directly and not theough Appcenter, it's possible that it works through Appcenter now as well, I have not tested so I am not sure.
If you want to check that this ends up as on the App Insighst side, it appears as a property called user_AuthenticatedId.

How to know which app is getting used in background in your react native app?

I wanted to build an app which can send notifications to the user if he uses a particular app for more than 15 minutes...for this I need to trace which app the user is using even when my react native app is not being used(i.e. it is present in the background). Is there any react native library which can help me to know the app which the user is using in the present?
There's no way to do this. Your app would have to be running in the background at all times, and even then the OS would have to support such a feature.

if we promote app using different technology . Do the user has to uninstall old App? or just update works?

we have developed app using ionic which is on live in playstore and app store, now we have completely rewritten app using reactnative, so if we promote app which is developed using react native, Do the user has to uninstall old App? or just update works?
My understanding is that if it uses the same app identifier that it will just work for the user.
You can also see it here: Recreating an iOS App with the same Bundle ID, App name etc

Expo Notification askAsync() - Is there a way to customize the message?

I am using EXPO on a react native project and want to ask the user for push notification permission.
When I use the const {status} = await Permissions.askAsync(Permissions.NOTIFICATIONS); the message that appears is
"Expo" would like to send you notifications. Notifications may include sounds, badges, alerts and icon badges. These can be configured in settings.
My end user doesn't know what "Expo" is, they just know the app name. Is there a way for me to customize the "Expo" part to the app name?
How have people handled this when their app is ejected and push to the app store?
You can find the answer in here: https://docs.expo.io/distribution/app-stores/?redirected
Which says:
System permissions dialogs on iOS
If your app asks for system permissions from the user, e.g. to use the device's camera, or access photos, Apple requires an explanation for how your app makes use of that data. Expo will automatically provide a boilerplate reason for you, such as "Allow cool-app to access the camera", however these must be customized and tailored to your specific use case in order for your app to be accepted by the App Store. To do this, override these values using the ios.infoPlist key in app.json, for example:
"infoPlist": {
"NSCameraUsageDescription": "This app uses the camera to scan barcodes on event tickets."
},
The full list of keys Expo provides by default can be seen here. Unlike with Android, on iOS it is not possible to filter the list of permissions an app may request at a native level. This means that by default, your app will ship with all of these default boilerplate strings embedded in the binary. You can provide any overrides you want in the infoPlist configuration. Because these strings are configured at the native level, they will only be published when you build a new binary with expo build.
You probably use Expo Go to develop your app , when you create standalone app (when you deploy the apk) it will show the app name that you specified in app.json.

Changes allowed in react-native code-push

I have added react-native-code-push in my react native app and if I add a new page in my page and then deploy it on code-push cloud, it will work or not?
What is the limit of changing the things in react-native-code-push?
Please do tell that what if I deployed in code push cloud and app store both, then the users will get the update button in play store or not?
Can we push the changes only to some users?
I have been using CodePush in production for quite sometime now.
I have added react-native-code-push in my react native app and if I
add a new page in my page and then deploy it on code-push cloud, it
will work or not?
It will work smooth!
What is the limit of changing the things in react-native-code-push?
Any JS change can be pushed via CodePush.
Please do tell that what if I deployed in code push cloud and app
store both, then the users will get the update button in play store or
not?
Only if you have any changes that have changed your native code. (Ex- Add a library that has a native module linked) You need to make sure you deploy via Playstore/Appstore.