@cliqdigital/bloomreach-sdk
Version:
React component library for integrating Bloomreach SDK with push notifications support
97 lines (72 loc) • 2.9 kB
Markdown
# Bloomreach SDK Integration
A React component library for integrating Bloomreach SDK with push notifications support.
## Features
- 🔔 Push Notification Support
- 🎯 Customizable Consent Banner
- 📊 Automatic Consent Tracking
- 🔄 Subscription Management
- 🎨 Customizable Styling
- 🌐 Cross-browser Support
- 📱 Graceful fallback for unsupported browsers
## Quick Start
### Installation
```bash
npm install @cliqdigital/bloomreach-sdk
```
### Prerequisites
Before using the Bloomreach integration, ensure the following prerequisites are met:
1. **Web Push Notifications Setup**:
- Enable web push notifications in Bloomreach Integrations
- Do not use FCM (Firebase Cloud Messaging)
- Configure the necessary service worker and VAPID keys
2. **Consent Management**:
- Go to Project Settings -> Privacy Management -> Consent
- Add a new consent named `browser_notifications`
- This consent will be used to track user permission for browser notifications
3. **Service Worker Setup**:
- Create a file `public/service-worker.js` with the following content:
```javascript
importScripts('https://eu2-api.eng.bloomreach.com/js/service-worker.min.js');
```
- This service worker is required for web push notifications to work
### Browser Compatibility
The SDK supports all modern browsers with the following considerations:
- **Full Support**: Chrome, Firefox, Edge, Opera (desktop and mobile)
- **Limited Support**:
- Safari on iOS/iPadOS does not support web push notifications
- The SDK automatically detects this and gracefully disables push notification features
- All other tracking and non-notification features will continue to work
The SDK performs automatic browser capability detection and won't show notification consent banners on unsupported browsers. This ensures a consistent experience for users across all platforms.
### Basic Usage
```typescript
import { BloomreachProvider } from '@cliqdigital/bloomreach-sdk';
function App() {
return (
<BloomreachProvider
config={{
projectToken: "your-project-token",
notifications: {
showConsentBanner: true,
consentBannerProps: {
title: "Enable Push Notifications",
description: "Stay updated with our latest news and updates!"
}
}
}}
>
{/* Your app content */}
</BloomreachProvider>
);
}
```
## Documentation
For detailed documentation, please see:
- [Full Documentation](./docs/DOCUMENTATION.md)
- [Configuration Guide](./docs/DOCUMENTATION.md#configuration)
- [Event Tracking](./docs/DOCUMENTATION.md#event-tracking)
- [Styling Guide](./docs/DOCUMENTATION.md#styling)
- [Troubleshooting](./docs/DOCUMENTATION.md#troubleshooting)
## Contributing
We welcome contributions! Please see our [Contributing Guide](./CONTRIBUTING.md) for details.
## License
MIT