Add your SDK
Home / SDK
Enjoy the best mobile SDKs news, tips & tricks, sent to you by mail

5 Tips on Configuration for Mobile SDK Developers

May 23, 2017 3:51 PM

The deployment cycle of a mobile SDK is different than that of a mobile application – no matter how often and quick your release cycles are, you’re still dependent on the release cycles of the hosting app. This fact makes it harder to test and tweak your code based on production experience.

Configurable parameters to the rescue! Making your code configurable by adding parameter control from the server is not limited solely to the development stage of the SDK lifetime, it can be extremely beneficial in production as well. All part of the deal when you don’t control when new versions and code will be rolled out to users. So, while using configurations is a good practice for mobile apps and SDKS alike, for SDKs it can literally become a ‘make it or break it’ issue.

The basic need is for your code to behave differently based on server-side configuration. The configuration can include different behaviors for different customers, A\B testing, general parameters used throughout the code etc.

The implementation details can vary between different platforms, languages and use cases, but there are a few common issues to consider.

Continue Reading

All You Need to Know About Mobile App Attribution & Analytics SDKs

September 28, 2016 12:44 PM

We’ve recently released a new Android Mobile SDKs Data Report, revealing the top SDK players in each category, as well as the most popular SDKs categories.

One such popular category is of Attribution Analytics SDKs that allow apps to track the source of their app’s installation. Most app publishers that acquire users through paid installs and engagement campaigns have implemented at least one premium Attribution Analytics SDK, which is probably why this category is among the most popular. Our report discloses which Attribution SDKs are the most popular (depicted below), as well as a geographical drill-down (which SDKs are being used by different developers around the world).

Soon we will publish a new report and will show the trends of Attribution SDKs in the past few months.

SafeDK Data Report: Attribution Category

Because this is such a popular and important category, we’ve decided to dive deeper and share some ways to optimize their cost effectiveness.

Take for example the SDK Adjust. It has recently sent an email to its entire customer base, updating them on a significant price change. And the industry responded accordingly. Many developers started looking for alternative attribution tools or ways to operate their paid media activities without implementing paid attribution tools.

Many of our colleagues started thinking and asking questions. As did we.

We have decided to write this post in an effort to help app publishers with their queries and provide some answers to hot questions. Why use attribution SDKs, when are they “just beneficial” and when are they are a must have, how much should you pay, which tools you should choose etc.

Continue Reading

The 3 Surprises Hidden in Your App’s Start Time

April 13, 2016 2:59 PM

What more is there to say about the mobile app start time? I’ve already written about it in the past, describing our research about what makes up the time from the moment you click on an app’s icon until you get a visual feedback.

But when Samsung’s Innovation Center in Tel-Aviv offered us the chance to record a podcast, we knew it had to be about the start time. After all, listening is better than reading, right? So Ronnie Sternberg, Maya Mograbi and myself headed over to Samsung offices to embark on a conversation about the mobile app start time. And what can I tell you? It was fun!

Some interesting points were made, not all of which were covered in my original post…

SafeDK is broadcasting from TLV Samsung’s innovation center , suppprting Israeli High Tech professionals, communities, entrepreneurs and startups.

Continue Reading

Your App Never Gets Featured? Here Are Some Possible Reasons

March 3, 2016 3:03 PM

A lot has been said about getting featured in Google Play or iTunes and, indeed, it’s a well-justified reputation. Being featured is a blast. True. You get a lot of high-quality users. However, the road to paradise is paved with all kinds of actions that need to be taken and some requirements that need to be met, that many developers are unaware of.

Do you match the standards of quality? Are you being a good developer?

Do you match the standards of quality? Are you being a good developer?

Once upon a time, being featured was almost a commodity. New apps were automatically featured, and just asking the app stores internal teams to feature your app was many times all you needed to do… but those days are over.

Today, there’s a hidden UX and performance standard you just have to meet, if you want your app to be featured in Google Play or in iTunes store. The top developers know it: if you meet with the app stores representatives they will provide some hints, but most app developers aren’t aware of the bits and bytes.  Battery consumption matters, crashes, and so forth, are side effects all app developers encounter. Where are you on the quality score graph? You better be somewhere high or ‘no soup for you!’. Don’t expect Google or Apple to let major performance issues slide. They know it all, and their stores teams are instructed to consider the users interests prior to everything else.

