I'm very new to development and would like to create an app for an android TBS game that I would also like to build on later by developing a desktop application. I'd like to know how to go about storing user data in a secure way that would allow the user to be able to sign in on a possible future desktop application. From what I've read on data storage, I think what I need is to store a sheet containing fields for the user's email, password, username, and a class containing player specific stats on a web based service. How can I also take advantage of google play services to help me with this? Thanks in advance
You could start by looking into Firebase, a platform that was acquired by Google and has seen some great overhauls lately. It gives you free storage and database space (up to a certain level of usage of course) and works cross-platform for Web, Android and iOS.
Check out https://firebase.google.com/ for the docs and some quick-start guides as well as presentations from the latest Google IO: https://www.youtube.com/user/Firebase/videos
Android Game Services allows you to Store user data, to set achievements, to share informations with social medias, to make a leaderboard and to make a multiplayer game.
https://developers.google.com/games/services/
You should use them for cross platform purpose.
You can check Android Doc in storage options:
Data-Storage
If you want share in future the data with desktop, you will need the data in some online storage. Check Firebase, from Google, or Parse.
Firebase
Parse
I run a chat service where people of all nationalities are welcome. The problem is that they can't communicate. I don't have enough users to create different chat rooms for each language.
I'd like to provide an automatical real-time translation integrated in the chat, which is programmed in plain Java.
I don't want to hack google translate or do something like that.
What are my options?
There are no options unless paying a lot of money for this service.
There is a Java client API for Google Translate (but it is an unofficial one). You can find it at http://code.google.com/p/google-api-translate-java/
I am planning to automate the telephone balance enquiry system. I am planning to build an App that takes card details from user and automatically dial in to a telephone balance enquiry system get the balance and update the balance every day. Can any one please help me to solve this problem . Thanks in advance
check out http://www.voxeo.com/. I think you can use it..
If you could write this in .NET (C# is VERY similar to Java), use Velocity from Glorsoft. Velocity is Winner of Best Development Tool at IT Expo 2011.
.NET will allow you to integrate easily with other systems e.g. databases, web services.
It can definitely do what you want.
There are some posts on Stack Overflow from some of our customers - take a look.
Disclaimer: I work for Glorsoft.
As Raveesh pointed out Voxeo's Prophecy is a good solution for this. You can get a developer version for free to try this out. I wanted to add some additional information on how this would work. You will need to dial out to the other IVR which will require using CCXML. Voxeo has some good examples on their website on how to use CCXML for outbound dialing. Once the IVR on the other end answers the phone the CCXML will pass control to a VoiceXML application. You will need to program this VoiceXML to playback audio files that represent the telephone keypad input (DTMF) a user would perform, or if it is speech recognition the voice input it is expecting. You can find pre-recorded audio file for DTMF on Voxeo's website as well. Your may have to program in some delays (recorded silence) in your VoiceXML application to make the audio files play when the other IVR expects them. This will be required if the balance inquiry system does not support bargein, which allows users to bypass listening to prompts and provide input right away.
I am looking for best practices while developing in-app payment apps on android?
How do you you store the data on android so that the information is not wiped off by an upgrade nor is it easily visibly to prying eyes? The data essentially says that this user has already paid for the app.
I have worked with many apps that does in-app billing, across other mobile platforms like Java ME, BlackBerry, BREW etc. The one sure way of doing this is to keep information on server. The app can do the processing, and/or any other kind of billing transactions, but the final authority for this should be server side. That way, app upgrades, uninstall etc, will not have an impact on billing (assuming we tie the user to a unique identifier like SubNo, client ID, Phone number, MEID etc).
Does anybody know if via the google api in java
I can create google accounts programmatically.
Yes
(ish)
The Admin SDK Directory API allows you to create accounts which work with Google tools (Gmail, Calendar, etc.) but are not #gmail.com / #googlemail.com accounts.
This is used by companies to automate creation of accounts for online google tools when new users are added to networks and similar scenarios.
User management is documented here.
This replaces the provisioning API which was deprecated in 2013.
NO
The only possible way to do this would be to use a web automation framework. Python is great for web automation using tools such as mechanize. I've never done it in Java, but you should do a google search for java programmatic web browser or java web automation.
On top of that you would have to incorporate an OCR package to beat the captcha.
There is a reason that google, nor anyone else, allows the programmatic creation of accounts. Spammers would have a field day. Within days there would be no valid accounts left for any new users to use. In short, it would be a disaster.
As others have pointed out, you cannot create Google consumer accounts (ie, #gmail accounts) via any sort of API. It would create a field day for Spammers. To make it difficult for Spammers, Google uses tactics such as CAPTCHAs to prevent abuse.
But, you can create Google Apps accounts via their Provisioning APIs. A Google Apps account is basically a white labeled version of Google Apps (Gmail, Calendar, Docs, etc) that is under your own domain name.
For the same Spam concerns, your Google Apps account would have to be either a Premier domain (where you pay for every account you provision) or an Educational institution (I assume some sort of verification process for that). So, since you have to pay for each account, it's not a huge risk for spammers (unless they want to pay big $$$ for each account.. very unlikely).
It depends on your definition of create account...
it is possible to create an account inside a google group, or domain. By using the code below you can create accounts for your google group/domain. For this scenario YES you CAN create a google account.
However, if you want to create a google account as in #gmail.com... I really have not found a way to do it programatically.
Here is the link of where to download the google api, and the Documentation.
https://developers.google.com/google-apps/provisioning/#creating_a_user_account
Good Luck.
import sample.appsforyourdomain.AppsForYourDomainClient;
AppsForYourDomainClient client = new AppsForYourDomainClient(email, password, domain);
client.createUser(String username, String givenName, String familyName, String password)
The real answer is YES.
The fact is that we don't know (yet) how.
The proof is that an account can be created from any android device without any captcha, without a phone number and without an email.
So the secret is inside android codebase.
MAYBE?
I am going to write an answer that has not been written so far, but which could actually break the EULA (if that's the case, can someone point out the specific paragraph of it that prevents this?).
The solution is: redirect Google's CAPTCHA to your user.
Assuming your software has a user, you could present them Google's captcha so the account is created by them, for your system, without them knowing.
Would this work for you?
You can do that theoretically, but Google's account creation - like other services - uses image recognition for confirmation that you're a user (aka CAPTCHA) and you need to be able to write image recognition program that can do that.
AFAIK there's no programmatic API from Google to create accounts, since doing so would open them up to spammers/scammers/etc... which the CAPTCA was meant to prevent.
Why would you do that? I am not sure Google allows that in the first place as far as EULA.
I am going to assume that you aren't telling us your use case which is really to have a convenient way to use google logins on your site (because that's the closest you'll get and be legit). I would check out using OpenID in the same way SO does.
Actually, you can create if by google account you mean your own domain (those business ones using google).
You can check it here
YES...
Actually you can do that. You can write CUrl scripts and can use different APIs available to break the captcha.
Breaking a captcha is key thing here.
The fact that Google's account creation UI requires a CAPTCHA is your first hint that the answer is NO.