I want users to send textual feedback to myself(the developer) directly(without involving Google Play).
Hence, I can get the suggestions to improve my app directly to myself, instead of users writing negative reviews on Google Play.
I do not own a website nor have access to any server.
I do not want to use ACTION_SEND, as that opens an email app.
I'm an android beginner and this is my first app.
Maybe that data can be stored in a database(on cloud, common to all users) that I can access at any time I want?
After researching, I think GCM is supposed to be used, but I no idea how to go about it.
Please tell me the easiest way to implement this.
Thank You.
That is not what exactly what GCM is for. GCM is primarily for sending data from the cloud to the the devices.
You are correct in thinking that one option is to store the data in a database in the cloud. You could use http://pythonanywhere.com free account and build a web app that provides you endpoints which will save and retrieve data to a SQLite db pretty easily (if you have knowledge of python and server side web concepts).
Another perhaps simpler option is to use a pre-existing cloud database solution http://www.parse.com is a cloud backend that also has a free-to-use option that you can use to store arbitrary data. It is pretty easy to get up and running if you follow their many nice Android tutorials.
One last option I will present is to use a Google Spreadsheet with a Form associated to it. Once you create a form if you know the right url and parameters you can send a post request to insert arbitrary data into your spreadsheet. I've created a library that simplifies the process of uploading. GoogleFormUploader. If you need help getting your form set up you can watch the relevant portion of my video tutorial covering this topic
Related
I'm developing an android app. And now I have a problem. I need to store app data somewhere on server side.
For example I want to store user rating by other users and some other data.
I don't want to develop my own server and API.
I mean I want any cloud-base platform for it.
What can I use for server-side data storage?
Fire-base is the Best tool which replaced the own custom server concept for small and new developers. If you need any further detail and help let me know, I'll help you. It'll provide you online real database and storage.
But if you need some clod functions to process data on cloud you can do so by using cloud functions and utilize it as a Server also.
Fire-base
You can use Firebase>>Firebase
Its totally free for small user. And not need to web related Code
For the past few days, I've been trying to understand what exactly is Firebase. I am in need of some more 'beginner-friendly' answers on the subject. My intention is to create a backend for my Android project. For my previous project , I used a GoDaddy host , PHP, MySQL and it did work just fine.
I am in need of stuff like these :
Storing string data. Like user email , password , profile picture path , number of friends etc.. (in a single row)
Uploading and downloading files. Video , audio
Creating a real time chat messaging system inside the app.
I am currently reading Firebase guides on user authentication. For example there is a method for signing a new user with email and password , but what if I want to store more than just email and password? Is Firebase fully customizable? Is it easy to use , or is it designed for professional developers only?
Firebase is fully customisable yes.
If you want to store more than an email,password etc, you can do so my creating a well structured JSON first. You can then try and map this to firebase db.
Firebase is a good and stable backend as a service platform and it is used by plenty of professional apps. It is fairly easy to use. Follow their youtube channel for tutorials. They have very good tutorials and explanations about how things work. I am in the exact same boat as you, learning firebase.
You may also want to look at alternatives like pubnub and pusher for the requirement of yours. They work in a similar way.
Hope this clears some of your doubts
Is there any downsides to using Google Account? Is there any limit?
Why ask this? It's because I played some android games for research and found out many of them don't save the user data just warning the users removing the games will remove whole data as well.
Ironically, all of them provided world rankings using Google Accounts.
So, I became curious and wanted to get some opinions of experienced people if there is no problem for beginners like me to use Google Account for backing up data.
The data is going to be created with SQLite so I cannot let users save in their own SDCards. If Google Account is not good for saving data, I need to get an FTP server instead. (I'm not sure if I can deal with it well, though.)
But I really wanted to use Google Account, so was just about to start to study it.
Can I just use Google Account for user data? or better to get my own FTP server?
There is something that Google offers which is known as the Android Backup Service. It's precise use case is when you want to save user's data online. There are several advantages to this:-
Easy API to call Backup Service
No need to maintain a separate FTP server, hence reduced cost saving both domain and hosting charges.
Unlimited Backup space for your user's individual app installation.
In case the user deletes the app, your app's data can be retrieved from the Android Backup service.
The developer page gives a fair amount of idea to anyone wanting to implement that kind of data backup support cost-effectively.
I am programming android app and I need to store simple data on server. I need to store only users email address, his nickname, and who invited him to the app. Is there some way how to do it, instead of setting my own server?
I was searching for some simple way, like some easy API for sending it to google server, so I wouldn't need to care about security.
You may use Parse for storing data upto 1Gb for free. Also see https://parse.com/products/data. I heard from those who used it, that the API is quite straight forward.
I am planing to implement an app and I have come to a point where I don't know what is the best approach.
Scenario:
I have an app where I am making a todo list and I am adding 3 items. I use my phone for this.
Then I take my tablet and want to continue adding another task. Then after a while I take my wife's phone and want to add 2 new tasks.
Basically I want to have a very simple way of storing the tasks online and be able to sync it with the app.
I am seeing two possible ways:
have a web server with a database + web service calls. This has the disadvantage of having a host paid, learn some extra mysql + web service techniques.
store somehow the data on cloud and allow the app by login to access an account which stores the file. I am thinking here at something like Google Drive / Dropbox. But I don't know how I would be able to sync only the updated values, not the whole file. Because I am thinking, if I store all the tasks into one file, each time I update the file, I'll need to upload it fully, which is not the best approach.
I am open to any advices. What approach would you recommend ?
There's also Google Drive's "Application Data" folder.
https://developers.google.com/drive/android/appfolder
This has the advantage of using the user's storage space.
I would look into either Google App Engine or Amazon Web Services. They both give you free allotment of usage per month and if you go over then you start paying, chances are you wont get past the free tier for a while.
AWS is a bit more mature than GAE currently and seemed to be a bit easier to implement that GAE was when I was researching them
Take a look at the new training class for sync adapters:
http://developer.android.com/training/sync-adapters/index.html for the basics of sending data from your device to a server.
On the Android device, I suggest you store your tasks in a content provider. This helps you keep track of updates since the last time you synced. You can then query the provider during your sync, send only the data that's been updated, and store the data on the server.
You should probably store the last update time on the device, so you can tell if the server contains data that isn't yet on the device. Remember that you'll have to download tasks as well if you want all devices to be in sync.
You can try Google's Firebase. Firebase provides SDK for Android and iOS devices. And also, firebase supports offline and syncing. Firebase also provides object storage service. It easier to create firebase app than you think. Have look at this firebase's firestore service.
You can take a look at our Rethync framework (freeware with source) . Using it you can simplify the task of detecting modifications and sync only updated data. Next, Rethync provides both client- and server-side API so you can create your own service (and host it on the web side) or you can write your own transport for the cloud service of your choice (we will provide some transports in future, they are under development now).