Report global and per channel notification os blocks. Users that disable push notifications in the OS settings will be reported as soft opt-out.
Report timezone, locale and application updates
Do not force notification title from Android 5 onward
Upgrading
We've created multiple helper methods to help you work with installation properties, they will simplify your application code, check them out:
setProperty()
unsetProperty()
addProperty()
removeProperty()
getPropertyValue()
getPropertyValues()
We've also created a simplified version of the installation properties, called tags.
They are mere labels that you can add or remove to the installation with no hassle:
Do not hide local notifications not for WonderPush (#8)
Better preserve the aspect ratio of the in-app HTML attachment
Internal improvements to reduce the number of API calls.
Mark old API methods as deprecated
A few documentation fixes and improvements
Cleanup of pre iOS 9 code
Upgrading
If you use the manual AppDelegate forwarding and do not use the setupDelegateForApplication: method, you will need to forward one new method to WonderPush: application:didRegisterUserNotificationSettings:.
We've created multiple helper methods to help you work with installation properties, they will simplify your application code, check them out:
setProperty:value:
unsetProperty:
addProperty:value:
removeProperty:value:
getPropertyValue:
getPropertyValues:
We've also created a simplified version of the installation properties, called tags.
They are mere labels that you can add or remove to the installation with no hassle:
WonderPush releases the first push notifications platform for Web and Mobile which is GDPR compliant and full-featured starting €1 / month.
WonderPush supports all major native mobile and web platforms, provide a RESTful API and an online dashboard to design notifications and analyze their impact.
Why choose WonderPush
Up and running within minutes
Our mission is to help you get the most out of push notifications on your website and mobile apps without tearing your hair out. We're working hard to develop SDKs that are powerful, easy-to-use and well documented, allowing you to get started in just a few minutes.
Easy to use
An online dashboard for Marketers and a friendly API for Developers. Our customers tell us how easy it is to deliver the best messages to the right user and take advantage of the power of push notifications.
Faster than the competition 350K messages sent per second . That's 21 million messages per minute. With WonderPush, your users do not wait and your message arrives in real time on their screens before those of your competitors.
Full featured starting €1 / month
Rich formats, automation, realtime analytics, powerful segmentation... All features are included and you benefit from evolutions without ever having to pay more.
Used daily by 5000+ developers
WonderPush is global and already used by famous publishers in the fields of media, ecommerce, sports and games.
Using WKWebView to display HTML in-app messages instead of deprecated UIWebView.
Some methods were renamed. See the upgrade guide for more
setRequiresUserConsent()/setUserConsent() to freeze the WonderPush SDK until user provides consent, if you opt for this strict mode
GDPR methods to download and clear data.
Removed collection of some device capabilities that were not useful
Howdy v3! What happened to v2?
We have dropped the leading 1. in the version number. It was meant to identify the version of the API the SDK was build to work against, but in practice it only made the numbering longer and made less obvious that we follow semantic versioning.
Version 1.2.x.y was the v2 of the SDK, in semantic versioning lingo, while version 1.1.x.y was v1.
Cocoapods already imposed us to use a 3-groups version so we were already using 2.x.y there.
What are the breaking changes?
We've dropped support for iOS 8, which amounts for around 0.1% of active iOS versions. Note that all iOS 8 devices were eligible for iOS 9.
We've also renamed some functions while providing a clear and easy upgrade path instead of bluntly breaking things and calling it a v3.
Completely overhauled integration, with automatic initialization, Firebase integration reuse
No need for WonderPushInitializerImpl anymore, thanks to the automatic initialization. This means less code! See the integration guide for more
Some methods were renamed. See the upgrade guide for more
setRequiresUserConsent()/setUserConsent() to freeze the WonderPush SDK until user provides consent, if you opt for this strict mode
GDPR methods to download and clear data.
Collect Advertising ID only if dependency is linked to the project
Removed collection of some device capabilities that were not useful
Howdy v3! What happened to v2?
We have dropped the leading 1. in the version number. It was meant to identify the version of the API the SDK was build to work against, but in practice it only made the numbering longer and made less obvious that we follow semantic versioning.
Version 1.2.x.y was the v2 of the SDK, in semantic versioning lingo, while version 1.1.x.y was v1.
What are the breaking changes?
Migrating to Firebase made us drop classes that were no longer used, and we took the opportunity to remove some things while we were bumping to v3.
That said, we've deprecated some functions and changed the integration while providing a clear and easy upgrade path instead of bluntly breaking things and calling it a v3.
Fix another cause of non-deterministic java.lang.SecurityException: Caller no longer running, last stopped +Xs because: timed out while starting in JobIntentService.completeWork
Fix a non-deterministic java.lang.SecurityException: Caller no longer running, last stopped +Xs because: timed out while starting in JobIntentService.dequeueWork
Fix SDK initialization on some Honor and Huawei devices that block external Service call used by OpenUDID.
We got rid of OpenUDID, using an app-local UUIDv4 instead to be totally user privacy-friendly, including starting from a fresh state on application reinstallation.
Read AdvertisingId, unless ad tracking is limited, to help multi-project owners perform cross-project analysis and segmentation.