Using CITYDATA SDK and OneSignal together allows you to segment your users based on the places they visit and add a location-intelligence layer to your mobile engagement. You can, for example, segment and send push notifications to users whom you have qualified as ''Regular Restaurant Visitors' based on who visited the restaurant more than one time in the last week.

Android Integration

Start with the SDK integration guide and the OneSignal integration guide. After integrating both libraries, you can forward campaign events from LOTaDATA to OneSignal.

To receive campaign events from LOTaDATA, just call the method watchForCampaigns providing a listener for campaigns. In that listener, you call the OneSignal API in order to send the campaign event.

LDEngagementListener mEngagementListener = new LDEngagementListener() {
public void onEvent(LDEngagement ldEngagement) {
String engagementID =;
//Send engagement ID to OneSignal
String now = String.valueOf(System.currentTimeMillis()/1000);
OneSignal.sendTag(engagementID, now);
//For simplicity, we're assuming that an instance of MomentsClient was already taken
if(mMomentsClient != null) mMomentsClient.trackEngagements(mEngagementListener);