@capacitor-community/uxcam
TypeScript icon, indicating that this package has built-in type declarations

0.0.3 • Public • Published


UXCam

@capacitor-community/uxcam

Capacitor plugin for UXCam and FullStory analytics. It uses UXCam for Android and iOS platforms and FullStory for Web/PWA.


Maintainers

Maintainer GitHub Social
Luis Alaguna SalahAdDin

Installation

Install the package from the repository(by now):

# npm install @capacitor-community/uxcam
npm install SalahAdDin/capacitor-uxcam#dist
ionic cap update && ionic cap copy && ionic cap sync 

On iOS, no further steps are needed.

On Android:

  • Add the UXCam maven repository to your projects build's graddle script:

    maven {
    	url 'https://sdk.uxcam.com/android/'
    }
  • Register the plugin in your main activity:

import com.getcapacitor.community.uxcam.UXCamPlugin;

public class MainActivity extends BridgeActivity {
  @Override
  public void onCreate(Bundle savedInstanceState) {
    super.onCreate(savedInstanceState);

    // Initializes the Bridge
    this.init(savedInstanceState, new ArrayList<Class<? extends Plugin>>() {{
      // Additional plugins you've installed go here
      // Ex: add(TotallyAwesomePlugin.class);
      add(UXCamPlugin.class);
    }});
  }
}

Configuration

No configuration is required for this plugin.

Supported methods

The following are the UXCam implemented methogs on the plugin, for web plugin, FullStory methods are used:

Name Android iOS Web
startWithKey
setUserIdentity
setUserProperty
setMultiSessionRecord
getEnabledMultiSessionRecord
logEvent
tagScreenName
setAutomaticScreenNameTagging
stopSession

You can find the full list of UXCam methods here and FullStory methods here.

Usage

// Must import the package once to make sure the web support initializes
import "@capacitor-community/uxcam"
import { Plugins } from "@capacitor/core"
import { LogEventProperty, UserProperty } from "@capacitor-community/uxcam"

const { UXCamPlugin } = Plugins

/**
 * Platform: Web/Android/iOS
 * Logs and event.
 * @param eventName: String - Event's name.
 * @param properties?: { [key: string]: string | number } - a optional set of event's properties to include in the log.
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/115000969072-Send-Events-and-Properties
 */
UXCamPlugin.logEvent(options: LogEventProperty)

/**
 * Platform: Android/iOS
 * Start the UXCam service with the API key.
 * @param UXCamKey: String - UXCam's API key.
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/115001868272
 */
UXCamPlugin.startWithKey(options: { UXCamKey: string })

/**
 * Platform: Web/Android/iOS
 * Set the user's identifier(a name)
 * @param userIdentity: String - User's identifier.
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/115000968992-Send-Additional-User-Information
 */
UXCamPlugin.setUserIdentity(options: { userIdentity: string })

/**
 * Platform: Web/Android/iOS
 * Set the user's properties.
 * @param properties: { [key: string]: string | number } - a set of user's properties(as email, phone, age, etc.).
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/115000968992-Send-Additional-User-Information
 */
UXCamPlugin.setUserProperty(options: UserProperty)

/**
 * Platform: Android/iOS
 * Enables/disables the multisession record for users.
 * @param recordMultipleSessions: boolean - whether enables multi-session record per user or not.
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/115000968972-Control-Recording
 */
UXCamPlugin.setMultiSessionRecord(options: { recordMultipleSessions: boolean })

/**
 * Platform: Android/iOS
 * Get the multisession record status.
 * @param
 * @returns Promise<{ value: boolean }> - whether multi-session record per user is enabled or not.
 * https://help.uxcam.com/hc/en-us/articles/115000968972-Control-Recording
 */
UXCamPlugin.getEnabledMultiSessionRecord()

/**
 * Platform: Android/iOS
 * Set the name for a screen view in the application, it requires to dissable the automatic screen name tagging.
 * @param screenName: String - Screen view's name.
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/360043007412-Tag-Screen-Name
 */
UXCamPlugin.tagScreenName(options: { screenName: string })

/**
 * Platform: Android/iOS
 * Enables/disables the automatic screen name tagging.
 * @param recordMultipleSessions: boolean - whether enables automatic screen name tagging or not.
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/360043007412-Tag-Screen-Name
 */
UXCamPlugin.setAutomaticScreenNameTagging(options: { enable: boolean }): Promise<void>;

/**
 * Platform: Web/Android/iOS
 * Stops the session record.
 * @param 
 * @returns void
 * https://help.uxcam.com/hc/en-us/articles/115000968972-Control-Recording
 */
UXCamPlugin.stopSession(): Promise<void>

Further info

Readme

Keywords

Package Sidebar

Install

npm i @capacitor-community/uxcam

Weekly Downloads

1

Version

0.0.3

License

MIT

Unpacked Size

130 kB

Total Files

41

Last publish

Collaborators

  • ionicjs
  • danielprrazevedo
  • nkalupahana
  • dtarnawsky
  • ryaa
  • dallasjames
  • tafelnl
  • thegnuu
  • pbowyer
  • capcombot
  • jcesarmobile
  • maxlynch
  • mhartington
  • dotnetkow
  • it_mike_s
  • byrds
  • rdlabo
  • priyankpatel
  • dwieeb
  • stewan
  • arielhernandezmusa
  • jeepq
  • start9keagan
  • boosten
  • nklayman
  • ihadeed
  • ckgaparajita
  • jpender
  • nhyatt
  • pwespi
  • epicshaggy
  • thomasvidas
  • robingenz
  • diachedelic
  • johnborges
  • tobyas
  • elylucas
  • larsmikkelsen
  • giodimiliaionic
  • brownoxford
  • mrbatista
  • bazuka5801
  • hemang