Product Update - July 2020

Joel Oliveira
Joel Oliveira
Jul 31 2020
Posted in Product Updates

SDK 2.4 beta, Links and much more...

Product Update - July 2020

Summer is in full swing and July brought you more features, a whole new SDK to cope with the upcoming iOS and Android updates and plenty of improvements throughout our platform.

SDK 2.4

We've released our next SDK version in beta, which includes important new features to allow you to quickly adapt to the upcoming iOS 14 and Android 11 changes. Besides important improvements and the occasional bug fixes, the biggest highlight in this release goes to the considerable iOS and Android changes to Location Services.

In both iOS 14 and Android 11, there are some changes to the way your app requests and is able to obtain location updates. Starting with 2.4, when you enable location updates for new users, the default authorization permission will request the While In Use mode, which is not enough for those apps using geo-fencing or beacon monitoring. It is now up to you to change the way you request or upgrade these new users to the Always mode either by introducing a new onboarding mechanism or by changing your existing onboarding flow.

For existing users that already gave this permission the current implementation should suffice and not much needs to change.

On top of that, in iOS 14, users can now allow your app to only receive a location with reduced accuracy. When this is the case, your app will no longer be able to collect an accurate location for geo-fencing or beacon monitoring. For those users, our new SDK provides your apps with functionality that will allow developers to design UI that can be used to promote what they are missing and conveniently request a more permissive state or allow users to change those definitions in the device's settings.

Besides these major changes, there is also new functionality for the Inbox, allowing you to mark all unread items as read with one single method. This new version also supports Universal Links (iOS) and App Links (Android) allowing you to provide users with a smooth transition when opening your app from a link in a web page, email or SMS message.

Finally, this version also includes support for Huawei Mobile Services which makes it possible for you to port your existing Android app to Huawei's AppGallery, while benefiting from our powerful features for Push Notifications, Location Services, Contextual Content, In-App Billing and Digital passes.

For those of you who want to try this release now, in iOS you can simply update your pod file to:

pod 'notificare-push-lib', '~> 2.4-beta'

In Android you will need to change your gradle file to use our pre-release maven repo:

repositories {
    jcenter()
    google()
    maven {
        url "https://github.com/Notificare/notificare-mvn-repo/raw/master/releases"
    }
    maven {
        url "https://github.com/Notificare/notificare-mvn-repo/raw/master/prereleases"
    }
}
dependencies {
    implementation 're.notifica:notificare-core:2.4.0-beta-2' // if your app needs to run on Google Play Services
    implementation 're.notifica:notificare-core-hms:2.4.0-beta-2' // if your app needs to run on HMS
    implementation 're.notifica:notificare-location:2.4.0-beta-2' // if you never gonna use location or geofences, you can leave this one out
    implementation 're.notifica:notificare-location-hms:2.4.0-beta-2' // if you never gonna use location or geofences, you can leave this one out
    // implementation 're.notifica:notificare-beacon:2.4.0-beta-2' // only needed if you wanna use beacons
    // implementation 're.notifica:notificare-scannable:2.4.0-beta-2' // only needed if you wanna use scannable items
    // implementation 're.notifica:notificare-scannable-hms:2.4.0-beta-2' // only needed if you wanna use scannable items
}

For more information on HMS support, you may want to read our documentation.

iOS Universal Links & Android App Links

As announced in a previous post, we are excited about this new feature in Links. This new type of Links will allow you to create branded short URLs that drive users directly to a specific part of your app from a link in a web page, email or SMS message. Pretty much like all the other types available for you in Links, this new type will also allow you to automate how you segment users or create personalized follow-up messages after users open those URLs.

Wallet Passes

This month we've also added two new relatively small improvements to our Passes. For native iOS passes, it is now possible to add the following properties:

Grouping Identifier

For tickets or boarding passes, this new option will allow you to group two or more passes of the same type and present them in a specific stack in the Wallet app. This is a useful feature if you are looking to groups passes that are tightly created, like boarding passes for several connections on the same trip or several tickets for the same festival.

Sharing Prohibited

When this option is toggled ON, your users will not be able to share the passes with other devices. This is ideal for those passes where the share functionality in the Wallet app does not make sense, like a personal membership card.

New in Email Components

We've also introduced several new features in our own email composer. You are now able to add all the Google fonts available via their API to your messages. On top of that, you are now able to add your own custom CSS styles in any message created with our Notificare Components, allowing you to effectively override default styles or import any other type of web fonts you want.

SDK v3

We can also unveil some information about our upcoming major SDK upgrade planned for Q2 of 2021. Now that development started, it's full steam ahead until next year, where we hope to offer you the most innovative SDK we've ever created. Designed with modularity in mind, it will be written natively in Swift and Kotlin but with great support for Objective-C and Java. This new approach will allow us to distribute our libraries via several lightweight XCFrameworks and Maven Artifacts, allowing developers to pick only the functionality they need.

We are also committed to improve substantially all the existing functionality and introduce several new concepts for better debugging and implementation analysis. It is our most ambitious release so far and we can't wait to show you all the new possibilities.

Want to know more?

This was a busy month and we hope that you are exited as we are about all the new things our team was able to accomplish. As always we remain available for any question you might have via our Support Channel.

Keep up-to-date with the latest news