npm package discovery and stats viewer.

Discover Tips

  • General search

    [free text search, go nuts!]

  • Package details

    pkg:[package-name]

  • User packages

    @[username]

Sponsor

Optimize Toolset

I’ve always been into building performant and accessible sites, but lately I’ve been taking it extremely seriously. So much so that I’ve been building a tool to help me optimize and monitor the sites that I build to make sure that I’m making an attempt to offer the best experience to those who visit them. If you’re into performant, accessible and SEO friendly sites, you might like it too! You can check it out at Optimize Toolset.

About

Hi, 👋, I’m Ryan Hefner  and I built this site for me, and you! The goal of this site was to provide an easy way for me to check the stats on my npm packages, both for prioritizing issues and updates, and to give me a little kick in the pants to keep up on stuff.

As I was building it, I realized that I was actually using the tool to build the tool, and figured I might as well put this out there and hopefully others will find it to be a fast and useful way to search and browse npm packages as I have.

If you’re interested in other things I’m working on, follow me on Twitter or check out the open source projects I’ve been publishing on GitHub.

I am also working on a Twitter bot for this site to tweet the most popular, newest, random packages from npm. Please follow that account now and it will start sending out packages soon–ish.

Open Software & Tools

This site wouldn’t be possible without the immense generosity and tireless efforts from the people who make contributions to the world and share their work via open source initiatives. Thank you 🙏

© 2024 – Pkg Stats / Ryan Hefner

react-native-quickomsdk

v0.5.5

Published

QuickOM SDK support for React Native apps.

Downloads

5

Readme

#React Native QuickOM SDK

React Native QuickOM SDK is library javascript client for Beowulf Quickom.

Full Documentation

  • The api documentation can be found in the official beowulf developers portal: https://beowulfchain.com/developer-guide/quickom

Main Functions Supported

  1. Request Voice Call to Group
  2. Request Chat to Group

Requirements

  • npm version 6.9.0
  • react-native version >= 0.60

Install

1. Install the library

npm i react-native-quickomsdk

2. Link

react-native link react-native-quickomsdk

// Note For iOS using cocoapods, run:
cd ios && pod install

3. Configure your project

Android

Deployment target: minimum android api 21

IOS

Add these keys to Info.plist

| Key | Description | | ---------------------------- | ----------------------------------------------------- | | NSCameraUsageDescription | Request application’s permission to access Camera | | NSMicrophoneUsageDescription | Request application’s permission to access Microphone |


Go to Settings / Capabilities, section Background Modes, enable these capabilities

Voice over IP
Background fetch

Go to Settings / Build Settings, section Build Options, set Enable Bitcode = No

Usage

Import library

import QuickOMSDK from 'react-native-quickomsdk';

init sdk

init() {
  // register apiKey from beowulfchain
  // apiKey = UEMrUzJSc1RXVmR6aGpmb2liNUJoVGNOYjdhb0tmYW9HUWZqY2VwaFhLWjNqS2crb0UrVnF3Wkw3T01zVVN2TA==

  let quickOMSDK = new QuickOMSDK(apiKey);
  quickOMSDK.init()
	.then(() => {
		// opened sdk
	});
}

Stop sdk

stop() {
  quickOMSDK.stop()
    .then(() => {
      // closed sdk
    });
}

Listen delivered message

quickOMSDK.on('message', (data) => {
  // data => { isImage, content, msgId, convId, from, date (timestamp) }
  // or { status, msgId, from }
  // {"isImage":false,"content":"Gy","msgId":"93181562051293759_1573123121.940","convId":"c604cfd5-3e42-4bcc-ab7d-bea804c7b0e1","from":"[email protected]","date":1573123122319.268}
  // {"isImage":true,"content":"https://kryptono-ex.s3.amazonaws.com/chat_photo_1573205308439.png","msgId":"93181562051293759_1573205306.793","convId":"65961570683864472_1573208896.502451","from":"[email protected]","date":1573208910342.4329}
  // or {"status":"seen","msgId":"19921570534911738_1573123096.548","from":"[email protected]"}
});

Request voice call

requestVoiceCall() {
	// displayName => display name
	// groupName => group calling
  quickOMSDK.requestVoiceCall({ displayName: 'Jack', groupName: 'CS1' })
	.then((res) => {
		// success
		// res => { identifier }
  		// {"identifier":"[email protected]"}
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - This error usually occurs in case the method + configureWithApiKey: isn’t called yet
		// 11 - This error usually occurs in case one of the start-framework method isn’t called yet or it is NOT started successfully
		// 26 - This error occurs because group doesn’t exist. The name of group should be exactly correct and case sensitive
		// 100 - Unable to make call due to internal problem
		// 326 - No supporter is available at the moment => call function endVoiceCall()
	});
}

End voice call

endVoiceCall() {
  quickOMSDK.endVoiceCall()
	.then(() => {
		// success
	});
}

Request chat

requestChat() {
  // displayName => display name
  // groupName => group chatting
  quickOMSDK.requestChat({ displayName: 'Jack', groupName: 'CS1' })
	.then((res) => {
		// success
		// res => { identifier }
  		// {"identifier":"[email protected]"}
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - This error usually occurs in case the method + configureWithApiKey: isn’t called yet
		// 11 - This error usually occurs in case one of the start-framework method isn’t called yet or it is NOT started successfully
		// 26 - This error occurs because group doesn’t exist. The name of group should be exactly correct and case sensitive
		// 100 - Unable to make call due to internal problem
		// 326 - No supporter is available at the moment
	});
}

Send text messsage

sendText() {
  // messContent => text sending
  // to => identifier from listen supporter
  quickOMSDK.sendText({ messContent, to })
	.then((res) => {
		// success
		// res => msgId
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - This error usually occurs in case the method + configureWithApiKey: isn’t called yet
		// 11 - This error usually occurs in case one of the start-framework method isn’t called yet or it is NOT started successfully
		// 23 - Enterprise account does not exist or it doesn’t have permission to use this framework. Contact us to find out the reason
		// 202 - the message is unable to send now
		// 203 - receiver account does not exist on Beowulf system. Account must start this framework to register to Beowulf system if not exist
	});
}

Send image

sendImage() {
  // source => base64 image or linkUrl
  // to => identifier from listen supporter
  quickOMSDK.sendImage({ source, to })
	.then((res) => {
		// success
		// res => msgId
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - This error usually occurs in case the method + configureWithApiKey: isn’t called yet
		// 11 - This error usually occurs in case one of the start-framework method isn’t called yet or it is NOT started successfully
		// 23 - Enterprise account does not exist or it doesn’t have permission to use this framework. Contact us to find out the reason
		// 202 - the message is unable to send now
		// 203 - receiver account does not exist on Beowulf system. Account must start this framework to register to Beowulf system if not exist
	});
}

Send message seen

sendSeen() {
  // msgId => msgId from listen delivered message
  // to => identifier from listen supporter
  quickOMSDK.sendSeen({ msgId, to })
	.then(() => {
		// success
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - This error usually occurs in case the method + configureWithApiKey: isn’t called yet
		// 11 - This error usually occurs in case one of the start-framework method isn’t called yet or it is NOT started successfully
		// 204 - Can’t send message status
	});
}