AWS SDK Version 3 for .NET
API Reference

AWS services or capabilities described in AWS Documentation may vary by region/location. Click Getting Started with Amazon AWS to see specific differences applicable to the China (Beijing) Region.

MobileAnalyticsManager is the entry point to recording analytic events for your application

Inheritance Hierarchy

System.Object
  Amazon.MobileAnalytics.MobileAnalyticsManager.MobileAnalyticsManager

Namespace: Amazon.MobileAnalytics.MobileAnalyticsManager
Assembly: AWSSDK.MobileAnalytics.dll
Version: 3.x.y.z

Syntax

C#
public class MobileAnalyticsManager
         IDisposable

The MobileAnalyticsManager type exposes the following members

Methods

Note:

Asynchronous operations (methods ending with Async) in the table below are for .NET 4.5 or higher. For .NET 3.5 the SDK follows the standard naming convention of BeginMethodName and EndMethodName to indicate asynchronous operations - these method pairs are not shown in the table below.

NameDescription
Public Method AddCustomAttributeToClientContext(string, string)

Adds client context custom attribute Refer Rest API for more information

Public Method Dispose()

Implement the dispose pattern

Public Method Static Method GetInstance(string)

Gets Mobile Analytics Manager instance by Application ID. Returns Mobile Analytics Manager instance if it's found. Throws InvalidOperationException if the instance has not been instantiated.

Public Method Static Method GetOrCreateInstance(string, AWSCredentials, RegionEndpoint, MobileAnalyticsManagerConfig)

Gets or creates Mobile Analytics Manager instance. If the instance already exists, returns the instance; otherwise creates new instance and returns it.

Public Method Static Method GetOrCreateInstance(string, AWSCredentials, RegionEndpoint)

Gets or creates Mobile Analytics Manager instance. If the instance already exists, returns the instance; otherwise creates new instance and returns it.

Public Method Static Method GetOrCreateInstance(string)

Gets or creates Mobile Analytics Manager instance. If the instance already exists, returns the instance; otherwise creates new instance and returns it.

Public Method Static Method GetOrCreateInstance(string, AWSCredentials)

Gets or creates Mobile Analytics Manager instance. If the instance already exists, returns the instance; otherwise creates new instance and returns it.

Public Method Static Method GetOrCreateInstance(string, RegionEndpoint)

Gets or creates Mobile Analytics Manager instance. If the instance already exists, returns the instance; otherwise creates new instance and returns it.

Public Method Static Method GetOrCreateInstance(string, MobileAnalyticsManagerConfig)

Gets or creates Mobile Analytics Manager instance. If the instance already exists, returns the instance; otherwise creates new instance and returns it.

Public Method PauseSession()

Pauses the current session. PauseSession() is the entry point into the Amazon Mobile Analytics SDK where sessions can be paused. Session is created and started immediately after instantiating the MobileAnalyticsManager object. The session remains active until it is paused. When in a paused state, the session time will not accumulate. When resuming a session, if enough time has elapsed from when the session is paused to when it's resumed, the session is ended and a new session is created and started. Otherwise, the paused session is resumed and the session time continues to accumulate. Currently session time out default value is 5 seconds. For example, on Android platform, when MobileAnalyticsManager is first instantiated, it creates Session 1. As the user transitions from activity to activity, the old activity will pause the current session, and the new activity will immediately resume the current session. In this case, Session 1 remains active and accumulates session time. The user continues to use the App for a total of 3 minutes, at which point, the user receives a phone call. When transitioning to the phone call, the current activity will pause the session and then transition to the phone app. In this case Session 1 remains paused while the phone call is in progress and session time does not accumulate. After completing the phone call a few minutes later, the user returns to the App and the activity will resume Session 1. Since enough time has elapsed since resuming Session 1, Session 1 will be ended with a play time of 3 minutes. Session 2 will then be immediately created and started. In order for MobileAnalyticsManager to track sessions, you must call the PauseSession() and ResumeSession() in each activity of your app. The example below shows how to pause and resume session in Xamarin Android

public class MainActivity : Activity
{
    private static MobileAnalyticsManager _manager = null;
            
    protected override void OnCreate(Bundle bundle)
    {
        _manager = MobileAnalyticsManager.GetOrCreateInstance(YourAppId, YourCredential, RegionEndpoint.USEast1, YourConfig);
        base.OnCreate(bundle);
    }
    protected override void OnResume()
    {
        await _manager.ResumeSession();
        base.OnResume();
    }
    protected override void OnPause()
    {
        await _manager.PauseSession();
        base.OnPause();
    }
}
             

Public Method RecordEvent(CustomEvent)

Records the custom event to the local persistent storage. Background thread will deliver the event later.

Public Method ResumeSession()

Resume the current session. ResumeSession() is the entry point into the Amazon Mobile Analytics SDK where sessions can be resumed. Session is created and started immediately after instantiating the MobileAnalyticsManager object. The session remains active until it is paused. When in a paused state, the session time will not accumulate. When resuming a session, if enough time has elapsed from when the session is paused to when it's resumed, the session is ended and a new session is created and started. Otherwise, the paused session is resumed and the session time continues to accumulate. Currently session time out default value is 5 seconds. For example, on Android platform, when MobileAnalyticsManager is first instantiated, it creates Session 1. As the user transitions from activity to activity, the old activity will pause the current session, and the new activity will immediately resume the current session. In this case, Session 1 remains active and accumulates session time. The user continues to use the App for a total of 3 minutes, at which point, the user receives a phone call. When transitioning to the phone call, the current activity will pause the session and then transition to the phone app. In this case Session 1 remains paused while the phone call is in progress and session time does not accumulate. After completing the phone call a few minutes later, the user returns to the App and the activity will resume Session 1. Since enough time has elapsed since resuming Session 1, Session 1 will be ended with a play time of 3 minutes. Session 2 will then be immediately created and started. In order for MobileAnalyticsManager to track sessions, you must call the PauseSession() and ResumeSession() in each activity of your app. The example below shows how to pause and resume session in Xamarin Android

public class MainActivity : Activity
{
    private static MobileAnalyticsManager _manager = null;
            
    protected override void OnCreate(Bundle bundle)
    {
        _manager = MobileAnalyticsManager.GetOrCreateInstance(YourAppId, YourCredential, RegionEndpoint.USEast1, YourConfig);
        base.OnCreate(bundle);
    }
    protected override void OnResume()
    {
        await _manager.ResumeSession();
        base.OnResume();
    }
    protected override void OnPause()
    {
        await _manager.PauseSession();
        base.OnPause();
    }
}
             

Events

NameDescription
Event MobileAnalyticsErrorEvent

Version Information

.NET Framework:
Supported in: 4.5, 4.0, 3.5

Portable Class Library:
Supported in: Windows Store Apps
Supported in: Windows Phone 8.1
Supported in: Xamarin Android
Supported in: Xamarin iOS (Unified)
Supported in: Xamarin.Forms

Unity:
Supported Versions: 4.6 and above
Supported Platforms: Android, iOS, Standalone