@aws-amplify/analytics
Version:
Analytics category of aws-amplify
77 lines (76 loc) • 2.1 kB
TypeScript
import { AnalyticsProvider } from '../types';
export declare class AmazonPersonalizeProvider implements AnalyticsProvider {
private _config;
private _personalize;
private _buffer;
private _timer;
private _sessionInfo;
private _sessionManager;
private _isBrowser;
constructor(config?: any);
private _setupTimer;
/**
* Record event
* @param eventType - type of the event action. e.g. "Click"
* @param properties - properties of the event
* @return Promise
*/
record(params: any): Promise<boolean>;
private loadElement;
private isElementFullyLoaded;
/**
* get the category of the plugin
*/
getCategory(): string;
/**
* get provider name of the plugin
*/
getProviderName(): string;
/**
* configure the plugin
* @param {Object} config - configuration
*/
configure(config: any): object;
/**
* Generate the requestParams from customer input params and sessionInfo
* @private
* @param eventData - customer input for event data
* @param api - api name
* @return RequestParams - wrapper object with all information required for make request
*/
private generateRequestParams;
/**
* record an event
* @param {Object} params - the params of an event
*/
private _sendEvents;
/**
* Put event into buffer
* @private
* @param params - params for the event recording
*/
private putToBuffer;
/**
* flush the buffer and batch sending the request
* @private
* @param eventsParams - the buffer for cache the payload
*/
private _sendFromBuffer;
/**
* Generate the record payload for single event
* @private
* @param params - RequestParams
*/
private _generateSingleRecordPayload;
/**
* Initialize the personalize client
* @private
* @param params - RequestParams
*/
private _init;
/**
* check if current credentials exists
* @private
*/
private _getCredentials;
}