Continue Reading

Enough with the Mobile SDK Mess: A New Technology Is Born

February 9, 2016 4:05 PM

SafeDK is presenting at MWC – Set a demo meeting!

In a previous blog post I’ve written (Mobile SDKs: Use with Caution), I mentioned the potential risks related with integrating Mobile SDKs into your mobile app. ‘SDKs’ as in these off-the-shelf 3rd party tools that app developers integrate into their mobile app for advertising, payment, analytics, social and many other functions. We all know that SDKs are a necessity in the mobile development process, but not all app publishers are aware of how these SDKs can affect the app’s performance, stability, battery consumption, security and privacy.

After going through an extensive analysis of a tens of thousands of apps and hundreds of different SDKs, we realized that there are 2 major domains of problems when using 3rd party SDKs. Both are crucial:

  • Security and Privacy – SDKs may contain viruses, malwares, backdoors or, most commonly, piggy-bag your app permissions to access your users’ private data.
  • User Experience – SDKs may contain bugs, consume a great deal of battery power and data, crash your app, slow down your app, and so forth.

During the last few months, we all read about major SDKs-related issues: apps that were banned from the stores because of a specific SDK that violated Apple or Google regulations, an ad-network SDK which  displayed ads that were  incompatible with the app’s ‘spirit’ (e-cigarette commercial in a kids app, someone?), marshmellow incompatibility of SDKs in an app that was supposed to be compatible… and the list goes on and on.

Basically, app developers must all ask themselves the following, ASAP:

Do I really know what’s going on with my app's SDKs? Can I really vouch for my app when I use so many 3rd party codes?

That’s exactly what led us to establish SafeDK. I focused my entire career on mobile development, and like everyone else, I constantly implemented SDKs the messy way… It took me a while, but I finally realized I was out of control, using so many SDKs. But I sure wasn’t going to work on all these SDKs’ functionalities in-house, so I created SafeDK to provide an optimal and elegant solution to this dilemma. This is simply what we say: Implement as many SDKs as you want, in order to create a wonderful app in the shortest time-to-market possible, but use SafeDK to maintain transparency and control over the SDKs code.

Continue Reading

Here’s How SDKs Ruin (or Build) Your Retention and the Actions You Should Take!

December 8, 2015 12:40 PM

I know you already know about the importance of retention. I bet you’ve had it with general retention articles. I know I have.  So excuse me for not covering the basics of the need to take care of the app’s UI, bug fixes, and performance of communication channels. Instead, I want to talk about retention from a different angle – 3rd party SDKs. Almost everyone uses them. But did you know they may have dramatic impact on your retention, good or bad?

Most SDKs are there to help us, in the app business. And they do. Still, sometimes, 3rd party SDKs can actually damage your user retention. Hearing feedback from many app developers using SDKs, I have identified the three main weakness points of SDKs and user retention – Permission pitfalls, performance problems and UX issues. Fortunately, there are ways around each of these.

Continue Reading

5 Steps in Choosing the Right 3rd Party Tools (SDKs) for your Mobile App

November 11, 2015 1:44 PM

SDKs offer so much when it comes to developing a mobile app. As the mobile app industry has evolved, the amount of third party tools available has reached mind-melting numbers. This is both a blessing and a challenge for app developers.

Selecting those SDKs that are right for you is a skill. You don’t want to integrate too many SDKs, so you won’t lose control of your app entirely. You don’t want to be overly cautious and miss important capabilities in your app as well…

At SafeDK, we analyzed hundreds of thousands of apps and SDKs. We’ve talked to countless mobile app developers. We’ve established our SafeDK Marketplace, the one-stop-shop to find the best SDKs for you. This is why we can offer you the following tips to find the SDKs that best fit your needs. Define them, understand them and finally – find the right SDKs for you.

Continue Reading

Do You Know What your SDKs did Last Summer?

October 26, 2015 1:27 PM

