Apptentive Integration Guide

This topic describes how to integrate Apteligent with Apptentive. Apptentive is the leading enterprise SaaS platform for mobile customer communications. The company’s in-app messages, surveys, and intelligent ratings prompts empower brands to build meaningful relationships with their customers.

This integration allows companies to pull Apteligent performance data into Apptentive and allow product managers and marketers to:

  • proactively communicate with customers who experienced a bad user experience
  • analyze how performance issues impacted customer retention and NPS scores

If there’s a critical crash in the latest release of an app, use Apptentive Notes to send a targeted message to all users that had a bad user experience. Build trust and credibility with your customers by giving them a heads up before they even have a crash.

../_images/Apptentive-Apteligent-Notes-Mockup.png

Using Apptentive’s Surveys with NPS templates, understand how customer segments impacted by performance issues were affected by a crash. Drive internal remediation actions to reengage and retain these users. For more information, read Apptentive’s blog post announcing our integration.

This document will guide you through the process of activating sending Apteligent events into Apptentive through a few additional lines of code.

Requirements

Before you start the integration process, please make sure you have the following:

Note

This integration is currently only available on iOS. Android is coming soon.

Implementation

The Apteligent SDK will create a notification that fires when the SDK knows that a crash occurred. On iOS, when the user loads the app after a crash occurred, this notification will fire. The notification will contain three pieces of information:

  • Crash Name: The name of the crash (i.e., NSRangeException)
  • Crash Reason: More details on why the crash occurred (i.e., “***-[__NSArrayM objectAtIndex:]:index 18446744073709551615 beyond bounds for empty array”)
  • Crash Date: The date and time at which the crash occurred

Sending a Crash Event to Apptentive

To send these crash events to Apptentive, add two lines of code:

  1. Register an Observer to Capture the Apteligent Event
[[NSNotificationCenter defaultCenter] addObserver:self
    selector:@selector(crashDidOccur:)
    name:@"CRCrashNotification" object:nil];
  1. Send an Event to Apptentive Upon Notification
- (void) crashDidOccur:(NSNotification*)notification {
        // Send Event to Apptentive
        [[Apptentive sharedConnection] engage:@"app_crashed" fromViewController:self];

        // Send Data on Crash to Apptentive
        NSDateFormatter *crashDateFormatter = [[NSDateFormatter alloc] init];
        [crashDateFormatter setDateFormat:@"dd-MM-YYYY HH:mm:ss"];
        NSString *lastCrashDateString = [crashDateFormatter stringFromDate:notification.userInfo[@"crashDate"]];
        [[Apptentive sharedConnection] addCustomDeviceDataString:lastCrashDateString withKey:@"last_crash_date"];
        [[Apptentive sharedConnection] addCustomDeviceDataString:notification.userInfo[@"crashName"]] withKey:@"last_crash_name"];
        [[Apptentive sharedConnection] addCustomDeviceDataString:notification.userInfo[@"crashReason"] withKey:@"last_crash_reason"];
}

To see a working example of the integration, check out the Apptentive Apteligent example app here: https://github.com/apptentive/apptentive-apteligent-example

For additional assistance, contact Apteligent Support (support@apteligent.com).