The Gleap identify call lets you tie a user to their feedback items. It includes a unique User ID and optional meta information such as email & name.
Identify your users
To effectively manage your contacts, we advise using identifyContact each time a user signs in or registers. This practice ensures accurate identification of your contacts from the outset. Additionally, for scenarios where contact information needs to be updated during active usage – such as when a user subscribes to a new plan or modifies their existing data – we recommend utilizing updateContact. This method allows for seamless real-time updates to contact details.
Identify your user by calling the following method.
let userProperty = GleapUserProperty()
userProperty.name = "Franz"
userProperty.email = "[email protected]"
userProperty.phone = "+1 (902) 123123"
userProperty.value = 199.95
userProperty.plan = "Pro plan";
userProperty.companyId = "29883";
userProperty.companyName = "ACME inc.";
userProperty.customData = ["key1": "Custom data"];
Gleap.identifyContact("user_1234", andData: userProperty)GleapUserProperty *userProperty = [[GleapUserProperty alloc] init];
userProperty.name = @"Franz";
userProperty.email = @"[email protected]";
userProperty.phone = @"+1 (902) 123123";
userProperty.value = @(199.95);
userProperty.plan = @"Pro plan";
userProperty.companyId = @"29883";
userProperty.companyName = @"ACME inc.";
userProperty.customData = @{
@"key1": @"Custom data",
};
[Gleap identifyContact: @"user_1234" andData: userProperty];We currently only allow JSON strings, numbers and boolean values as custom data.
Enforce identity verification
Enforce identity verification to prevent third parties from impersonating logged-in users. Learn how to generate the user hash
let userProperty = GleapUserProperty()
userProperty.name = "Franz"
userProperty.email = "[email protected]"
userProperty.phone = "+1 (902) 123123"
userProperty.value = 199.95
userProperty.plan = "Pro plan"
userProperty.companyId = "29883"
userProperty.companyName = "ACME inc."
userProperty.customData = [
"key1": "data",
]
Gleap.identifyContact("user_1234", andData: userProperty, andUserHash: "GENERATED_USER_HASH")Click here to learn how to generate the user hash.
Protected conversation files
With Require authenticated file access (Authenticated conversation files), conversation files can only be opened by agents and by the verified customer the conversation belongs to. The SDK (19.0.0 or newer) supports it without extra setup, as long as your app identifies the customer with the user hash (see above) on every app start.
A verified identify gives the session a short-lived file access token (15 minutes). The SDK keeps it in memory only, hands it to the widget and renews it automatically while the app is in use. clearIdentity revokes it. Guests and contacts identified without a hash see "Sign in to view" instead of the file.
Email replies link attachments to your customer application URL with a gleapFile query parameter. If that URL opens your app (for example as a universal link), pass the URL that opened the app to Gleap; the conversation opens once the customer is identified:
Gleap.openProtectedFile(from: url)[Gleap openProtectedFileFromURL: url];Update contact properties
To effectively manage your contacts, we advise using identifyContact each time a user signs in or registers. This practice ensures accurate identification of your contacts from the outset. Additionally, for scenarios where contact information needs to be updated during active usage – such as when a user subscribes to a new plan or modifies their existing data – we recommend utilizing updateContact. This method allows for seamless real-time updates to contact details.
let userProperty = GleapUserProperty();
userProperty.value = 199.95;
userProperty.plan = "Pro plan";
Gleap.updateContact(userProperty);The updateContact method takes in the same contact parameters as the identify method. Partial updates are possible.
let userProperty = GleapUserProperty()
userProperty.name = "Franz"
userProperty.email = "[email protected]"
userProperty.phone = "+1 (902) 123123"
userProperty.value = 199.95
userProperty.plan = "Pro plan"
userProperty.companyId = "29883"
userProperty.companyName = "ACME inc."
userProperty.customData = [
"key1": "data",
]
Gleap.updateContact(userProperty)Clear the identity on logout
We recommend to clear the identity once the user logs out. Clearing the identity will automatically detach the current session and create a new guest session.
Gleap.clearIdentity();[Gleap clearIdentity];Get the identification status of a user
With the following method, you can get the status of the current user identity.
Gleap.isUserIdentified();[Gleap isUserIdentified];Get the current user identity
With the following method, you can get the current user identity.
Gleap.getIdentity();[Gleap getIdentity];
