Replace old mobile app in play store / app store - mobile

I want to replace my old app in the app store & play store. Since I want to combine the internationalization within one app this means that currently in every country there is a seperate version (app id) of the app. In future it should be one app (app id) which is enabled for all countries.
My question: how can I replace the old app with a new one (with a new app Id) without losing:
- the number of users
- the number of downloads + ratings...
Is there some way to redirect within play store / app store from a deprecated app to a new one?
Thanks,
Fahim

Related

How to deal with changing user_pseudo_id?

I have a mobile app and I use firebase and BigQuery to download data for analysis. Recently the 'user_pseudo_id' has been changing when 'app_remove' event is triggered. When I emailed firebase, they replied that 'user_pseudo_id' changes when app cache is cleared.
We rely on 'user_pseudo_id' to calculate app removes in new users (daily). Can you suggest a solution to this problem?
We cannot use the 'user_id' as it will not be triggered for 'first_open' event using which we find daily new users.
For Apps, user_pseudo_id is the app_instance_id. The app_instance_id is updated with each app install. This means, when an App is removed/uninstalled from a device, the app_remove is the final event for an app_instance_id. If an app is reinstalled on a device, that 'app instance' will have a new app_instance_id i.e. a new user_pseudo_id. This is working as intended, has always been this way, and is not a recent change.
For your use case, you need to fully articulate: "We rely on 'user_pseudo_id' to calculate app removes in new users (daily).". e.g. How are you defining new users?
Since you do not want to use user_id, the only way for you to define new users is by using user_pseudo_ids.
If you want to calculate new users who are uninstalling the app in their first session, you can write a query for that.

Why should the first root on firebase be named `users`?

I am using firebase to handle my data for react native apps. I am new to both of them. I use:
firebase.database().ref(`/users/${currentUser.uid}/myEmployess/`).push({ name, phone, shift });
To push the data. My question is why the first root should be named users? for instance, i used myUsers and it did create anything on the firebase.

Firebase Data Structuring

we are building two Ionic apps at the startup I work for. We saw the benefit of rapid development that Firebase offers and we decided to use it as our backend. We are building hotel booking apps for users (people that want to search and book hotels) and for the hotels so that they can manage their bookings. The first app for the users is done and we have all our data and authentication rules stored at a Firebase Data URL. We are about to start building the second app meant for the hotels and we have some serious questions:
Should we use the same Firebase Data URL for the hotel app or should we create another one? If we use the same Firebase Data URL, that means data for the hotels and the users will be mixed and the URL will handle authentication for the entities.
Please we would really appreciate your input and opinions on best practices on how to do this. Thank you.
There's no reason why you cannot use the same URL
myHotelAppRootNode
Users
someUser
someUser
Hotels
someHotel
someHotel
Then set up the rules to restrict access.
We have data and users in the same url in our beta app and it's not causing any mixing of data; as long as the rules are correct (which can be a bit challenging).
Using two URL's may slightly uncomplicate the rules per, but then you have multiple authentication points since it's two URL's. So say, once a user authenticated with a single URL model, they would then have access to hotel data directly whereas with two you have to auth them once, and then the app would need to auth them again to the second URL.

How do you pass information through app store to app during initial install?

I have a mobile app that generically supports multiple customers. I want to link to our app in the app store (or marketplace) and pass which customer should be defaulted during the install. Is this possible?
For example:
http://itunes.apple.com/app/consume-mobile-isp-packages/id337064413?mt=8&customer=XYZ
So that when the user installs the app it will load with XYZ as the default customer.
1. How should this link be formatted?
2. How do I access this value from code?
Cheers!

How can two AppEngine applications inter-communicate?

I try to build an application in Google App Engine, but i have some question and don't know how to solve it.
I try to build two application, one is get a String from user, and other is process the String like divide or encrypt.
My question is how to transmit the String between two application in Google App Engine? And can I build an application just process the String, don't present the WEB page.
Any one can give me some tips? thanks a lot.
The only way for two AppEngine applications to communicate with one another is through the normal HTTP request/response model. For your case, we'll have App A, which answers requests from a User, who provides a string to be processed. App B will receive requests from App A, which passes along the string to be processed.
App A handles the URL /providestring?string=... where ... is some arbitrary value
App B handles the URL /processstring?string=... where ... is some arbitrary value
User uses a browse or writes an application that makes a call to /providestring
App A's URL-handling code runs and extracts the value of the string parameter
App A uses URLFetch to call App B's /processstring
App B's URL-handling code runs and extracts the value of the string parameter and does whatever kind of processing it does and
sends some sort of response to the caller.
One way to do this would be to have a shared database. App A would intake user data and save it to the database. App B would pull the user data and process it.
An Accepted feature request is for multiple App Engine applications to share datastore access [1].
Multiple App Engine applications can share access to Google Cloud SQL instances [2].
To grant access to your App Engine application:
From the Google Cloud SQL pane of the APIs Console, find the instance that you
want to grant access to and click the on the name of your instance.
Click on the Instance settings button on the instance's dashboard.
On the Instance settings window that appears, enter your Google App Engine
application ID under the Authorized applications section. You can grant access to
multiple applications, by entering them one at a time.
Note: you can achieve this with one app using the datastore. Here are a couple of accepted patterns:
A RequestHandler takes in user data, queues a task to process the data and save it.
A RequestHandler takes in user data & saves it. A cron job pulls all recent models of that type, processes them, and saves the processed data.
[1] https://code.google.com/p/googleappengine/issues/detail?id=1300
[2] https://developers.google.com/cloud-sql/docs/before_you_begin#configure_access_control

Resources