Top
Setup Whatfix Mobile Callbacks
  • 20 Jun 2024
  • 1 Minute 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.

your title goes here

You can listen to all the events in your Application(Android) / AppDelegate(iOS) class.

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

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);
    }
 }

iOS Swift

Leap.shared.callback = self


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

iOS Objective-C

@interface AppDelegate () <LeapCallback>

Leap.shared.callback = self;

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

ReactNative

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);
  }
}

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));
})

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);
    }
}

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);
})

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.