I want to identify the crashes in my SDK when some other apps integrate my SDK in their app.. during the use of my SDK in other apps, if crashes happen anywhere in my SDK code, then I want to identify that.
What are the ways to implement this type of integration in SDK?
To integrate Crashlytics you need to configure Firebase for your app package.
Since the app package is not your app package, but the package of the consumer of your SDK, it's impossible.
I believe there is an alternative way of doing so (check out Thread.setDefaultUncaughtExceptionHandler(...) and wrap the existing one), but I recommend, as been said in the comments, to check how you can legally do it.
I'm guessing (pure guess so don't take my word for it) that you need a written consent from you SDK customer and also runtime consent from the end user.
That being said - I strongly recommend not to do it.
Alternative legal way to do it:
Create an exception class, dedicated for your SDK. For example, if your SDK is called "My SDK" so create MySdkException.
Only throw MySdkException from within your SDK.
Embed libraries within your SDK and wrap their exceptions with MySdkException.
Don't obfuscate MySdkException.
The most important - kindly ask your SDK consumer to report any crashes caused by MySdkException.
Verify that your SDK customer asks the end-user to agree Crash report.
Related
I know there are different questions to this task, but I don't get much information about it.
I found out that AdMob is part of firebase now, but there's a way to use it without firebase. Besides there are no tutorials or information about eclipse - is it necessary to use Android Studio or is it just not documented?
Actually it does not matter if it is part of Firebase, because all of it belongs to the Google Play Services. To get the AdMob classes, you just need to add com.google.android.gms:play-services-ads:10.0.1 to your build.gradle file (see the full list of all possible services here) which already explains your second question.
Android development in Eclipse is not supported any more. There is no Eclipse plugin any more. Google forces you to take Android Studio now.
This question might seem very poor, but still I want to know the answer. Because for the first time I am using Flurry.
Whenever I go to Flurry dashboard and try to download the SDK, it asks me to select and application. The app which I select has some category such as game-arcade, app-lifestyle etc.
As per my knowledge an SDK is universal for all types of applications/ games. It just differs with application Ids.
If I am correct why they ask me to select an application for downloading SDK> Does Flurry SDK different for each application?
If SDK is universal, Flurry must change its SDK download option. It is very annoying and confusing.
No, flurry does not provide a new SDK for each app, they are asking you to select an app so that they can provide you with the correct API key.
Since the page you are redirected to contains a piece of code which you can copy paste into your app they just make sure that the correct API key is there.
I recently released an updated version of my app on the Market and would like to know how many users have updated to the latest version.
I've looked in the Market help docs and on the Google Market dev forums with no luck.
Is there a way to get this metric from directly from Android Market? or do I need to add some 3rd party analytics to my app in order to track this. I'd like to avoid that if possible, as currently my app requires no permissions and I get feedback from my users that they like this and use my app over similiar apps because of this.
But if I do need to go down the road of using a third party analytics service, is using Google's own SDK the simplest solution out there to collect this stats?
As I am understanding your question,
Android market doesn't provide like this (get stats on specific app versions installed from Android Market), Try some third party analytics (I am using FlurryAgent.jar but what you needed I never tried). Try it.
Analyze your android application
Nice way to analyze your android application behavior: http://www.flurry.com/
Flurry is just small package that catches events inside your application and sends it to flurry server from time to time. You can see what functions are most useful in your application and even analyze exceptions remotely via web interface.
(This is my personal opinion for this question, if any other solution or third party library available then I don't know)
I am very new to Android development and I am trying to create a very basic app that makes use of the VoiceRecognition facility.
The resource site here says to just paste the sample code into the project:
http://developer.android.com/resources/articles/speech-input.html
However eclipse doesn't seem to find/like the line "import com.example.android.apis.R", what it underlines is the com.example part of it, and as a result all the "R." methods give errors (e.g. findViewById(R.id.list))....
Is there something that I am not doing? Am I supposed to set up the project in a particular way in order to use these code samples?
Thank you very much
Check that you have the Google APIs installed in your environment.
For each SDK version you target, you can choose to use the one with the Google APIs or not. Speech input utilises the Google APIs so you must have them installed and target them in your app and Eclipse.
EDIT:
Detailed instructions for using the Google APIs in Eclipse can be found on the Google Maps Overview page.
You'll need to pay particular attention to the Set up a new Android project section (which also covers reconfiguring an existing project) and Set up an Android Virtual Device. You may or may not need to reference the speech library in a similar way to the Add a uses-library element section.
I've programmed my app with Eclipse and android 2.2. However I think that my app would work for previous version and so it would allow more users to use my app. The problem is that I'm not sure... for instance I'm using Gestures which I think is a more recent feature... but otherwise I'm just using some Button, ListView, and WebView.
So is there a way to detect automatically the Minimum Sdk Version needed ( by checking which function my app is using) ?
I can't download the SDK of each previous version of android and test it until it doesn't work ...
Thanks
I can't download the SDK of each previous version of android and test it until it doesn't work ..
Why cant you? This is what the rest of us do. Create various different Emulators and test it out. I've released many apps by testing this way.
Take a look at the Compatibility page on Android's developer website.
It has some great information on how to make sure your application will work on different versions of Android and how to stop users from downloading the application if they do not have the right features on their device. In your case that would be the gestures feature.
To manage this, Android defines
feature IDs. Every capability has a
corresponding feature ID defined by
the Android platform. For instance,
the feature ID for compass is
“android.hardware.sensor.compass”,
while the feature ID for Live
Wallpapers is
“android.software.live_wallpapers”.
Each of these IDs also has a
corresponding Java-language constant
on the PackageManager class that you
can use to query whether feature is
supported at runtime.
To be totally sure you have to test your app against every platform version you target. Otherwise users of your app will do it for you (and that might be not good for app rating).
On the https://developer.android.com/about/dashboards/index.html page you can see the latest up-to-date platforms share info. So just decide how many potential users you're going to leave without your app :)