@chabok/web-sdk
TypeScript icon, indicating that this package has built-in type declarations

0.4.1 • Public • Published

Chabok web library

Blow some breath to your app with Chabok realtime messaging and receive push notifications cross any platform with zero code. Know your users's better, push them content based on their location or track their presence/location without headache. Chabok helps mobile application marketers to optimize their acquisition campaigns and increase user engagement & retention.

Installation

npm i @chabok/web-sdk

Getting Started

Optional

Chabok SDK make use of javascript's promises. if you're targeting legacy browsers (IE etc.) and did not provide your own polyfill, you might want to include following script to polyfill window.Promise in your clients' browser.

<script src="https://cdn.jsdelivr.net/npm/promise-polyfill@8/dist/polyfill.min.js"></script>

Or directly import using a bundler like Webpack:

import 'promise-polyfill/src/polyfill';

Initialization

Initialize Chabok SDK:

import { Chabok } from '@chabok/sdk';

const chabok = new Chabok({
	appId: '[application ID]',
	secret: '[api secret key]',
	logLevel: 'silent', // 'verbose' | 'warning' | 'error' | 'silent',
    
	// optional
	push: {
		publicKey: '[vapid public key]',
	},
});

await chabok.init()

const user = chabok.getUser()

Note: Calling Chabok.init() each time the user visits the website is required.

Note: The application credentials (appId and secret) are can be found in you dashboard.

Usage

Enable Push

await chabok.enablePush();

Note: Calling Chabok.init() each time the user visits the website is required.

Profile

const profile = {
	firstName: 'John',
	lastName: 'Doe',
	phoneNumber: '989121234567',
	gender: 'male', // male, female, other
	email: 'john@company.com',
	birthDate: 1685015036582, // must be a timestamp
}
await chabok.profile(profile);

Attribute

Set an attribute:

await chabok.attribute('eyeColor', 'brown');

Unset an attribute:

await chabok.attribute('eyeColor', null);

Login

Log in a user:

await chabok.login('username');

Logout

Logout a user:

await chabok.logout();

Set Tags

const tags = ['tag1', 'tag2', 'tag3'];
await chabok.setTags(tags);

Unset Tags

const tags = ['tag1', 'tag2', 'tag3'];
await chabok.unsetTags(tags);

Readme

Keywords

Package Sidebar

Install

npm i @chabok/web-sdk

Homepage

chabok.io

Weekly Downloads

22

Version

0.4.1

License

none

Unpacked Size

303 kB

Total Files

8

Last publish

Collaborators

  • chabok