Foursquare
AIRSHIP VERIFIED INTEGRATION
This integration is maintained by Foursquare. Please contact Foursquare for support.Airship can easily integrate with Foursquare’s Movement SDK by associating channels with Foursquare user identifiers. This allows a single user to be consistently identified across both platforms.
Foursquare Integration Requirements
Accounts
- Foursquare
- Airship — Must include messaging
Airship project
- The Airship SDK must use the same user identity as the Foursquare SDK.
Associating the Foursquare Movement user identifiers with Airship channels can be accomplished with the following code.
Client Code: iOS
On iOS, associating a Foursquare Movement user identifier with an Airship channel should be done inside a callback triggered by the channel created event. This is to ensure the channel ID is set immediately once it’s available.
// Observe the notification center event `ChannelCreated`
NotificationCenter.default.addObserver(self, selector: #selector(AppDelegate.updateUserID), name:AirshipNotifications.ChannelCreated.name, object: nil)
// In the notification callback set the userID on your Movement SDK Manager instance
func updateUserID() {
if let channelID = UAirship.push().channelID, let _ = FSQMovementSdkManager.shared().userInfo {
FSQMovementSdkManager.shared().userInfo!.setUserId(channelID)
}
}
// Observe the notification center event `ChannelCreated`
[[NSNotificationCenter defaultCenter] addObserver:self
selector:@selector(updateChannel)
name:UAirshipNotificationChannelCreated.name
object:nil];
// In the notification callback set the userID on your Movement SDK Manager instance
NSString channelID = [[UAirship push] channelID];
if (channelID) {
[FSQMovementSdkManager.sharedManager.userInfo setUserId:channelID];
}
Client Code: Android
On Android, associating a Foursquare Movement user identifier with an Airship channel should be
done inside a class extending AirshipReceiver
that implements its onChannelCreated
function. This is to ensure the channel ID is set immediately once it’s available.
private class MovementAirshipIntegration : AirshipChannelListener {
override fun onChannelCreated(channelId: String) {
val userInfo = UserInfo().apply {
setUserId(channelId)
}
MovementSdk.get().setUserInfo(userInfo, persisted = true)
}
}
Configuring the Foursquare Integration
In Airship:
- Go to Settings.
- Under Project Configuration, select Manage for Partner Integrations.
- Select Foursquare.
- Select Configure for the inbound integration and follow the onscreen instructions to:
- Create Custom EventsEvents that indicate that a user performed a predefined action, such as adding an item to a shopping cart, viewing a screen, or clicking an Unsubscribe button. Custom Events can trigger automation, including Sequences and Scenes. You can code them into your app or website, or send them to Airship from an external source using the Custom Event API. Custom Events contain properties that you can use to personalize messages. and an authentication token. Foursquare uses the token to communicate with your project in Airship.
- Configure Airship as a third-party integration in Foursquare.
Categories