Troubleshooting

If you experience difficulties with the SDK, here are some tips and common errors you may find as well as ways to test the use of the SDK by your app. If you have further requests and issues, contact your Customer Success Manager.

FollowAnalytics Device Observer

The FollowAnalytics platform enables you to view your analytics and test your push notifications with the Device Observer. This feature is designed for helping your integration and your QA and highly recommend you use it whenever you are having trouble with the SDK. You can find more on the Device Observer here.

How to test your setup

The SDK has a Validator that will ensure that everything is properly configured. When your app is running in isVerbose to false, a popup is shown at launch time with the details of what is properly configured, and what is not. This makes it easier for you to validate that the various steps were performed¬ properly.

The validator is triggered when the configuration is setup with isVerbose configuration as true. It will display as an in-app message at each launch of the app (see screenshot below).

URL Scheme

Troubleshooting push notifications

Push notification checklist

Before you start testing for push notifications be sure to have setup all the requirements. Here is a short checklist you can go over:

You will now be able to receive push notifications.

FollowAnalytics enables you to send a test push notification from the Device Observer. Access the Device Observer by doing the following:

  1. Log on to the platform
  2. Go to Administration > Test Devices
  3. Select or register on your device

Now you are on the Device Observer page. From there you can click to button called "Send push notification". A standard push notification will be sent to the device you are observing. If the platform was unable to send the push notification, two errors could be displayed:

If the problem persists, contact your Customer Success Manager.

Checking your setup for notifications

You can also check the correct implementation push notifications capabilities and methods, by using Knuff. Knuff will allow you to push notifications directly to your device by using the push notification certificate and the apple cloud messaging services token, circumventing FollowAnalytics servers.

This will help you understand if any issues you experience with push notifications are due to your setup or the connection with the FollowAnalytics push servers.

Integrating in projects with other SDKs and compatibility

The FollowAnalytics SDK proxies the application's delegate. If you are changing the default app delegate, make sure to do so before initializing the FollowAnalytics SDK. Otherwise you may experience crashes.

Other SDKs, like Firebase, may also swizzle your applications' methods by default. For example, in order to have both FollowAnalytics and Firebase SDK working properly in your app, make sure you set the FirebaseAppDelegateProxyEnabled to NO in you app's Info.plist.

The FollowAnalytics SDK is regularly tested alongside most major SDKs on the market. We will keep you informed of compatibility issues such as the one described above. If you experience any other issues of compatibility, please contact your customer success manager.

My data does not appear on the dashboard

When your app runs with isVerbose as true mode or in a simulator, the data is automatically sent as development logs. Development logs are not sent to the server and will not show on the FollowAnalytics Clients Platform.

Development logs can be checked using the method given in the FAQ section (see related entry in FAQ for more information on debug & release modes).

You can also use the device observer for checking your tags. Select your device, then use your app. You will see that the logs from your phone will appear live from the screen. From there you can see if the your tag is sent to the server.

SDK size and impact on app performance

The FollowAnalytics SDK has been developed to have no visible impact on the app. The battery won't be impacted, and the network will only be used to send light JSON files to the servers.

The impact on the app size is also very limited.

If you are experiencing issues concerning the size of the SDK and clear performance setbacks, please contact your customer success manager.

Crash reports

To see if the SDK, properly sends crash reports you can test this by simulating a crash of your app. To do this, create an empty array and try to access its item at index 0. This will crash your app. When reloading the app, you will see a Crash report sent to FollowAnalytics servers.

NSArray *array = [NSArray new];
id obj2 = [array objectAtIndex:0]; // this line crashes
let array = [String]()
print(array[0]) // this line crashes

To verify that the crash configuration is working properly, launch your app without the debugger. i.e. manually on the device or from the simulator, without using the "run" button in Xcode.

You can then check if the Crash report is sent to the server by looking at the Device Observer.

Locating the device ID

Every log sent by the SDK has the device ID in the payload. So, your deviceID will be displayed in your console when isVerbose is set to true. You will also be able to see it by using the Device Observer the device id.

To display your device ID somewhere in you app, you can implement the getDeviceId method:

[FollowAnalytics getDeviceId]
FollowAnalytics.getDeviceId()

Retrieving the device ID via email form the platform

If you cannot use the email link to retrieve the device ID by sending an email from the platform, you most likely will not have setup your URL Scheme. You can do this by following the steps in the integration section.