1. Home
  2. WalkMe Mobile
  3. Mobile: Setup and Integration
  4. Mobile: iOS
  5. Mobile: How To Integrate The iOS WalkMe Mobile SDK With Xamarin

Mobile: How To Integrate The iOS WalkMe Mobile SDK With Xamarin

Updated on July 1, 2018
Download PDF

Steps For Integration

  1. Go to https://github.com/abbiio/iosdk and download the latest version of the WalkMe Mobile iOS static library libABBISDK.a file.
    If you require a specific version of the SDK, you can find it at https://github.com/abbiio/iosdk/releases.
  2. Follow the instructions in this guide to bind the static library file to your project (you can skip the “Creating A Static Library” step).
  3. Use Abbi.Sdk.start with your app key in order to start the SDK.

Simple as that!

Sample C# API Reference File

Below is an example of a C# API reference file:

using ObjCRuntime;
 
using Foundation;
 
//[assembly: LinkWith("libABBISDK.a", LinkTarget.ArmV7 | LinkTarget.ArmV7s | LinkTarget.Simulator, Frameworks = "CoreGraphics QuartzCore", ForceLoad = true)]
 
namespace Abbi.Sdk
{
    // @interface ABBI : NSObject
    [BaseType (typeof(NSObject))]
    interface ABBI
    {
        // +(void)start:(NSString *)appId withSecretKey:(NSString *)appSecretKey;
        [Static]
        [Export ("start:withSecretKey:")]
        void Start (string appId, string appSecretKey);
 
        // +(void)start:(NSString *)appId withSecretKey:(NSString *)appSecretKey andApplicationType:(ABBIAppType)type;
        [Static]
        [Export ("start:withSecretKey:andApplicationType:")]
        void Start (string appId, string appSecretKey, ABBIAppType type);
 
        // +(void)sendGoal:(NSString *)goalName withProperites:(NSDictionary *)properties;
        [Static]
        [Export ("sendGoal:withProperites:")]
        void SendGoal (string goalName, NSDictionary properties);
 
        // +(void)setUserAttributeWithKey:(NSString *)key andValue:(id)value;
        [Static]
        [Export ("setUserAttributeWithKey:andValue:")]
        void SetUserAttributeWithKey (string key, NSObject value);
 
        // +(void)setUserAttributes:(NSDictionary *)attributes;
        [Static]
        [Export ("setUserAttributes:")]
        void SetUserAttributes (NSDictionary<NSString, NSObject> attributes);
 
        // +(void)setPrivateUserAttributeWithKey:(NSString *)key andValue:(id)value;
        [Static]
        [Export ("setPrivateUserAttributeWithKey:andValue:")]
        void SetPrivateUserAttributeWithKey (string key, NSObject value);
 
        // +(void)setPrivateUserAttributes:(NSDictionary *)attributes;
        [Static]
        [Export ("setPrivateUserAttributes:")]
        void SetPrivateUserAttributes (NSDictionary<NSString, NSObject> attributes);
 
        // +(void)clearPrivateUserAttributes;
        [Static]
        [Export ("clearPrivateUserAttributes")]
        void ClearPrivateUserAttributes ();
 
        // +(void)trigger:(NSString *)myTriggerName;
        [Static]
        [Export ("trigger:")]
        void Trigger (string myTriggerName);
    }
}

Was this article helpful?

Related Articles