I wrote a piece of code that works with internet services of a company that does not allow the usage of other clients than their ones.. But I did it, it faster, better, you have favorites... I mean its a IMPROVEMENT. I contacted them and offered them y solution but they did not agree.. (Its a chatting service, nothing special)
BUT still I would like to publish it.. So my questions are:
I can forget about Google Play / Android Market, because you are registered with a credit card linked (real name) right? (Will probably publish only on my blog (anonymous blog) and some unofficial markets)
Creating the APK - are there any steps that I have to watch? I have to sign the application, shall I use a fake name?
I mean I am not doing anything bad, I just want to share my solution but still not get into problems or so...
Found something really interesting:
http://www.howtogeek.com/106175/the-top-5-alternatives-to-the-android-market/
Related
So, is there a realiable way to update enterprise/intern apps remotelly?
I work in a company that spreads across my state, including some areas that the access is dificult, so I can't send someone to locally update the app everytime there's a new release.
I'm working with Android/Java at the moment, and we also use Azure DevOps to store the repositories.
I tryied App Center from Microsoft but didn't understood if that could help me update my app or not.
Also, we don't want to publish the application to the PlayStore and make it public. Unless, of course, if that's the only way.
Thank you for your time reading this, I will keep searching something related to this and also share here any solution that I can find.
There's different ways to do so I'll say some but there's definitely more.
You can use Push-link, read about it it does more or less what you are looking for.
Perhaps could work uploading the .apk to Google Play and just publish it for beta testers, here's an old Google Play Private App Guide pdf and perhaps it doesn't work anymore but give it a try.
Also what you tried with App Center perhaps what you are looking for is Distribution In-App Updates
Note: This is not recommended to avoid by passing Google Play to distribute an app
The company I work for wants me to publish their app as hidden in the Google play store and from what I have found that is not really the case unless a) you create a Google apps work account and invite all clients/staff to join and b) keep it as a beta and use clients/staff as testers. Is it really any other way of publishing an application as hidden (not searchable) and accessible only by link lets say?
You can use private channel for distribution or check alternative solutions like crashlytics
Only people who joined the beta test program can download your app. I don't know if you can really hide it from other people because in that case it would be still accessible in other ways such as the package name.
If there is no option for that, then probably that is not possible
But you might be searching for this: https://support.google.com/googleplay/android-developer/answer/2623322?hl=en
Edit:
If it is not a requirement to publish the app explicitly on Google Play, then you could upload it to your own web server and only let staff/clients have access to it.
You could then also implement a little updater in the app itself so it is kept updated.
Think about it. I have already made such an updater and it is not difficult to implement it.
Btw, if you don't mind, you may take a look at aptoide.com where you can publish apps but without being visible to other people.
Is there any service that can be used to monitor how a beta-user engages in an android application I made?
I've looked into different analytic solutions, but they all come with the disclaimer that I should not send "unique identification information about the users" - fair enough, and I can appreciate the privacy concerns. But I need to dig that information during my beta testing.
Currently, I'm emailing the apk files to a few people to install the app and test on their phones. They give me feedback, but not all of them are good at describing exactly what they are doing. I need more detailed information - like how they opened the app (was it a fresh open, or did they relaunch it from the running app list?), what exactly they did in the app and if possible, to get some debugging information too, since some issues are unique to the specific model of phone they use.
In a nutshell, it means that I need to dig into my beta-testers devices - and they all agree to it too, so its not like I'm spying on them or some such. (At the very least, I want to record their behavior in my app with permission)
Is anything like this available? If not, are there any other approaches I can use to solve/debug issues that generate from end-user behavior? (NOTE: I'm not talking about app crashing/hanging. The app is stable - its just not working correctly)
Stuff that doesn't seem to work:
http://acra.ch/
This looks more like a crash reporting tool than a usage/monitoring tool. :(
http://try.crashlytics.com/
Similar issues to above
Paid levels of BugSense come with a feature called Bread Crumbs, which I've never used but which sound like what you need.
Android Market's "Crash errors" page is very useful for developers.
But how to use it in a team?
The crash information page should be visible by all developers, but I can't give my password as it would allow anyone to fiddle with the published APKs.
QUESTION: How to share the crashes reports? Is there an API or tool to export them regularly?
Copying them manually is not an option.
As a workaround, by now we are using our own crash reporting system (could have used ACRA).
Write your own Thread.UncaughtExceptionHandler and call Thread.setDefaultUncaughtExceptionHandler( instance ) to register it.
Thus you have all the control. It works fine if you don't have JNI parts.
It is not as easy as relying on Google Market, you have to collect information on your own and to send the report to your server, maybe send a email to your group is convenient.
In later of this year, we have seen several improvement of Market publishing interface, perhaps we should complain together in google's forum.
It is now possible to share your Google Play account with other users:
https://support.google.com/googleplay/android-developer/support/bin/answer.py?answer=2528691
By doing so, the other users can see that "Crash errors" page.
I'm going to answer your question (but you may not like my response): I must admit that we copy them manually out of the market into e-mails to the development team. Given that this process is labor-intensive, we probably don't do it as often as we should. I have not been able to find an API or tool for getting at the crash reports found in the Android Market.
I just looked at ACRA -- it looks pretty interesting. Thanks for the link, I will give it a try.
I was recently at AnDevCon II in San Francisco and saw http://www.crittercism.com there. I saw a 2 minute dog-and-pony show and it looked pretty useful. I don't know anything more about them than that ... I don't know if it is expensive for their paid version, if they're helpful, etc. I just am aware that they exist, they have a free version, and I have them on my "look into this someday" list.
Create a custom class that extends Log. You can overwrite all calls like Log.d, Log.e, Log.w etc, to post the log on a webservice. With a simple database, you can store the logs their, and share it to whoever you want.
How about BugSense: http://www.bugsense.com/
I was wondering what the most effective way of preventing people from stealing my application (downloading a copy of the .apk online rather than buying it).
I've spent a lot of time on one in particular (Droidbox) and won't be releasing Sync until I can guarantee that the people who are providing illegal copies of the pro version aren't able to.
Anyone implemented this? I've tried checking my package signature verses an the signature of an unsigned copy but it appears to be the same - perhaps I'm doing something incorrectly here. I'm unsure whether people actually distribute the signed .apk in which case I don't think signature validation would work to begin with...
Please note, this question is specific to Android Marketplace Applications - the difference being, application delivery is out of my hands and I have no way of linking between a legitimate purchase and an illegal download.
Now there is the new Google App Licensing available. For deeper information read about it in the android developer blog.
A short summary: Google provides a library that makes a inter process call to the market client on the phone. The market client will then ask the google servers if the signed in user has purchased the app and forward this answer to you. There should be a public key in you developer profile that you need to encrypt the connection to the google server to prevent spoofing of answers. You also provide a application and device unique id with the query to make it impossible to forward approved queries to another device and build something like an licensing proxy with one bought copy forwarding the IS LICENSED answers to other devices.
At the moment this service looks secure enough to protect even the more valuable apps in the market. I will give it a try and maybe come back and leave some more informations after I used it a little bit.
If your app is really popular like an EA game or something this wan't stop users from hacking it. To hack the app somebody has to buy it, then unzip the apk, and edit the bytecode of your app to think that the market send a correct answer. The new byte code can be packed into another apk and can be installed on every phone that allows side loading.
To make this harder you can always try to obfuscate your apk and make your bytecode hard to understand.
There is a single, useful connection between an application buyer and the developer through the marketplace, the forwarding email address provided by google to contact the buyer.
Utilizing the integration callback setting to send buy information to your own server, you can use PHP to send a unique identifier (registration code) to the buy via email (real time as the callback is shipped from google during a purchase. The user then uses this email to register their software using the unique identifier that is then linked to their android ID (or google account username) and the software is "activated" and guaranteed to be legitimate.
Obvious Questions
Why is this a suitable solution when it requires the user to read email? Our market are those people who are capable of buying an application using an android device. By using an android device, it is implied that the user has a google account which implies they know how to use email.
How do I use the email with the unique identifier with my application? Create a content handler in your application that handles something like "myactivator://uniqueid-or-something" which causes your application to communicate to your internal server that keeps tabs on activations. Embed this as a link in the email that the user can click on.
How should I generate the unique identifer? I'm going to use the email somehow - I'm fairly confident google has already made it unique enough to disallow any feasible method of contact information selling.
What about people who have already purchased the software? A lot of options here - none ideal or terrible.
Send emails to all previous buyers
Allow users to activate by typing in their order number (can be obtained by logging into checkout.google.com.
Why bother?
Because some of us put a lot of time into applications and saying "you should just accept pirating" is a slap in the face.
The people that are lax enough to use pirated copies of your application to access their DropBox are probably using their DropBox for piracy anyway. Forget those people. Let them go. Yes, it's a huge number of people I bet, but let's face it, those people were never going to pay you anything anyway. Focus on the parts that you can control, and forget the rest.
Focus on the Android users that use DropBox for their work, for their businesses, for their own code, for their finance, for their thesis, and/or for their private family pictures. 95% of those people, that have something of value in their DropBox, and that want it kept private, are going to want to buy your application (assuming it's good enough for them).
Let me use this analogy:
When it comes to hiring a locksmith to put a lock on your home, do you hire the guy that looks the part and takes $150 an hour, or do you hire the shady guy that is willing to sell you a stolen lock to put on your front door?
Release your own illegal copy in the best known forums and have it disable itself after a week and showing a message like
Thanks for stealing... I make my living with programming this app. The x Dollar won't hurt you and I could by my next meal and go on making great updates for you.
I think this is the only thing that you can do about it. People will always find a way to copy your app and all countermeasures will only disturb the users that paid for the app.
The people copying your app aren't your customers and they never will be. Just see their use of the program as a kind of viral marketing. At least they are talking about your app and maybe some of their friends will then buy the app.
General shareware advice here - license the software to the individual. i.e. provide a license key that is personalized to their username. They'll be much less likely to distribute a key if it's got their name on it. You can probably automate the backend fulfillment of the order, to provide custom keys. Have your "Pro" version operate in trial mode until the name/key are entered.
Don't leave your computers so that someone can steal your applications from there.
Or wait.. Did you meant you don't want others to copy your software? Then.. not publishing it in the first place is likely your best option.
A bit related link: http://news.cnet.com/8301-27076_3-20003120-248.html
You neither have any mechanism to estimate amount of illegally copied software. Enjoy your attempts from stopping the rain even though entities bigger than you have attempted and failed.
There is a new tool in the wild that seems to good to be true:
Automatic Application Licensing from Keyes Lab.
I haven't tried it yet but if this works it sound like something you want to use in your high priced android apps.
If anybody tested it leave a comment or edit my answer with personal feedback.
I have the same issue. I recently found a number of my paid apps available for free download on this site: https://dlandroid.com/
I asked them to remove my app APKs, but I'm sure there are many other similar sites. Presumably they have a rooted phone which gets one valid copy of the app from Google Play, then uploads it onto their web site to distribute to all and sundry for free.
You could spend endless amounts of time ensuring that there are no pirated copies of your apps on the web, or implementing complex piracy protection measures, which would most likely make things less convenient for your genuine paid users. But I guess in the end, you have to be prepared to make a trade-off and accept that a certain level of loss is inevitable, and hope that most people are honest and get your app through the proper channels rather than risk malware infection by going to dodgy sites like this.