Now it works on Android 8 (Oreo) [Build.VERSION.SDK_INT >= 26]. It requires a new permission
<uses-permission android:name="android.permission.REQUEST_INSTALL_PACKAGES" /> in AndroidManifest.xml
Now it works on Android 7 (Nougat) [Build.VERSION.SDK_INT >= 24]. It requires a
<provider android:name="com.pushlink.android.FileProvider" android:authorities="your.package.name" android:exported="true" /> in AndroidManifest.xml
Now pushlink cleanup old downloaded apks.
New CUSTOM strategy is available. (NINJA is deprecated)
Fixed ninja NPE when using broadcast receiver
Ninja fallback. (If broadcast receiver is not present, it uses the classic ninja.)
Commons network exceptions now are debug level in logcat
Ninja now works in android 5 or higher. Its requires the
<receiver android:name="com.pushlink.android.NinjaReceiver" />
Wrong judgment. Ninja does not work in Android 5.
Ninja.setExtraShellCommand() deprecated in favor to
Available from Maven and Gradle by jitack
Pushlink.hasPendingUpdate() does not ignore the idle status anymore (Pushlink.idle method)
Now Ninja is working in Android 64 bits
Ninja does not execute the
export LD_LIBRARY_PATH=$LD_LIBRARY_PATH:/system/lib command anymore
Ninja.setExtraShellCommand() for custom workarounds
Now Pushlink logs the entire stack trace. (No more clipping)
Fixed critical bug when using android:process
New api method
Pushlink.setMaxExceptionQueueSize() (to avoid huge cache)
Download resume. (Very welcome!)
Bug fix that would send old exception assigned with wrong version label.
Bug fix that in
Pushlink.addExceptionMetadata() when key == null. Not allowed anymore.
Now it prevents to send the very same exception twice or more.
Less data transfer when using the metadata api.
Pushlink.setCurrentStrategy() are independent of start method.
Some timeout adjustments
NINJA strategy improved. Now working in a large variety of devices.
Now PushLink uses only the 443 port. Goodbye 6670 port.
Download method improved to avoid memory overflow.
Popup strategies no more play notification sound.
Now popup strategies ask for launching the app even in ICS or later.
Now it sends the last 200 lines of logcat. (no more 100)
Now exceptions has a handled/unhandled label
PushLink.addExceptionMetadata(). This metadata is going to appear ONLY in the "Exceptions" tab of the web administration
Important bug fix. PushLink.addMetadata wasn't working fine.
TCP client improvement. It was aborting connections sometimes.
Installation checking for duplicated ID's improved.
Method name changed!
PushLink.setCurrentPopUpTarget() is now
Now PushLink grabs screenshots for unhandled exceptions.
Bug fix. Calling
PushLink.start() had no effect.
Package change. Now all classes are under "com.pushlink.android"
Critical bug fix. Heartbeat was not working when devices were sleeping.
Device ID is back. Now the user MUST set the device id. Now the web administration show off-line installations again.
Api change to support device ID: Now
PushLink.start() has a brand new fourth parameter. The device ID.
Method name changed from
Pushink now has two lightweight threads. They were named as "PushLink-PushListener" and "PushLink-Heartbeat".
Huge logging improvements
Critical bug fix. Low socket/connection timeout was killing some APK downloads.
Now exceptions are always send lazily with delivery guarantee. PushLink holds the exception (sqlite persistence) until it can be sent to the server.
PushLink.sendSyncException() was removed.
PushLink.hasPengingUpdate(). This method checks if there is a downloaded but not applied update. It also notify the user again.
Log messages improved
PushLink.sendExceptionNotification() has changed to
Fixed NPE when
Pushlink.setCurrentPopUpTarget() called before
When popup strategies were configured before PushLink.start, the popup title would appear "Application" instead the real application name. Fixed!
Log messages improved
Lighter. HttpClient code improvement. Less data transfered between server and client.
Popups strategies now supports screen rotation
It is ready to show online installations in the web administration
Fixed some minor bugs that could happen in push notification
PushLink.addGlobalInfo() has changed to
Fixed a NPE that would appear in some cases
Fixed some confusing log informations
PushLink.idle(boolean) added. Especially useful for NINJA strategy to update your app only when it is idle. See the usage in JAVADOC.
Now it sends device coordinates if the GPS is enabled. This is sent only once when the app is started.
Bug fixed. It could happen to receive several notifications to the same version in some specific situations.
NINJA strategy has been created. Only for rooted devices. BETA!
Full redesing to support premium features.
PushLink.checkForUpdates() in no longer available. There is no sense using it the new push architecture.
PushLink.start() method has changed. Now it has only three parameters
Notification now play standrd device sound
Automatic exception catch/send notification is the default.
Added two method.
Push.addUserInfoForExceptionNotification() is now
Push.addGlobalInfo. This information is going to appear in all exceptions notifications sent.
Push.sendExceptionNotification(Throable) was overloaded with
Push.sendExceptionNotification(Throwable, Map). Now it's possible to send more information about the exception context in Map.
Professional JAVADOC added
Push.requestUpdateRightNow is now P
Push.checkForUpdates() does not block the thread anymore.
Push.checkForUpdates bug fix. It was rushing the download but not the notification.
Now if exceptionNotification is set to false and you call
PushLink.sendExceptionNotification() it will not throw an exception anymore. It only will log: "You must start pushlink enabling exception notification before using PushLink.sendExceptionNotification or PushLink.addUserInfoForExceptionNotification. Check PushLink.start method exceptionNotification parameter."
Exception notification now sends LogCat (Need READ_LOGS permission)
Exception notification now sends the whole stack trace
Fixed some exception notification bugs
API Redesigned. All PushLink's method are static.
There is no method
Now we have exception notification! Recieve emails when your app crashes.
New API method
Pushlink.requestUpdateRightNow() to rush version check.
Now popups strategies work nice with
Fixed java.lang.NoClassDefFoundError: com.pushlink.android.SSLHandler when runnig on ADT emulator
Pop Up strategy support
Internal storage bug fix