Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/capacitor-community/uxcam
UXCam and FullStory app analytics
https://github.com/capacitor-community/uxcam
Last synced: 3 months ago
JSON representation
UXCam and FullStory app analytics
- Host: GitHub
- URL: https://github.com/capacitor-community/uxcam
- Owner: capacitor-community
- License: mit
- Created: 2021-01-13T10:13:18.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2021-03-09T15:48:47.000Z (over 3 years ago)
- Last Synced: 2024-04-27T07:26:53.361Z (7 months ago)
- Language: Java
- Size: 574 KB
- Stars: 5
- Watchers: 1
- Forks: 6
- Open Issues: 1
-
Metadata Files:
- Readme: README.md
- Contributing: CONTRIBUTING.md
- License: LICENSE
- Code of conduct: CODE_OF_CONDUCT.md
Awesome Lists containing this project
- awesome-capacitorjs - @capacitor-community/uxcam - UXCam and FullStory app analytics. (Plugins / Community Plugins)
- awesome-capacitor - Uxcam - UXCam and FullStory analytics. It uses UXCam for Android and iOS platforms and FullStory for Web/PWA. (Community plugins)
README
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](https://github.com/SalahAdDin/) | |## Installation
Install the package from the repository(by now):
```bash
npm install @capacitor-community/uxcam
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:
```gradle
maven {
url 'https://sdk.uxcam.com/android/'
}
```* Register the plugin in your main activity:
```java
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>() {{
// 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**](https://uxcam.com/) implemented methogs on the plugin, for web plugin, **[FullStory](https://www.fullstory.com/)** 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](https://help.uxcam.com/hc/en-us/categories/115000129131-Developer-Guide) and **FullStory** methods [here](https://developer.fullstory.com/introduction).
## Usage
```typescript
// 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;/**
* 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
```## Further info
- [Android](https://help.uxcam.com/hc/en-us/articles/115000966252-Android-Integration)
- [iOS](https://help.uxcam.com/hc/en-us/articles/115001868272-iOS-Integration)
- [Web](https://developer.fullstory.com/introduction)