CordovaFoursquare

Cordova plugin that handles Foursquare integration in mobile apps. Project uses official Foursquare OAuth projects for iOS and Android to utilize oauth authentication operations for a mobile app that uses Cordova. We also provide TypeScript source file together with the JavaScript for the client side with this plugin. We support only Cordova version > 3.0
CCSoft1.0.02
platforms: android,ios
$ cordova plugin add com.ccsoft.plugin.CordovaFoursquare

cordova-foursquare

Cordova plugin that handles Foursquare integration for mobile (iOS and Android) apps.

Project uses official Foursquare OAuth projects for iOS and Android to utilize oauth authentication operations for a mobile app that uses Cordova.

We also provide TypeScript source file together with the JavaScript for the client side with this plugin.

We support only Cordova version > 3.0

Prerequisites

iOS

Download/Clone the latest Official Foursquare OAuth library for iOS, and follow the steps.

  • Do not forget to add StoreKit.framework to your project.
  • Be careful defining the same url scheme in your app.plist file and foursquare app settings.

Android

Download/Clone the latest Official Foursquare OAuth library for Android, and follow the steps.

Installing the plugin

To add this plugin just type: cordova plugin add https://github.com/ccsoft/cordova-foursquare.git

To remove this plugin type: cordova plugin remove com.ccsoft.plugin.CordovaFoursquare

Usage

In your js (probably in your index.js);

// Get a reference to the plugin first
var plugin = new CC.CordovaFoursquare();

The plugin has the following methods:


login

Handles the OAuth flow.

parameters

clientId: string: Your Foursquare client id, you have in developer portal.

clientSecret: string: Your Foursquare slient secret. If you have a server, use it to verify instead of passing a clientSecret. You can pass an empty string. The return callback then returns the access code instead of an access token. You can get your access token using your own server and keep your secret as secret there. You have it in developer portal.

callbackUri: string: Your Foursquare callbackUri (used for iOS only), you set in developer portal.

successCallback: function: Called with a foursquare access token (if secret has been given), access code (if secret has not been given) or "0" which means Foursquare app is not installed in client's device.

failureCallback: function: Called with failure reason string.

example

plugin.login('YOUR_4SQ_CLIENT_ID', 'YOUR_4SQ_OPTIONAL_SECRET', 
    'cordovasample://foursquare', // should have a uri structure with scheme and domain
    successCallback, failureCallback);

install

If login call returns '0' on success, it means our client device does not have Foursquare app installed. You can then show a popup, notify/ask the user if they want to install the app and call this function to redirect user to related app stores.

parameters

successCallback: function: Called if install is initiated successfully.

failureCallback: function: Called with failure reason string.

example

plugin.install(successCallback, failureCallback);

Sample App

We have a sample cordova app to test the plugin that you can find here. Please note that the link takes you to a dedicated branch named foursquare, please use that branch to test this plugin. We use separate branches for each plugin we implement.

Once you download/clone and run the app, make sure you enter your Foursquare app settings in index.html.

License

Apache 2.0 License