Social Networks Integration

06 September 2013
By Ivan Rikhmayer, Senior Mobile Software Engineer

There are many applications on a wide range of platforms and nearly every modern game, healthcare, marketing, media application has integrated social content — the ability to post updates to social networks like Facebook or Twitter. Also people choose to communicate via Over The Top (OTT) services (Facebook, ICQ, Skype etc.) over SMS. Nowadays almost 750 million out of all 1.2 billion smartphone users have Over The Top services on their devices. In 2012, an average of 19.1 billion OTT messages were sent every day, says Informa Telecoms and Media, which expects that this year that number is closer to 41 billion messages per day.

SMS and Over The Top (OTT) Messaging Trends

Mobile Messaging is rapidly becoming the primary way users engage socially via mobile devices. Figures released this week imply more than 41 billion messages a day are now being delivered via various “Over the Top” (OTT) messaging apps.

MobileLet’s look how this can be implemented in a mobile application. In general, there are different ways of achieving this:

  • Using an official SDK to interact with social network API. This is the easiest (but sometimes not the most stable one) method of integration.
  • Developing a custom wrapper to make calls to social network APIs. We suggest using the OAuth legacy protocol/OAuth/openID for that purpose. This authorization framework enables a third-party application to obtain limited access to an HTTP service.

The first option is preferable. If the SDK is stable, the integration is 90% complete – the only thing the developer should do is to anchor the existing methods to the application’s architecture. Fortunately, all popular social networks provide SDKs for major mobile platforms:

  • Facebook: Android, iOS
  • LinkedIn: Android
  • Twitter: Android, iOS
  • Google+

But when the target social network does not have a stable SDK released for the desired OS platform (yet another new social network brand is heading to conquer the world, or the SDK had actually been released unstable or even broken), the developer is required to roll its own version.

Not every social network has a proper SDK range though. For example, Foursquare has only Android and iOS support, and lots of social networks have no official SDKs at all, e.g. 43 Things. So, for example, if you have to integrate it with the full range of modern mobile devices (including BlackBerry 10 and Windows Phone) you would have to compose your own lib. Also, if the proposed SDK is not perfect enough, and a developer is going to spend a huge amount of time (e.g. 50+ hours) it would be better to consider developing your own lib too.

In that case:

  1. Don’t rush. Try to find an open source third-party library, check the license before using it. django may sometimes help.
  2. Choose the most reliable way to achieve what you need, and when you are about to make a choice, prefer OAuth2 (OAuth1) instead of OpenID. OAuth is an authorization protocol, while OpenID is an authentication protocol, and is http-based and pretty easy to get familiar with (1-2 days are more than enough). Two weeks should be enough for the development.
    Basically, the integration consists of three steps:

    • get your app code from the target social network
    • receive the session access token (read more)
    • keep and renew the token and to pass it with each request to the social network API
      Facebook OAuth Authentication
  3. Be creative. Apart from a general “login with %social_network_name% and “like”, consider deeper integration (recommend, favorite, etc.), and leave space for future extensions and updates!

And have good luck with social network integration in your applications!


Add Comment

Name Mail Website Comment