Our clients often acknowledge that installing and updating SDKs represents a genuine resource allocation issue, whether internally or with a service provider. And rightly so.
However, based on my ten -years of experience in developing Batch SDKs, avoiding regular SDK updates has tangible consequences for our clients.
Aborted campaigns, limited use cases, incidents during peak sales times, constant back and forth to support, and so on have various negative effects. And they often come at the worst of times.
Let me explain this to you in this article, with the help of concrete examples.
Batch SDK update: get notified in real time
Please read our dedicated Help Desk article to learn how you can be notified of any Batch SDK updates.
The benefits of regular Batch SDK updates
Let's go back to basics. Batch’s regular SDK updates are great for our clients for two reasons:
-
Continuously benefit from Batch’s complete value and innovations. With new features constantly being developed and improved by our tech and product teams, the Batch SDK — recognised amongst the top 80 in the world by Google – is your way to remain at the cutting edge of MarTech.
-
Technical complexity of OS updates made easier. New OS beta versions are released every year, requiring more or less significant changes. They may concern notifications, UI, or background work, etc. On Batch’s end, we analyse these changes, then check and anticipate how they impact Batch and our clients. We then modify the SDK to integrate the differences. During this process, we make sure that our clients have absolutely nothing to do, except update the SDK.
Batch SDK update: a simple, documented and sequenced process
For most Batch SDK updates, our clients don’t have to do a thing. Our tech and product teams strive to ensure a simplified and optimised developer experience for our clients, especially when it comes to developing Batch SDKs.
Clients only have to take more action when major ecosystem actors like Google and Apple force us to change how the SDK works.
In this specific context, our product and solutions engineering teams provide guides and clear and complete documentation – very much welcomed by our clients – which are easy to roll out and adopt.
Our versioning - version management method - also lets our clients execute their update process gradually.
Before the entire version upgrade, Batch’s versioning enables our clients to apply a patch with confidence and without making any API changes. This means you can run the highest priority changes as quickly as possible.
Adapting to mobile environment constraints by staying in control of your timing
As developers who have already developed apps, we understand that our clients don’t always have the resources to constantly update SDKs, especially when there are many of them.
However, based on our experience, we know that postponing this update will ultimately cost more and often hit at the worst of times, such as sales highlights (Black Friday-Cyber Monday, special offer events, etc.).
By updating before you have to, you control the timing.
It means you won’t get overwhelmed by events. Because when you’re in the thick of things, the probability of bugs increases.
Updating your SDK regularly is **essential in mobile environments **for two main reasons:
Reason 1 for anticipating: mobile deployment times that cannot be reduced
Unlike a website, where you just have to refresh to see the update take place instantly, there is a lag time when an update is deployed on mobile environments.
After deploying the SDK on the Batch end, there are three essential steps that our clients cannot forgot:
- Integrating the new SDK version within the app takes time for our clients’ developers, whether they are internal or external;
- Uploading the app on the Store also takes a bit of time;
- Having end users update the app, which is still a mixed bag.
Each of the steps takes a set amount of time that cannot be reduced and which you should not overlook.
And if Batch releases a new feature on the mobile channel, the earlier the SDK update is made available, the more users can benefit from it.
Compensating for technical debt upstream will thus prevent you from having to postpone specific in-app or push notification campaigns by several weeks or even months.
Reason 2 for anticipating: high frequency of mobile updates
Unlike more mature operating systems like Windows, the mobile environment is changing very rapidly, which multiplies the associated technical risks, particularly compatibility risks.
In this environment, adopting a wait-and-see attitude of “So far, so good” is a sure-fire way of having unwanted technical problems you will discover much too late.
Android 13, iOS Tracking, Oreo, and so on. Avoid turning the failure to prepare into a shortfall
Take a current example notifications permission on Android 13 for our clients.
Some clients still enjoyed compatibility despite not having a Batch SDK update. So when these clients suddenly decided to update, they didn’t realise right away that the test device was not necessarily 100% up to date.
Then one day, the percentage of users with an up-to-date OS on the store started to grow. And there, those clients started cross-checking weak signals, saying to themselves: “Our SDK never managed Android 13, and all our users who have Android 13 no longer receive notifications.”
That realisation from the CRM team was already too late. The failure to anticipate had already become a substantial shortfall. Campaign performances and ROI were down, costing several tens of thousands of euros. The damage had already been done.
We had a similar experience with some clients on Android Oreo.
Those clients didn’t update their Batch SDK either. For their teams, the SDK was still compatible, and their developers told us “Don't worry, we use Android Oreo.”
One day, of course, the teams realised that Android was no longer displaying notifications, affecting their deliverability. From there, Batch’s Client Services teams had to assist them with the latest version update for the Batch SDK, released a year before.
In addition to the months of missed opportunities caused by these deliverability issues, the resources deployed for this forced SDK update become very costly, especially the time-consuming debugging operations.
And we can use the same scenario for the tracking on iOS and many other use cases.
With the risks of increased technical debt, invest in your future by saving time
In conclusion, we recommend you guarantee at least one SDK update per year, for three main reasons:
1. Control technical debt. Updating takes some resources, but we guarantee this will always require less effort, time and money than when a bug or technical incident forces you to do so, or during a critical moment such as sales events, Black Friday-Cyber Monday events, and so on.
2. Reduce avoidable back and forths with support. Even if the Batch teams are highly responsive and always have incident resolution in your best interests, save yourself the hassle of overdue debugging operations, that could have been handled upstream. Such operations are demotivating and time-consuming.
3. Continuously take full advantage of Batch's functional innovations. More use cases, greater campaign performance, and even more marketing productivity.
For our latest SDK versions, read our documentation changelog: iOS / Android / Web.
Please read our dedicated Help Desk article to learn how you can be notified of any Batch SDK updates.
Arnaud Barisain-Monrose
Staff Engineer