@capawesome/capacitor-posthog
v6.0.0
Published
Unofficial Capacitor plugin for PostHog SDK.
Downloads
194
Maintainers
Readme
@capawesome/capacitor-posthog
Unofficial Capacitor plugin for PostHog.[^1]
Installation
npm install @capawesome/capacitor-posthog posthog-js
npx cap sync
Android
Variables
This plugin will use the following project variables (defined in your app’s variables.gradle
file):
$androidxCoreKtxVersion
version ofandroidx.core:core-ktx
(default:1.13.1
)
Configuration
No configuration required for this plugin.
Demo
A working example can be found here: robingenz/capacitor-plugin-demo
Usage
import { Posthog } from '@capawesome/capacitor-posthog';
const alias = async () => {
await Posthog.alias({
alias: 'new-distinct-id',
});
};
const capture = async () => {
await Posthog.capture({
event: 'event',
properties: {
key: 'value',
},
});
};
const flush = async () => {
await Posthog.flush();
};
const group = async () => {
await Posthog.group({
type: 'group',
key: 'key',
groupProperties: {
key: 'value',
},
});
};
const identify = async () => {
await Posthog.identify({
distinctId: 'distinct-id',
userProperties: {
key: 'value',
},
});
};
const register = async () => {
await Posthog.register({
key: 'super-property',
value: 'super-value',
});
};
const reset = async () => {
await Posthog.reset();
};
const screen = async () => {
await Posthog.screen({
screenTitle: 'screen',
properties: {
key: 'value',
},
});
};
const setup = async () => {
await Posthog.setup({
apiKey: 'YOUR_API_KEY',
host: 'https://eu.i.posthog.com',
});
};
const unregister = async () => {
await Posthog.unregister({
key: 'super-property',
});
};
API
alias(...)
capture(...)
flush()
group(...)
identify(...)
register(...)
reset()
screen(...)
setup(...)
unregister(...)
- Interfaces
- Type Aliases
alias(...)
alias(options: AliasOptions) => Promise<void>
Assign another distinct ID to the current user.
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options
| AliasOptions |
Since: 6.0.0
capture(...)
capture(options: CaptureOptions) => Promise<void>
Capture an event.
| Param | Type |
| ------------- | --------------------------------------------------------- |
| options
| CaptureOptions |
Since: 6.0.0
flush()
flush() => Promise<void>
Flush all events in the queue.
Only available on Android and iOS.
Since: 6.0.0
group(...)
group(options: GroupOptions) => Promise<void>
Associate the events for that user with a group.
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options
| GroupOptions |
Since: 6.0.0
identify(...)
identify(options: IdentifyOptions) => Promise<void>
Identify the current user.
| Param | Type |
| ------------- | ----------------------------------------------------------- |
| options
| IdentifyOptions |
Since: 6.0.0
register(...)
register(options: RegisterOptions) => Promise<void>
Register a new super property. This property will be sent with every event.
| Param | Type |
| ------------- | ----------------------------------------------------------- |
| options
| RegisterOptions |
Since: 6.0.0
reset()
reset() => Promise<void>
Reset the current user's ID and anonymous ID.
Since: 6.0.0
screen(...)
screen(options: ScreenOptions) => Promise<void>
Send a screen event.
Only available on Android and iOS.
| Param | Type |
| ------------- | ------------------------------------------------------- |
| options
| ScreenOptions |
Since: 6.0.0
setup(...)
setup(options: SetupOptions) => Promise<void>
Setup the PostHog SDK with the provided options.
Attention: This method should be called before any other method.
| Param | Type |
| ------------- | ----------------------------------------------------- |
| options
| SetupOptions |
Since: 6.0.0
unregister(...)
unregister(options: UnregisterOptions) => Promise<void>
Remove a super property.
| Param | Type |
| ------------- | --------------------------------------------------------------- |
| options
| UnregisterOptions |
Since: 6.0.0
Interfaces
AliasOptions
| Prop | Type | Description | Since |
| ----------- | ------------------- | -------------------------------------------------- | ----- |
| alias
| string | The new distinct ID to assign to the current user. | 6.0.0 |
CaptureOptions
| Prop | Type | Description | Since |
| ---------------- | ------------------------------------------------------------ | -------------------------------------- | ----- |
| event
| string | The name of the event to capture. | 6.0.0 |
| properties
| Record<string, any> | The properties to send with the event. | 6.0.0 |
GroupOptions
| Prop | Type | Description | Since |
| --------------------- | ------------------------------------------------------------ | -------------------------------------------- | ----- |
| type
| string | The group type. | 6.0.0 |
| key
| string | The group key. | 6.0.0 |
| groupProperties
| Record<string, any> | The properties to send with the group event. | 6.0.0 |
IdentifyOptions
| Prop | Type | Description | Since |
| -------------------- | ------------------------------------------------------------ | ----------------------------- | ----- |
| distinctId
| string | The distinct ID of the user. | 6.0.0 |
| userProperties
| Record<string, any> | The person properties to set. | 6.0.0 |
RegisterOptions
| Prop | Type | Description | Since |
| ----------- | ------------------- | -------------------------------- | ----- |
| key
| string | The name of the super property. | 6.0.0 |
| value
| any | The value of the super property. | 6.0.0 |
ScreenOptions
| Prop | Type | Description | Since |
| ----------------- | ------------------------------------------------------------ | --------------------------------------------- | ----- |
| screenTitle
| string | The name of the screen. | 6.0.0 |
| properties
| Record<string, any> | The properties to send with the screen event. | 6.0.0 |
SetupOptions
| Prop | Type | Description | Default | Since |
| ------------ | ------------------- | ------------------------------------ | --------------------------------------- | ----- |
| apiKey
| string | The API key of your PostHog project. | | 6.0.0 |
| host
| string | The host of your PostHog instance. | 'https://us.i.posthog.com' | 6.0.0 |
UnregisterOptions
| Prop | Type | Description | Since |
| --------- | ------------------- | ----------------------------------------- | ----- |
| key
| string | The name of the super property to remove. | 6.0.0 |
Type Aliases
Record
Construct a type with a set of properties K of type T
{ [P in K]: T; }
Changelog
See CHANGELOG.md.
License
See LICENSE.
[^1]: This project is not affiliated with, endorsed by, sponsored by, or approved by PostHog, Inc. or any of their affiliates or subsidiaries.