The app I'm working on needs to have 3 variants (dev, QA, live) each with different application IDs, so testers can have multiple variants simultaneously installed. I implemented the above using flavors, but now the dev and QA builds no longer receive the app's subscriptions skuDetails when calling querySkuDetailsAsync(), only the live flavor works. Is there any way I can make in-app purchases work for all 3 flavors, while still being able to install multiple flavors simultaneously in the same device?
build.gradle flavor config:
flavorDimensions "client", "server"
productFlavors {
dev {
dimension "client"
versionNameSuffix "-dev"
applicationIdSuffix ".dev"
}
qa {
dimension "client"
versionNameSuffix "-qa"
applicationIdSuffix ".qa"
}
live {
dimension "client"
}
prod {
dimension "server"
}
mock {
dimension "server"
}
}
This is not possible as applicationIdSuffix
, makes the packageName
different to what the IAP's signature is looking for ie. prod signed variant, so even if you prod sign any other variant, you will get an empty list of SKUs