Top
Setup Whatfix Mobile Callbacks
  • 23 Jul 2025
  • 2 Minutes To Read
  • Dark
    Light
  • PDF

Setup Whatfix Mobile Callbacks

  • Dark
    Light
  • PDF

Article summary

Whenever an end user interacts with Walkthroughs or other Whatfix Mobile elements, events are generated to track the Insights enabling you to analyze and refine your app experience based on real time data. For more information on Insights, see Insights Overview.

Info:

Listen to all events in your Application(Android) / AppDelegate(iOS) class.

Use the following code snippets to listen to the Whatfix Mobile callbacks:  

Note:

Whatfix Mobile supports only versions greater than or equal to and above the following versions:

  • Android: 2.0.16

  • iOS: 2.0.16

  • React Native: 2.0.19

  • Cordova (Android): 2.0.10

  • Cordova (iOS): 2.0.13

  • Xamarin (Android): 2.0.9

  • Xamarin (iOS): 2.0.17

  • Ionic: 2.0.17

  • Jetpack Compose: 2.0.8

  • MAUI (Android): 2.0.9

Swift

Leap.shared.callback = self


extension AppDelegate:LeapCallback {
    func eventNotification(eventInfo: Dictionary<String, Any>) {
        
    }
}

Android

import is.leap.android.LeapEventListener;

public class MyApplication extends Application {

    @Override
    public void onCreate() {
        LeapEventCallbacks eventListener = new LeapEventCallbacks() {
            @Override
            public void onEvent(Map<String, String> eventData) {
                
            }
        };
      Leap.setLeapEventCallbacks(eventListener);
    }
 }

MAUI

LeapPlugin.start({apiKey:"<YOUR_API_KEY>"});
LeapPlugin.addListener("leapCallbacks", (event: LeapCallbacks) => {
    console.log("Leap Events: ", event);
})

Jetpack

LeapPlugin.start({apiKey:"<YOUR_API_KEY>"});
LeapPlugin.addListener("leapCallbacks", (event: LeapCallbacks) => {
    console.log("Leap Events: ", event);
})

Ionic

The following code snippet has to be added where the app component is rendered.

LeapPlugin.start({apiKey:"<YOUR_API_KEY>"});
LeapPlugin.addListener("leapCallbacks", (event: LeapCallbacks) => {
    console.log("Leap Events: ", event);
})

React Native

import {  NativeEventEmitter } from 'react-native';
export class App extends React.Component {

  componentDidMount() {
    // Register for callbacks
    const eventEmitter = new NativeEventEmitter(LeapReactNative);
    const onSessionConnect = (event) => {
      console.log(event);
    }
    eventEmitter.addListener('LeapCallbacks', onSessionConnect);
  }
}

Objective-C

@interface AppDelegate () <LeapCallback>

Leap.shared.callback = self;

- (void)eventNotificationWithEventInfo:(NSDictionary<NSString *,id> *)eventInfo {
    
}

Xamarin (Android)

using static IS.Leap.Android.ILeapEventCallbacks
using IS.Leap.Android;

public class MainActivity : AppCompatActivity, ILeapEventCallbacks 
{
    protected override void OnCreate(Bundle savedInstanceState){
        Leap.SetLeapEventCallbacks(eventCallbacks: this);
    }
    
    public void OnEvent(IDictionary<string, string> keyValues)
    {
            
    }
}

Xamarin (iOS)

public class AppDelegate : UIResponder, IUIApplicationDelegate
{
    private LeapEventsCallback callback = null;
    public bool FinishedLaunching(UIApplication application, NSDictionary launchOptions)
    {
        Leap.Shared.Start("f4f460a6-9e04-4114-9da4-410659427c6a");
        callback = new LeapEventsCallback();
        Leap.Shared.SetCallback(callback);
        return true;
    }
}

public class LeapEventsCallback : LeapCallback
{
    public override void EventNotificationWithEventInfo(NSDictionary<NSString, NSObject> eventInfo)
    {
        System.Diagnostics.Debug.WriteLine(eventInfo);
    }
}

Cordova (Android)

cordova.plugins.LeapAndroid.setLeapEventCallback((leapEvent)=> {
    console.log(JSON.stringify(leapEvent, null, 2))
})

Cordova (iOS)

cordova.plugins.LeapiOS.setLeapEventCallback((leapEvent) =>{
    console.log(JSON.stringify(leapEvent, null, 2));
})


Was this article helpful?

Changing your password will log you out immediately. Use the new password to log back in.
First name must have atleast 2 characters. Numbers and special characters are not allowed.
Last name must have atleast 1 characters. Numbers and special characters are not allowed.
Enter a valid email
Enter a valid password
Your profile has been successfully updated.