Mobile SDKs, these 3rd party tools used in mobile apps, seem to be all over the news lately. And not in a good way. First, 250 apps were banned from the App Store due to an SDK they used that stole private user data. Then, 18,000 Android apps were found to be integrated with an SDK that stole users’ text messages (SMS).

This makes one thing crystal clear: use 3rd party SDKs with great caution and safety measures.

At SafeDK we constantly hear mobile app developers express their concerns about using SDKs on one hand, but we see that SDK usage continues to rise on the other. The same developers that share their unfortunate experiences and cautionary tales then turn around and use a few more without any safety measurements.

Don’t get us wrong, SDKs are a necessity, a fact of modern life. Love them or hate them, mobile app developers just can’t live without them. And the swiftness with which they make apps much more versatile is probably the reason for that.

But still, as an app developer you must constantly be on alert. The wrong SDK might be the end of your app and all your hard work and effort. Don’t think it can happen to you? Well, neither did the 250 iOS apps and the 18,000 Android apps that found themselves breached this past week!

Continue Reading

The Holy Gradle: Setting Up Your Android Build on a Build Server – Part 2

July 15, 2015 8:11 AM

In my previous post I went over some basic terms used by Gradle and the Android build system, and over the flow of the build. With these understandings at hand, we are now ready to go over concrete steps and set up our build server, without Android Studio, or in fact without any GUI tools at all.

For the sake of this post I will assume you are setting up your new build environment on a Linux server, and you don’t have the Linux GUI at your service, only the command line. Of course, it can all be set up on a Windows or Mac machine just as well.

Let’s also assume that your user on the build machine is called “user”, and therefore your typical home directory would be /home/user.

Now let’s go step by step:

1. Download and install the JDK

First download the JDK you work with. I have downloaded JDK7 from Oracle’s site. If your Linux environment doesn’t support rpm – you will need to download the tar.gz version and extract it, for example to /home/user/.

2. Download and install Gradle

You can download Gradle’s latest release from here. The binary distribution will do, no need for the complete distribution. I chose to use Gradle 2.4.

By the way, There is the option of avoiding the explicit installation of Gradle if you are using the Gradle Wrapper, but let’s leave this topic aside. Personally I think that if you are setting up your build server, the better approach is to explicitly download the Gradle version you want. Once downloaded, extract the zip file, for example under /home/user.

Continue Reading

The Holy Gradle: Setting Up Your Android Build on a Build Server – Part 1

July 7, 2015 10:47 AM

If you are using Android Studio, then you’ve seen Gradle in action. Yep, Gradle is the engine behind the build system used in Android Studio, which is, together with Google’s Android plugin for Gradle, responsible for building your Android application and producing the final .apk files.

Gradle is a powerful build tool, written in a simple script language called Groovy. It takes care of a lot of the plumbing related to building an application – resolving dependencies, downloading artifacts from repositories and determining which tasks need to run in order to build your app. Gradle then runs the tasks that compile, merge, handle resources etc until your app is ready. Gradle is also simple to configure. Typically, with a few declaration lines in your build.gradle you are ready to go.

But this is exactly what makes Gradle somewhat complex to understand, because a lot of the work is done under the hood, typically by plugins, some built-in (like the java plugin), and some being 3rd party plugins, like the Android plugin and the SafeDK plugin. If you are someone like me that likes understanding what’s going on behind the scenes – it’s not always that easy.

There’s of course a lot to tell about Gradle and the Android build system. So much, in fact, that this is just the first out of a two-part story (part 2 coming next week). In these couple of posts I’ll focus on a specific topic – I’ll try to guide you through setting up an environment where you can compile an Android application using Gradle, but without the Android Studio IDE. Why would you want to do that? Well, it has to do with buzzwords like “build server”, “continuous integration” etc. While you can build and deploy your app in Android Studio, if you have multiple people working on the app, you may want a central build server with a consistent environment, where you continuously integrate, run automated tests, produce versions for your QA team and produce the final versions. This is btw one of the nice things in Android Studio – the fact that you can completely decouple the build system from the graphical IDE.

Here I’ll go over some terms and mechanisms which are essential for part 2, where I’ll detail the steps to set up your independent build server.

OK, so let’s dive in.

Continue Reading