Is it possible for a user on Google Play Store to upload an application instead of the owner? - google-play

Lets say A is the owner. I want B, C and D users from our team to be able to upload the new versions of our application. Is this possible?
From this it is not very clear to me what kind of permission has a user.
If somebody has any experience to this part is welcome.

You need the google account details to sign in to the Developer Console.
Any application uploaded to the play store must be signed.
From Google documentation
Android requires that all apps be digitally signed with a certificate before they can be installed. Android uses this certificate to identify the author of an app, and the certificate does not need to be signed by a certificate authority. Android apps often use self-signed certificates. The app developer holds the certificate's private key.
Signed apk file have a binary file it build and signed with.
Only the developer have this file on his own computer . Once an application first signed and was uploaded to the store all the other versions of the app must build and be signed against the same binary file.
If a developer looses this file he will no longer be able to publish updates to his own app .
Warning: Keep your keystore and private key in a safe and secure place, and ensure that you have secure backups of them. If you publish an app to Google Play and then lose the key with which you signed your app, you will not be able to publish any updates to your app, since you must always sign all versions of your app with the same key.
(from the same link)
It is possible to add another user permission to your Developer console.
Here list of permissions you can choose to share:
Create & edit draft apps
Edit store listing, pricing & distribution
Manage Production APKs
Manage Alpha & Beta APKs
Manage Alpha & Beta users
View financial reports
Reply to reviews
Edit games
Publish games
View AdWords campaigns
Create AdWords campaigns
These permissions can be Global to all apps on account or only for particular apps.
Anyway if you share Manage Production APKs permission you'll have to share the signature file as well.

Related

Accept the "Play App Signing Terms" without uploading a certificate first

I am migrating a few apps to App Signing, and to Android App Bundle. But since I'm not an account owner or account admin I can't do it.
In order to do it, you need to:
Upload the signing key (and optionally the upload key)
Accept the terms
The problem is that I am the developer, an admin only of my specific app. The terms have to be accepted by the account owner/admin. The account owner does not have the signing key, and shouldn't. So not sure how to proceed, as neither of us has all prerequisites for completing the process.
Q: Can the account owner somehow just accept the "Play App Signing Terms of Service", without having to upload a key?
P.S. There's the option to ask the account owner to make me account admin, which allows me to accept these specific terms (I'm currently only app admin). However, the account owner is not comfortable with giving me such high privileges, as they also have other apps on the same account. Not a solution.
Yes.
Ask Owner to go to Google Play Console, from left menu select Setup > App integrity
Click on Create release button
Then click on change app signing key
Choose use Google-generated key
Accept license agreement
And voila, now you can use it without admin privileges.
Note: This is tested many times before.

Difference between Expo managed project keystore file, and the Google Play upload keystore

I'm building a React Native app using the Expo managed project process. Upon completion, when I run expo build:android I am prompted that I need a keystore file associated with my project. I chose to let Expo handle the keystore file process for me. The app builds and I have a .aab file. Great.
Then when I upload to the Play Store, I am prompted by Google Play to ask me if I want Google to store and handle my upload keystore/certificate. This is I believe a requirement now. I also selected yes for this option. It generates its own keystore file and stores SHA-1, MD5 Certificate, etc. These are different than my Expo-produced ones.
So now I have a keystore file generated by Expo that is associated with my app, and an upload keystore file generated by Google Play associated with my app.
I was able to upload my .aab file to Google Play and it is available in the internal testing track which I am currently using to review the app. But I am unclear which keystore file is the one now associated with my app.
Are these the same file or different? If the same, which keystore file prevails? Does Google overwrite the Expo one?
Thank you.
Google play is using two sets of certs/keys
"app signing" one is used to sign application that are in store, unless you are migrating from the old app you will never see that key, it's generated and managed by google, only thing you might need from it is SHA-1 fingerprint that can be used in third party apps to identify your app
"upload" one is certificate that you need to use to sign your app before uploading it to google. Google needs only public key of that upload certificate.
When you are uploading app to the store google is removing "upload" cert signature and it's signing it with "app signing" certificate
When you are generating app using expo cli it generates random keystore that contains private and public key. At this point keystore is not connected in any way to google account, that connection is established when you upload first application, at this point google saves public key extracted from apk/aab and from this point only applications signed using that keystore can be uploaded to the store

Developer asking for my keystore and passwords

I am the owner of multiple apps on google play. I have a keystore for each app. Now I am outsourcing to a developer and this person is also helping me with stuff on google play developer console such as in-app purchases. He is now saying he needs the keystore and the related passwords to sign a release. I do not want to share those for security reasons. What should I do in this case? is there any workaround to allow him to continue working without sharing keystore and credentials?
You can perform the release yourself. After all you just have to compile the code and sign it. (I asume you use GIT).
You could use the Google App Sign, the signing data it's hosted in your google developer account and not in an external keystore, each time you upload an update google play will sign it. Take a look at this please: https://support.google.com/googleplay/android-developer/answer/7384423

Shared App Groups won't work with Developer ID & App Store signed App

I'm struggling with this for a while now. Two OSX apps: One in in the App Store and the other one is a trial version signed with my Developer ID. Both have an app group enabled in their entitlements and of course "Outgoing Connections (Client)" enabled.
While the app group works fine in the App Store app (Can access files, etc.), the Developer ID signed app can't access that folder / files: NSCocoaErrorDomain Code=256
I haven't found anything in the docs (yet), but I think it's just not possible to use App Groups in this way. Does anyone have a solution for this? How do I share data between an App Store app and a Developer ID app?
Best,
Lars
I gave up on this. It seems like there is absolutely no way to exchange data.

How to modify "SHA1" in my released keystore app

I made my app using appsgeyser of which was version0.1.
I made the same app with more features on phonegap and updated my version to 0.2.
Everything goes fine
BUT
while uploading my apk to google store under the same app
it says that my SHA1 is modified and I have to use the same certificate.
what shall I do?
Thanks
Play store requires .apk to be signed before you can publish it there.
If you've made an app with AppsGeyser and published it to Play then your application is signed by the AppsGeyser private keys (unless you've explicitly signed the .apk before publising it or if you've provided your secret keystore to AppsGeyser which is unlikely).
AppsGeyser wont give you their keystore and you need it to be able to sign new version of your software. Here is the quote from docs about this:
Your private key is required for signing all future versions of your application. If you lose or misplace your key, you will not be able to publish updates to your existing application. You cannot regenerate a previously generated key.
In other words you have 2 options here. Either stick with AppsGeyser and update your app using their services or publish update to your application as a whole new appliation.

Resources