Pushlink catches all unhandled exceptions in your app by default. It doesn't block the natural exceptions life cycle.
You can also send handled exceptions calling PushLink.sendAsyncException()
.
Pushlink always sends the exceptions asynchronously and guarantees its delivery.
If you also want to get the last 100 LogCat's lines, just add android.permission.READ_LOGS
in AndroidManifest.xml
Limits include handled and unhandled exceptions.
PushLink was not designed to be a remote log system. Try not sending network issues or something like that.
Each app has its own sending limit.
It's calculated using the last 24H and it isn't cumulative.
Formula: sendingLimit == planQuantity * 2
Ex1: free plan (5 installations) can send 10 exceptions in the last 24H for each app.
Ex2: 200 installations can send 400 exceptions in the last 24H for each app.
The messages you are going to see in the Android log system:
REGISTERED
Exception sent.
QUEUED
Exception not sent but queued due to: java.lang.Exception: Any reason.
LOST
Exception sent but rejected: Invalid API Key. Probably caused by the wrong configuration.
Exception sent but rejected: Invalid Package. You probably never uploaded this app.
Exception sent but rejected: Invalid APK Hash. Probably you are in a development environment. You did not upload this version yet.
Exception sent but rejected: The application [app name] has exceeded the 24H sending limit.
//When sending exception manually, PushLink doesn't print it in logcat. You have to print it by yourself.try {...} catch (Throwable t) {Log.e("MyApp", "Some", t);PushLink.sendAsyncException(t);//orMap<String, String> moreInfo = ...PushLink.sendAsyncException(t, moreInfo);}...//You can also disable the automatic exception catch/sendPushLink.disableExceptionNotification();...//To receive LogCat last ones 100 lines just add <uses-permission android:name="android.permission.READ_LOGS" />