How do I sign a client's Android app in order to test in-app purchases?

41 Views Asked by At

As in title, I am working on an Android app that has already been published to Google Play Store (and therefore signed). I have been given full permissions (admin) to the app through Google Play Console. I assume that this way the client doesn't have to share his signing key but I am having trouble figuring out the required steps. As I understand the dev signing key won't do because the app needs to actually be associated with the correct account in order for in-app purchases to work.

Indeed when I run the app with the dev signing key the store doesn't recognize the products.

In the 'App Signing' section of the app I see three options:

  1. Use existing app signing key from Java KeyStore
  2. Use existing app signing key from another repository
  3. Use a new app signing key (this requires ongoing dual releases)

On the Apple/IOS side of things as soon as I was given permissions I was able to directly use the client's signing keys to sign the app through Xcode. Is there a way to achieve similar results here?

Of course I would like to avoid disrupting the app distribution as well as making the client depend on my keys, so I can't really play around and see what works.

1

There are 1 best solutions below

0
Yiannis Spyridakis On BEST ANSWER

After a few days of struggle I finally found out what was wrong in my setup and it wasn't the signing keys. Here are the details in case it helps someone else:

  1. Any setup that is necessary involves the account used on the target phone/ emulator. As long as everything is setup correctly in Google Play Console, the account doesn't even need to be a Google Play developer account.

There were two issues with my setup:

  1. Although I had accepted a tester invitation for internal testing, the app got promoted to closed testing. From my understanding, even though the app version remained the same this effectively deactivated closed testing, so my account wasn't actually a tester.

After this got fixed the problems remained. The other issue:

  1. Target countries/regions. The closed testing channel has target countries and my country had to be added there. Also each product/offer has target countries/regions and my country needed to be added there too.

After all this got fixed I was able to read products through an app signed with the dev key running on an emulator. So, again, as long as the target account is setup correctly neither signing key nor target device play a role.