I am trying to set up Google Play licensing with my app. I have followed the documentation precisely, yet I still can't get it to work:
the LVL library is the latest version available in SDK Manager
I copied the license check implementation exactly from the sample app
I copied the BASE64 key of my app from "Services and APIs" in Google Play to the BASE64_PUBLIC_KEY field and made sure countless times it was copied correctly, contained no white spaces
I uploaded the app to Google Play as alfa, also tried uploading it as beta and production draft
I tried running the same compilation of the app both signed with a debug key and the key with which I signed it for Google Play(the exact same apk)
I tried setting different static test responses on Google Play
Every time I run the app on any device where I'm logged to my developer account, I always get NOT_MARKET_MANAGED error. I've read through countless forums but none of the answers helped. What else can I do?
I had the same issue and I found this note on developer.android.com:
Note: Previously you could test an app by uploading an unpublished
"draft" version. This functionality is no longer supported; instead,
you must publish it to the alpha or beta distribution channel. For
more information, see Draft Apps are No Longer Supported.
Here's what I did:
Signed and uploaded the apk file. I uploaded as beta, but I don't think it matters.
Published the app. Note, I didn't promote it to production. I used the dropdown in the top right corner. You may see the option "Why can't I publish" and no "Publish" option. If you click "Why..." it will explain what you have to do first. In my case I had to upload at least 2 screenshots.
You can unpublish straight after publishing using the same dropdown.
Give it a good few hours, may be a day.
Next day my app started to receive responses according to my "Licence testing" setting in the developer console.
Related
I have been trying for several weeks now to get the Google Alpha / Beta testing functionality on the Play Store to work with no success. As far as I can tell I have followed the process but clearly something is not working from my side. I hope someone on SO can tell me what I'm doing wrong.
I have created both an Apha and Beta testing community.
I have added the Beta testing community to the Beta testing section that relates to using Google+ communities to test. My Beta testing community does have members added.
Although I have an Alpha testing community, none of the Alpha testing methods are currently enabled.
On my test device, using a Google account that is a member of my Beta testing community, I only ever see the version of my app that is currently in Prod. I have spent days waiting just in case it takes a couple of days to show up (at least a week which I assume should be long enough).
I need to test the release version because I am trying to test some inapp billing functionality that I had to change due to security warnings from Google relating to my current Prod version.
BUT: if I load the release version of the app directly (instead of downloading from the Play Store) I can see that it is seeing this account as a "test account" because when I test the inapp billing I get the correct message telling me that the subscription will renew every day but I won't be charged. However the Beta version of the app never appears in the "BETA" tab in the Play Store.
I have noticed something "strange" (possibly) in the developer console though: When I click on the "Beta Testing" tab it shows 10399 supported devices and 0 excluded devices for the Beta app. However if I click on the line of the Beta app where you can promote the app etc, the details that are then displayed indicate 0 supported Android devices. Why would this be? This seems to be conflicting information on the console.
Note: The current Prod version of my app was developed using Eclipse. I have recently converted to Android Studio and this is my first upload using Android Studio.
Where else should I be looking to get my app to appear in the Play Store
Thanks
I was just setting up the Beta testing release for the first time and couldn't make the app visible in Play Store. Found the reason in Play Console Help:
After publishing an alpha/beta app for the first time, it may take a few hours for your test link to be available to testers. If you publish additional changes, they may take several hours to be available for testers.
After about 35 minutes the app was published.
As this might not be the issue mentioned in original question, it might help someone.
In my case I had published the Beta version and had created the testers but not linked them together. What I had to do was:
Go to manage releases
Choose a testing method - Closed Beta Testing
Then when testers list shows, make active the group of testers you would like to test the app.
Save
Get Opt-in URL link and paste it in a new tab (you should be logged in to google)
Then click at the "Become a Tester" button
You should now be a tester and ready to go.
#Important If you still can not find the app by searching in Play Store just copy the "Opt-in URL" into your tester phone's browser and you should see the app.
Hope it helps
What solved this problem for me was clearing my Play Store app data.
In my case, I had already been on the testers list for days, already accepted the invitation link, and already gotten testing working on other devices. But, the Play Store still wouldn't show the beta version of the app on this particular device.
I went to "App info" for the Google Play Store app, "Memory", then "Clear data". Then I re-opened and was able to see the beta test app.
Disclaimer: Use with caution. Clearing your app data may remove some important information. I haven't personally experienced any problems with it, but that doesn't mean you won't.
The suggestion from #Edgehog to use Open Testing solved my problem regarding being able to see my app in the Beta tab of the Play Store.
I have not found a reason yet why the closed beta testing (using emails or groups/communities) would not work.
Make sure you also check this answer
browser cache
an actual active "testing track"
We are having the same problem in my company. Currently we are investigating possibility that maybe first install on beta channel installs prod version and updates to beta channel version when first app update is released on beta channel. It is weird workflow but the comment on Play Store "Future updates will include beta versions" supports this
There are a couple of reasons why this might happen but admittedly we did not 100% confirm this.
1) One reason is that you are viewing Google Play under another account that is not on the beta tester list.
2) The other might be an issue (or feature) with the release management. Added a user to an existing closed beta release list. Changing a list does not activate or force a Save for the "Managed testers" section. After we edited another field (e.g. feedback channel) then the Save button became active and we clicked save. This might only then propagate changes. We cannot 100% confirm this was the issue we were facing but our experience points to this.
I have not updated my Android app for quite a while. Now I would like to use the Alpha Test to run some tests of the In-App Purchase features.
Problem is, that I do not see how I can install the Alpha version on my device using the Play Store. I did the following:
Created the APK in Android Studio 2.1
Logged into the Google Play Developer Console
Selected my app and switched to APK/Alpha-Test
Uploaded the APK the the Alpha Test and published it
It is a closed Alpha Test and I am the only tester. The e-mail address I entered in the tester list perfectly matches the address of the Play Account I am using on the device.
Opened activation URL in Chrome on my Device. Play Store webpage is shown, saying that I am a tester.
Clicked the link to the Play Store and downloaded the current Version of my app
Checked if there is an update to the Alpha Version, but there is not
I uploaded/published the alpha APK on three days ago. Even if it can take some hours before an update reaches the store, three days should be long enough, shouldn't it?
I found other threads dealing with this kind of problem and in some cases the solution was to clean the cache of the Play Store App and restart the app. However this did not change anything in my case.
So, none of the suggested solutions I found worked for me. Any other idea what I can do?
UPDATE:
Still not possible to update to the alpha version. I now switch from a Closed Alpha Test an Alpha Test using a Google+ Community. However, the result is the same:
While logged in with my developer account, I switched to Google+ and created a new Community.
Invited my test user (one of my other accounts) to the group.
Copied the URL of the Goole+ Community to the Aplha Testing section in the Developer Console.
Published the changes.
When visiting the test URL (https://play.google.com/apps/testing/com.mycompany.myapp) I got the message "You are not a tester"
Checking the e-mails of my test account. Found the invitation to the Google+ Community and joined.
When visiting the test URL I could now click on Become a tester and now I am tester.
Downloaded the App from the Play Store using my test account. Just received the public version.
No update to the Alpha version available...
UPDATE 2:
Also after switching to a Public Alpha Test still no update available.
I am running out of ideas...
After two weeks I was finally able to solve the issue. I share the solution here, just in case somebody encounters the same type of problem:
I contacted Google Support to find out, if there is any known problem that prevents the test version from beeing downloaded. They told me, that the uploaded APK was not compatible with my test device (Nexus 5) due to an incompatible ABI version.
This was quite confusing, sinc my app did not use any native code and thus did not configure any ABI version at all.
Finally Google told me, that the ABI version of the APK was identified as commons-io-2.4.jar. This still does not make sense, since this is obviously not an ABI version. However with this information I was able to move on and find a way to avoid the problem.
Android Stuido copied the commons-io-2.4.jar file into the lib folder within the APK. The Dev Console identified the content of this folder as ABI version (which does not make any sense) and thus the APK was marked as not compatible with the device.
Either there is a bug in Android Studio (copied the file into the lib folder) or the Dev Console (identifies the lib content als ABI version).
SOLUTION
Since I did not need the commons-io-2.4.jar anymore, I could simply remove it from the project and the new version is distributed without any problem in the Alpha/Beta Test Channel. I have no idea what I would have done, if the app would depend on this lib.
The information in the Dev Console on wether an APK is supported by specific devices or not is quite confusing:
The public version of the APK was (of course) compatible to thousands of different devices, including the Nexus 5 I use for my test. The Dev Console shows the same information (the one of the public APK) for the test APK as well. Thus I assumed, that the test APK is correct and compatible. One can only see the information about the test APK, by clicking on the APK in the Dev Console.
My company has an app published in the google play store/android marketplace. One of the issues that we're fixing in the next version of the app is adding back xlargeScreen = true (it was somehow set to false in the previous version, so now the app isn't showing up on larger tablets). We're trying to get the alpha/beta testing setup so we can make sure we have all our problems fixed before we push the apk to live.
I've uploaded an apk to alpha and published it. I made a google+ community, added it to the accepted testers and sent out the link for the app. But, when we go out to the link and get set as testers nothing happens. If I go to the google play store, it shows the date for the newest upload to the account but the 'install' button attempts to install the previous live version (which is incompatible with the test device, yay!). Also someone else used their device and all the install did was install the old version to their device.
I've considered the "wait up to 24 hours for the publish to go through" being the problem, but the first alpha was uploaded Friday at lunch and would not work at lunch today, on Monday. I moved the old apk to beta and put a new one in alpha (more bug fixes yay) at lunch today. I checked all the settings and everything looks correct, but I can't see how I'm suppose to actually download the beta or the alpha at this point. And if I'm suppose to download the production version 1) How am I suppose to do that on the device that's incompatible with the production version and 2) how do I choose between the beta and the alpha version?
Ok, so it takes about 2 hours to be published for alpha/beta and it will be availible in the google play store in place of the live app if you opt in.
My specific problem was the the new alpha/beta apk was still incompatible with the device. I wish there was some notice on the page to show that you are viewing a test version (or better yet, a way to select alpha/beta/production on the google play page after you opt-in).
Turns out that <uses-permission> will in some cases make a device incompatible if it's missing the feature. Adding <uses-feature android:name="problem feature" android:required="false" /> for the offending permissions fixed my issue.
I am developing an Android application and in this application, I am using "In app billing" features.
I uploaded apk on the google console account and set the product id, price and other required things and saved all the data in the draft.(Application is still in draft mode).
I did not publish my app yet.
After a few minutes, I realized that I uploaded old signed apk file and keystore of this apk has already lost.
Now I want to remove this old apk file and want to upload a new one in draft mode.
My problems are :
How to remove the old apk file from the google console account.(In Draft Mode)
How to upload the new signed apk file with new key store (As I have
lost my old key store)
EDIT:
I want to publish the app with the same name and with same package name. I do not want to change my app name atleast.
This can now be done by going to Release management > Artifact library and deleting the APK.
You cannot delete the artifacts anymore.
Here's a part of my chat with Pete through the built-in help & support.
Pete:
Thanks for waiting. You can't remove an apk that you've already
served. Your next Production apk has to be version code 3 or higher.
Me:
So I can't just delete the artifact of that build?
Pete:
That's correct.
(P.S. He mentioned version code 3 because of my specific issue)
You can try KOTIOS's answer.
Delete the aab / apk file from the Google Play Console on the App Bundle Explorer under Release Tab
Then select the apk/aab file you want to delete from the List
Quoting Can we still remove never-published apps from Google Play?:
Well, the answer is that the strategy still works. If you've never
published the app, you can remove all traces of it from Google Play
and another publisher account can then upload an app with the same
package name. All you need to do is deactivate (if necessary) and then
delete all .apk files and the app will disappear from your developer
console.
If the app was ever published, this will not work. You can unpublish
an app, but you cannot delete any .apk files that were ever active
while the app was published. (This behavior is undocumented as far as
I can find.) This is unfortunate; it would be nice to be able to
completely remove all traces of an app that was never downloaded by
anyone. Even better would be a sandbox area that emulated all aspects
of Google Play, including buying your own app (and would support doing
it through the emulator).
I also discovered that the delays involved in propagating changes to
all Google Play servers seems worse than it did a year ago with
Android Market. In one case, when testing license responses I had to
wait two hours after uploading (but not publishing) an app before the
response came back as anything from "NOT_MARKET_MANAGED".
You can do this by upload new apk with upper version
and the old Apk will deactivated automaticly
I am working on learning in-app billing but I am having a problem with the google's in-app billing example, the Dungeon one.
I have already set up the application, added my public key, and changed the API_VERSION to 1 in the makeRequestBundle().
I have already exported and signed the application and uploaded it onto Google Play and saved it as a draft with a few pictures and activated the apk. I also added both the sword_001 and potion_001 as published in-app purchases!
Next I installed the signed app onto my phone but when I try to purchase either the sword or the potion I get an Item unavailable error
The item you requested is not available for purchase.
I even tried on a different device to make sure it wasn't because developer's can't purchase their own products, and I get the same message on both devices.
What have I missed?
Check your versionCode. It can't be higher than the last published/unpublished version in any of your distribution channels (prod/beta/alpha).
In app billing seems fraught with pitfalls, but this is what I found that affected availability of items for purchase and also suitability of application:
My code for what it was worth was strongly based on the Google Android demo, but I stripped out a lot of the complexity. I have a feeling that having got it to work a better result would be produced by writing it all again from scratch.
I got the static test product ids going first.
Despite what the documentation says, it seemed to me that the purchase item(s) must be published, even when using a test account. Mine didn't work when they weren't, anyway, and I waited quite a long time to see if they would start to work as others have suggested - they still didn't.
You (I anyway) can't publish a purchase item without publishing the app, so what I did was upload and publish the app, create the purchase items, publish them (big button at the bottom of the page), then unpublish the app again. This seems to leave the items published.
The app must be signed in the usual way (I did this by exporting from Eclipse) before uploading, but what isn't so obvious is that the app you load to the mobile MUST also be signed in the same way - ie a (debug signed) version loaded to the device by Eclipse - run or debug - isn't going to work.
They also both need the same version number, I think. Not 100% sure. If so that would unfortunately kind of imply that customers with old versions installed can't purchase anything without upgrading.
When the app is uploaded to Google, it can take several hours before it becomes available and you get all the right responses for the in-app billing. I find 1-2 hours typically.
I suspect the other comments on this subject about whether you use a gmail or googlemail test account might be red herrings, but for what it is worth, my test account is gmail.
I did come across a useful little note on the internet somewhere about how to change your primary account on the mobile without having to do a hard reset (and consequently losing everything), but unfortunately I haven't managed to find it again.
What I did find though is that one can have several google accounts on the mobile, and then select the one to be used by Google Play.
Hope this helps somebody. I have to say its a pretty complicated system, with not many switten down answers, and I nearly gave up on it.
If your app are on closed alpha testing, you have to sign in with your test account to Opt-in URL; https://play.google.com/apps/testing/{your.app.namespace}
My experience on this error is:
Make sure to upload the signed APK to developer console.
Make sure to install the signed APK on your device not launch the app in the debugger.
Make sure to create a test account in your developer console.
Make sure to sign in your device with your test account.
Make sure to create in app billing in your developer console and finally activate the item from the console!!! (this is the one that got me after fully following google's tutorial)
It's no longer sufficient to just upload an unpublished draft apk to test in-app billing. What you need to do is upload an apk to the alpha or beta apk section on the Developer Console. Then, you need to publish it. If you also have a draft apk in the Production APK section, be sure to delete it before you publish. Otherwise it will be available to everyone.
Publishing an alpha or beta apk makes that apk available to only those testers that you specify/allow.
Here is Google's documentation on this:
https://support.google.com/googleplay/android-developer/answer/6062777?rd=1
Well I found a solution to my problem. I wasn't able to get Google's in app purchasing example to work but I was able to get this InApp Billing Tutorial to work using the steps I mentioned in my original post.
If nothing else this may be helpful to someone to see all of the steps that need to be done to test one of the in-app billing examples.
Also had this problem for a couple of days and searched around a lot. I found this guy who said deleting the app and then reuploading fixed his problem, and that actually worked for me aswell.
Try that, delete your app from the developer console entirely. And reuppload a new signed apk and set it up all over again
Publishing the app did the trick for me(and leaving it published (!)). I had to wait a bit for Google to update their database as well, as mentioned elsewhere, changes on Google Play are not immediate.
Anecdotal Supplement: If you have an existing app in the portal already and you want to test a signed version, but not upload it into the portal for distribution. Do the normal steps to build a signed version BUT use your latest version code that is uploaded into the portal. You will will be able to do a quick and dirty test of purchasing (you can't upload this version on the Google Play portal, but it's a means to an end for a localized test (or even as a way to allow side loaded distributed versions/flavors that use Google Play for billing legitimately.)
3:)
Check if your device have more than one account then remove other accounts and keep the account you have entered in play console then it will be solved.