I uploaded my signed app to the android market, I made some in app contents that I've published (but not the app).
Now I trying to purchase my own products on a real device: do I need to test with the same signed .apk I uploaded to the market? Or a "normal" one I can launch with Eclipse?
Cause when I launch my app with Eclipse and send a requestPurchase(), a pop up tells me that this app version is not ready for market purchase...
You do not need to publish your application to perform end-to-end testing with real product IDs; you only need to upload your application as a draft application. However, you must sign your application with your release key before you upload it as a draft application. Also, the version number of the uploaded application must match the version number of the application you load to your device for testing.
And as it's write on google's doc, the version number of the app on the market and of the app on the device are the same :/
You need to use a signed APK, the same one you uploaded to the app market.
You also need to use a different gmail account to your developer account to access the market.
There's a good tutorial here: Simple In App Billing with some alternative explanations
The testing developer guide is pretty thorough: Testing Billing Statically
You just need to sign the apk (in Eclipse : Android Tools -> Export Signed Application Package...) and reinstall it on the device (with the device attached to USB : adb install _YOUR_APK_).
There's also a way to test your app on the emulator with your own products before going to the real money : android test billing library.
This library is the In-App billing implementation for the emulator, which was tested in the application Horer horaires de RER.
Related
I have a general question about android and debug in-app purchase.
I have developed my application and I am stuck to test the purchase of my product.
If I launch the application on my phone from Android Studio I have an error, something like there is no product. I think my application is not identified/accepted by the Play store.
If I create a release and install the application from the play store I can purchase the product but I do not know if it's working. My application react like if it's ok but I can't check it. I use a test account consequently I do not pay and I do not see the purchase in my account. Is there somewhere we should see the tests purchases ?
Finally, now if I try to launch the application on the phone from Android Studio, Android Studio tell me the sign key is different and I need to uninstall the application first.
I think my problem is there, I should be able to have the same sign keys this way I can test/use the play store from android studio directly ( and have the debug mode ...).
I have configured the build process with the same configuration that in "Build -> Generated signed bundle" but it's not working.
Is there something like Google sign the app with a specific key to authorized it to access to the play store ?
How should we debug the process of purchase in the play store ?
I've setup Firebase App Distribution on our projects with the provided "App Tester" android app which is amazing. Although I identified one major issue that I know a lot of people using this tool are experiencing and from what I saw, nobody actually knows the reason behind it.
The issue is : I download my app from the Play Store. Then I deploy a new version of my App on Firebase App Distribution to test it, go to App Tester, click on my app and click on install. I get the error "Installation failed" with no more details. To resolve the issue, I must uninstall the app from my phone and click install again to have a successful install.
The reason behind this is that Android does not allow a signed APK to be updated by another APK signed with a different key.
The APK that I download from the Play Store is signed by my CI but then it is signed again by the Play Store with their signing feature (can enable/disable it I know but I prefer to keep it enabled). The key used by Play Store to sign again my APK is private and nobody can access it.
But the APK that I upload on Firebase App Distribution with Fastlane is signed by my CI, not Play Store. So the key is different and that's why App Tester fails installing the app.
Can't I tell Firebase to do the same process of resigning my APK with the key used by the Play Store ? It is really annoying to uninstall my app whenever I previously installed it from the Play Store. More importantly, it's annoying for the testers at my company that don't understand why they get this error and don't know what to do...
Question: The application that you share with your testers using app distribution, does it have the same app Id (eg. com.xyz.abc) as the one on playstore?
There cannot be two signed applications with same app id on a single device.
One of the solutions will be to update the development app id to be different than production app id.
Eg.
Production app id - com.xyz.abc
Development app id - com.xyz.abc-dev
This will also enable both apps to co-exist on the same device.
I'm making a Multiplayer game using Google Play Game Service for connection. I'm at the point where I need to test connection between devices and it seem like I need a different account for each device.
I tried create new Google Account, but Google force me to verify account with a phone number that had not been used to verify another account. I only have one phone number.
The question is: How developer test their apps in this situation ? Do they have multiple phone number just for verify account ? (need to afford multiple phone bills just to keep them active ?)
Some developer are using Android Emulator. Just download the emulator system image that includes the Google Play Services, under Android 4.2.2, from the SDK Manager. However, it is highly recommended to run your game on your physical test device.
Must verify that you have set up the test account that you are using to log in to the app. You don't need to have multiple account, just export an APK and sign it with the same 'certificate' that you used to set up the project in Google Play Developer Console. Then, install the signed APK on the physical test device by using the adb tool.
For more information, use this as your reference: https://developers.google.com/games/services/android/quickstart#top_of_page
I want to release a new version of one of my paid apps, but now being free with In App Billing v2 integration.
The thing is, can I test the new version with test accounts? Under normal circumstances, for a brand new app, I would upload the APK as a draft and then test purchases from devices configured with test accounts, that's OK. But in this case when I try to test the app the famous "This version of the application is not configured for Market Billing" appears. Is that a problem related to the fact that the APK currently published in Google Play is v1 without In App Billing and in my device I have installed the v2 with In App Billing, despite the fact I have uploaded v2 with In App Billing as a draft?
Just to be clearer, my scenario is:
I have currently published in Google Play the v1 of my app, that is a paid app.
I have uploaded as a draft to Google Play a new v2 of my app, now free with In App Billing integration.
I have installed in my device by hand that new v2 of my app.
I can't test the app, because the "This version of the application is not configured for Market Billing" error appears.
Why? Because I have already published the v1 of the app that doesn't include In App Billing?
You have to make sure the version and signature of the draft app and the one you are using for testing are the same. You also need to wait a few hours for the draft to become active. Not sure how well the paid->free transition is supported though, although it is supposed to work by setting the price to 0.
Well,
the main reason you are getting the message is because you just uploaded your apk
you can check the android site: Testing In App Billing
in point 3, you can see:
Make sure that you have uploaded the signed APK for your application to the Developer Console, and associated one or more in-app products with your application. You don't need to publish the application on Google Play to test it.
Warning: It may take up to 2-3 hours after uploading the APK for Google Play to recognize your updated APK version. If you try to test your application before your uploaded APK is recognized by Google Play, your application will receive a ‘purchase cancelled’ response with an error message “This version of the application is not enabled for In-app Billing.”
This is for V3 but I guess the part of recognizing the new apk stills the same
I set up test users so that I can test that in-app billing works, but I am a bit confused by the process.
I am following the android developer billing test guide here: http://developer.android.com/guide/google/play/billing/billing_testing.html
It has a few confusing points. It says not to publish your app, but somehow I need to get the app on my phone. So how can I get an un-published app on my phone?
Also, am I supposed to make an area on the app with the 4 product ids that google reserves and try to buy those, and then once I see it works, just get rid of those buttons to buy those test products? Is that how this is meant to be done?
Thanks!!
It says not to publish your app, but somehow I need to get the app on
my phone. So how can I get an un-published app on my phone?
There's no need to publish your app to get it installed. Create a signed build (See http://developer.android.com/tools/publishing/app-signing.html). Then install it on your phone using adb install <apk name> The SAME build you must upload to your playstore dashboard. After uploading, you will see 2 options:
PUBLISH
SAVE
Click on 'SAVE'. After saving your uploaded app, you will be able to add InApp products for that app. You MUST save and publish your inapp products in order to test them.
You should upload the apk to your developer account and fill in the mandatory fields and save it without publishing it and then you can create in-app products for the application and publish it. please note that the in-app products must be published before testing billing. But you don't require to publish the application to test billing.
Try the MoVend library for Android. it supports google play in-app billing, paypal and many more.
http://www.movend.com/
How to sign an android apk file
To install it you can use adb or you can send this file by mail. Then download in the device and install it.
Check that Settings > Applications > Unknown sources is checked in the Device.
If you are having problems implementing in-app purchase I recommend you the library AndroidBillingLibrary.