I am new to the inappbilling integration for android.I am using the develop the following link
http://developer.android.com/training/in-app-billing/preparing-iab-app.html#GetSample
and also TrivialDrive import my eclipse and generate to the apk and export apk in googleplaystoreconsole of drafts not in published and also created to the product item and put in product id to my activity and
add to the String base64EncodedPublicKey="RSA public key". finally run the code showing following screen
also ways showing this screen .i didn't understand what is going on rightnow.please help me anyone known and idea about this advance thaks to all.
Had the same problem. I contacted as well and got this response from Google
Thank you for contacting Google Play Developer Support and reporting the behavior you're seeing with in-app billing.
We recently made some changes to our systems and we are now requiring an app to be published before testing. We are currently recommending to publish your APK to the Alpha channel in order to test licensing, in-app billing, and expansion files. There is no need to create a special testing group in the Alpha channel to test these features, however the app must be published and not in draft mode.
We apologize for the inconvenience and are working to update our documentation to reflect these changes.
After publishing my APK to Alpha (as I haven't launched yet) and waiting an hour or so, my IAP test purchases started working again.
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 a free app on Google Play, which works normally. I decided to add some features and user needs to pay to unlock them. So I added In app billing to my app. I want to know: what is the best way to test in app billing in my situation.
I tried this way: create new application (in the same google play console as existing app) => upload new apk (which includes in app billing) as Alpha version of new Application.
The first time my new app is suspended by Google (because I use the same logo, screenshots as existing app).
I think if I replace them with other pictures, everything will work.
But I'm not sure that 's right way to test IAB.
Can anybody give me some advices? Thanks a lot
You don't need to create separate app under different package name. Just increment the version number of the current app and publish it under the same package ID as an alpha version. The in-app billing works fine in both beta and alpha releases.
I want to send the application to the beta testing Google Play. My question is: how to do in the application so that at the end of testing people could update the app and enjoy working version. How to organize it will be in the API and in the application? Share your experiences, links or something else. thank you
There's nothing to do within the application or over some API. Right in the Developer console you're given the ability to promote your uploaded version to the Beta or Production stage. See the following screenshot:
So as soon as your app is ready for the masses, just push it to Prod and everyone will be able to download and/or update it.
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.
I've read quite a lot about in-app billing and testing but I still didn't find the answer to few questions:
How can I test real purchases on draft (unpublished) version of the app? The products/items need to be published => app need to be published. Is there a way to publish items without publishing the app?
The whole testing process is quite unfriendly to developers, shame on Google :(
I successfully tested my application using test static responses, now I need to test it on real items without publishing the application. The only way I can think of now is to publish the app for e.g. Kenya, publish the items, test and then un-publish the app.
Any ideas will be very appreciated. Thanks.
So I think I figured it out. All I needed to do was publish the app and then unpublish. After this I was be able to publish items and test real end-to-end purchases on these items. Very intuitive and developer-friendly :)
No that'll be like selling stuff (your items) that you don't have the license to sell. (For e.g you need a pharmacy to sell drugs.)
I'm sure the people who wrote this article must have considered your use case. From the article:
You do not need to publish your application to do end-to-end testing. You only need to upload your application as a draft application to perform end-to-end testing.
Also I read this here:
An item's publishing state can be Published or Unpublished . To be visible to a user during checkout, an item's publishing state must be set to Published and the item's application must be published on Android Market.
.
Note: This is not true for test accounts. An item is visible to a test account if the application is not published and the item is published. See Testing In-app Billing for more information.
The products become published as soon as you publish the app.
And your app doesn't have to be published to do the real testing, just upload as "draft".
The app must be signed.
The whole testing process is quite unfriendly to developers, shame on Google :(
Luckily there are libraries that can help with testing, for example android test billing. This library is the In-App billing implementation for the emulator, which was tested in the application Horer horaires de RER.