I've developed an Android application that uses in app billing and I want to do some testing.
I've only one Andoid phone (my own). Therefore, when I try to do the testing, I can't buy the selled item (cause I'm the editor).
Is there an alternative way to do the testing?
Thanks
Sorry, you cannot do this testing without having a primary account with another, non developer console, email ID.
You will have to reset your device to factory settings and login with another account. There is no other way.
I would suggest to buy/borrow a device specifically for testing which can still run a recent version of the Google Play client. It's the only way.
Related
We have a G Suite account, and I would like to manage some of our company owned tablets as kiosk displays using the Android Management API. However, it seems to require an arbitrary "personal" Gmail account, instead of allowing a G Suite user to use it.
To provision a device, you need to create a policy. A policy needs to be assigned to an enterprise.
Option 1: Trying to link an existing enterprise
You can get your G Suite Organization ID from here, and this ID is apparently also your Enterprise ID. The API needs it in the format enterprises/id, e.g. enterprises/abcdefg
Unfortunately, even after authenticating with a super-admin, any calls to the API are met with
{
"error": {
"code": 403,
"message": "Caller is not authorized to manage enterprise.",
"status": "PERMISSION_DENIED"
}
}
Option 2: Creating an enterprise
A Quickstart Guide is available that makes it easy to create an enterprise, create a policy, and then provision devices. Everything works well when we use a personal Gmail account and I could successfully provision a tablet into kiosk mode. As soon as I try to use a G Suite account, I am met with:
"G Suite is not currently supported by managed Google Play Accounts, please choose a non-G Suite account to continue."
Do we need to create an arbitrary Gmail account (e.g. ourcompany-devices#gmail.com)?
What happens if we then later wanted to provision devices of third parties? Would everyone's devices then be linked to an enterprise of an arbitrary Gmail user?
Any help would be appreciated, thank you.
We did option two. However this means that you cannot put something onto the private play store.
Android Management API is currently not compatible with GSuite.
You need to use a Gmail account to create a Managed Google Play Enterprise in order to use Android Management API.
If you plan on provisioning devices for third parties, it is suggested that you create a separate Enterprise for each in order to link each device to the intended enterprise.
You can read about Managed Google Play Accounts here
I've published apps to our internal 'enterprise' and also to our pseudo-enterprise (option 2).
I don't think there is any other way unfortunately. Just make sure the gmail account credentials are very secure and I think it is reasonably safe.
After doing option 2 you do get an organization ID. One thing that isn't mentioned in the documentation is that things don't happen instantly and much of the process is poorly documented. I spent hours searching up solutions for issues I was having and the solution ended up being I just needed to wait a few hours.
If you are publishing first-party applications on Google Play you can make them available as private apps to both your internal enterprise and the pseudo-enterprise.
Here is the Android official site about In App Purchase testing:
https://developer.android.com/google/play/billing/billing_testing#test-purchases-sandbox
Does this mean I have to buy 2 separate Android phones if I want to test my own In app purchases myself? Is it possible for me to personally do it with just one phone.
I am buying an Android phone today. So if I need to do anything special with that phone in setting it up, please let me know.
As I get from description you can setup new test account and use it for testing purposes. To be sure that app will be installed from your test account you can remove your personal account from the device. As for me, I just check the account in Google Play before making purchase.
So you just need to:
Setup test account in the Developer Console.
Add test account to your device
In Google Play choose your test account
Make a test purchase
There is no need in second separate 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
In iOS, we have provisional profiles to setup device UDIDs. So, our app will install on devices only which UDIDs are added to provisional profile at development stage. We generally added only customer device. So only customer can install the app. The build will not install any other device.
Is there any feature like above in Android?
NOTE: I knew we have feature in Google Play. But, I need this feature while development.
You can filter which users (not devices) can install your app.
In order to do that, use Google Play Developer Console to publish beta application APK - it can be installed only once user joins specific Google+ community or Google group.
So you have to create such a group or community and make it private - this will allow you to filter out which users can join.
After those users join, you will send them test URL and app will be installed on their devices.
Have a look at this Google Play Help article for more details.
The Play Store's method of doing this is via the new beta-testing feature. You add your testers to a Google+ community, and they get access to your application via the Play Store.
If you don't want to use the Play Store, you can implement a restriction within the app itself to accomplish this. The Identifying App Installations Android Blog post has some great information on how to uniquely identify devices. You can use one of these methods to check the device's identifier against a list of "approved" devices in your Activity's onStart(), and simply call finish() if the user is not "approved."
I'm designing an API for an Android app. An iPhone requires a user to get an Apple ID, do Android mobile devices in the same way 'require' users to get a Google ID?
Ideally I want to be able to assume that users downloading our app on Android will have a Google account, so that we authentication via the Users and OAuth APIs is a snap.
You're not required to have a Google account associated with an Android device, though most people probably do. You do need one if you download apps through the Market, but you can also side-load apps, use other markets like the Amazon App Store, etc.
For both the Android phones that I've bought in the US (an HTC G1 and an HTC G2) it has forced me to enter my Google account information (or create a new Google account), before I could do anything on the device (similar to how the iPad forces you to connect it to iTunes before you can use it).
Some people suggest clearing the data associated with all the Google apps on the phone to disconnect the device from the Google account, or you can just remove the account through Settings -> Accounts & Sync.
I suspect it boils down to exactly how the carrier delivers the phone to users. If you want your app to be available globally then you should assume many users will NOT have a Google account.
Generally, users need a Google ID to use Android Market. As far as I know, they do not need one to use other markets (such as Amazon). What are you authenticating?