____ _____ _ _ _____ ___ ___ _ _ ____ ____ _ __
/ ___| ____| \ | |_ _|_ _/ _ \| \ | | / ___|| _ \| |/ /
| | | _| | \| | | | | | | | | \| | \___ \| | | | ' /
| |___| |___| |\ | | | | | |_| | |\ | ___) | |_| | . \
\____|_____|_| \_| |_| |___\___/|_| \_| |____/|____/|_|\_\
Version 0.1
--/--/----
• The current Chat SDK can only be integrated in React native Apps.
• The Chat SDK support react native version -.--- .
To integrate the Cention Chat SDK into your application, you'll need to configure the chat widget with specific parameters. Below is an example of how you can set up the integration:
<ChatModal workSpace={'worspace_name'} widgetId={widgetId_number} customization={false} />
-
workSpace
: Specifies the workspace or domain associated with your Cention account. In the provided example, it's set to 'workspace_name'. You'll need to replace 'workspace_name' with the respective workspace. -
widgetId
: Represents the unique identifier of the chat SDK or configuration within your Cention Contact Center account. Here, it's set to 'widgetId_number'. Replace 'widgetId_number' with the appropriate widget ID. -
customization
: A boolean value indicating whether customization options for the chat SDK are enabled {true} or disabled {false}. In this example, it's set to {false}, meaning customization is disabled. Adjust this value based on your customization preferences.
Screenshots given is the guide to use the customization in an efficient way.
• React Native environment set up
• react-native-push-notification package installed
• Android Studio and the Android SDK
To enable local notifications in your React Native app, follow these steps to install and configure the necessary library.
Run the following command in your React Native project directory:
npm install --save react-native-push-notification
or if you use Yarn:
yarn add react-native-push-notification
Modify your AndroidManifest.xml
to include the necessary permissions and receivers:
<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED"/>
<application ...>
<meta-data android:name="com.dieam.reactnativepushnotification.notification_foreground" android:value="false"/>
<meta-data android:name="com.dieam.reactnativepushnotification.notification_color" android:resource="@color/white"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationActions" android:exported="true"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationPublisher" android:exported="true"/>
<receiver android:name="com.dieam.reactnativepushnotification.modules.RNPushNotificationBootEventReceiver" android:exported="true">
<intent-filter>
<action android:name="android.intent.action.BOOT_COMPLETED"/>
</intent-filter>
</receiver>
</application>
Add a notification icon to your drawable folders. This icon should be a white shape on a transparent background. You might need different sizes for different resolutions (hdpi, mdpi, xhdpi, xxhdpi, xxxhdpi).
Make sure to define the notification color in your res/values/colors.xml
:
<resources>
<color name="white">#FFFFFF</color>
</resources>
Before triggering local notifications, initialize the notification channel as early as possible in your app's lifecycle, such as in your App.js
:
import PushNotification from 'react-native-push-notification';
PushNotification.createChannel({
channelId: "incoming-message",
channelName: "Incoming Messages",
channelDescription: "Notifications for new messages",
playSound: true, // Whether to play a sound or not
soundName: "default", // The sound to play (default system sound)
importance: 4, // Importance level (4 is high importance, makes sound and shows as a popup)
vibrate: true, // Whether the phone should vibrate
}, (created) => console.log(`CreateChannel returned '${created}'`));
Define a notification service that will be used by the Cention Chat SDK to trigger notifications:
import notificationService from './notificationService';
ChatSDK.initialize({
// SDK configuration
notificationService: notificationService,
});
Here's an example function to trigger a local notification:
// notificationService.js
import PushNotification from 'react-native-push-notification';
// Initialize and create channels outside of the showNotification function
const notificationService = {
showNotification: (title, message) => {
// Directly use the channel to show the notification
PushNotification.localNotification({
channelId: "incoming-message", // Match the channel ID
title: title, // The title of the notification
message: message, // The message of the notification
bigText: message, // Same as message, but can be longer
subText: "Tap to open", // Subtext shown below the message on newer Android versions
color: "blue", // Accent color (Android 5.0+)
smallIcon: "ic_notification", // Small icon shown in the status bar and on the left of the notification (must be a white PNG in your drawable resources)
largeIcon: "ic_launcher", // Large icon shown on the right of the notification (optional)
largeIconUrl: "https://example.com/path/to/image.png", // URL to fetch a large icon (optional)
vibrate: true, // Whether to vibrate
vibration: 300, // Vibration pattern or duration in milliseconds
playSound: true, // Whether to play a sound
soundName: "default", // Sound to play (use 'customsound.mp3' for custom sounds located in '/android/app/src/main/res/raw')
actions: '["Yes", "No"]', // Android action buttons in JSON format
// Additional properties...
});
},
};
export default notificationService;
For further customization and additional settings, refer to the react-native-push-notification documentation.
If you have any questions regarding the customizations process feel free to ask your excellent support team at which you can reach by emailing support@cention.com.