0.1.4 • Published 4 years ago

react-native-quickomsdk-googlewebrtc v0.1.4

Weekly downloads
9
License
ISC
Repository
gitlab
Last release
4 years ago

#React Native QuickOM SDK

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

Full Documentation

Main Functions Supported

  1. Request Voice call Support
  2. Request Chat Support

Requirements

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

Install

1. Install the library

npm i react-native-quickomsdk-googlewebrtc

2. Link

react-native link react-native-quickomsdk-googlewebrtc

// 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

KeyDescription
NSCameraUsageDescriptionRequest application’s permission to access Camera
NSMicrophoneUsageDescriptionRequest application’s permission to access Microphone

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

PropertyDescription
Voice over IPCall via network
Audio, AirPlay, and Picture in PictureSupport call via network feature
Background fetchSupport call via network feature
Remote notificationsSupport Remote push notification

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

Add the following 'Podfile' to your project

use_frameworks!

Add a new Swift file and a Brigde header

1. File -> New -> File
2. Select Swift File
3. Confirm Create Bridging Header

Go to Settings / Build Settings, set Always Embed Swift Standard Libraries = YES

Usage

Import library

import QuickOMSDK from 'react-native-quickomsdk-googlewebrtc';

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":"support1001@gmail.com","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":"support1001@gmail.com","date":1573208910342.4329}
  // or {"status":"seen","msgId":"19921570534911738_1573123096.548","from":"support1001@gmail.com"}
});

Listen delivered calling

quickOMCallingSDK.on('calling', (data) => {
	// data => { identifier, isVideoCall, status }
	// or { duration, status }
	// {"identifier":"support1001@gmail.com","isVideoCall":"NO","status":"connected"}
	// {"duration":"1.266337","status":"end"}
});

Request voice call

requestVoiceCall() {
	// displayName => display name
	// alias => alias qrcode
  quickOMSDK.requestVoiceCall({ displayName: 'Jack', alias: '99261577263494399' })
	.then((res) => {
		// success
		// res => { identifier }
		// {"identifier":"support1001@gmail.com"}
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - Framework isn’t configured yet
		// 11 - Framework isn’t started yet
		// 26 - Group doesn’t exist
		// 100 - Can’t start calling
		// 326 - No supporter is available now
	});
}

End current call

endCall() {
  quickOMSDK.endCall()
	.then((res) => {
		// success
		// res => { duration }
		// {"duration":"1.266337"}
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - Framework isn’t configured yet
		// 11 - Framework isn’t started yet
	});
}

Request chat

requestChat() {
  // displayName => display name
  // alias => alias qrcode
  quickOMSDK.requestChat({ displayName: 'Jack', alias: '99261577263494399' })
	.then((res) => {
		// success
		// res => { identifier }
		// {"identifier":"support1001@gmail.com"}
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - Framework isn’t configured yet
		// 11 - Framework isn’t started yet
		// 26 - Group doesn’t exist
		// 100 - Can’t start calling
		// 326 - No supporter is available now
	});
}

Send text messsage

sendText() {
  // messContent => text sending
  // to => identifier from the response of request voice call /  chat 
  quickOMSDK.sendText({ messContent, to })
	.then((res) => {
		// success
		// res => msgId
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - Framework isn’t configured yet
		// 11 - Framework isn’t started yet
		// 23 - Enterprise is not authorized
		// 202 - Unable to send message
		// 203 - Receiver account does not exist
	});
}

Send image

sendImage() {
  // source => base64 image or linkUrl
  // to => identifier from the response of request voice call /  chat
  quickOMSDK.sendImage({ source, to })
	.then((res) => {
		// success
		// res => msgId
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - Framework isn’t configured yet
		// 11 - Framework isn’t started yet
		// 23 - Enterprise is not authorized
		// 202 - Unable to send message
		// 203 - Receiver account does not exist
	});
}

Send message seen

sendSeen() {
  // msgId => msgId from listen delivered message
  // to => identifier from the response of request voice call /  chat
  quickOMSDK.sendSeen({ msgId, to })
	.then(() => {
		// success
	})
	.catch((err) => {
		// err => { code, description }
		// 10 - Framework isn’t configured yet
		// 11 - Framework isn’t started yet
		// 204 - Unable to send status
	});
}
0.1.4

4 years ago

0.1.3

4 years ago

0.1.2

4 years ago

0.1.1

4 years ago

0.1.0

4 years ago

0.0.9

4 years ago

0.0.8

4 years ago

0.0.7

4 years ago

0.0.6

4 years ago

0.0.5

4 years ago

0.0.3

4 years ago

0.0.2

4 years ago

0.0.1

4 years ago

0.0.0

4 years ago