naya-push
v1.0.6
Published
Push notification SDK for web apps
Maintainers
Readme
🚀 Naya Push SDK
Lightweight Web Push SDK for modern web apps. Easily enable push notifications without Firebase.
✨ Features
- ⚡ Simple integration (2–3 lines setup)
- 🔔 Native Web Push (no Firebase dependency)
- 📡 Automatic device registration
- 🔑 VAPID-based secure delivery
- 📊 Event tracking support
- 🧠 Built for SaaS-scale push systems
📦 Installation
npm install naya-push🚀 Quick Start
1. Register Service Worker
await navigator.serviceWorker.register("/sw.js");2. Initialize SDK
import PushSDK from "naya-push";
await PushSDK.init({
apiKey: "YOUR_API_KEY",
apiUrl: "http://localhost:3000",
appId: 1,
});3. Enable Push Notifications
await PushSDK.enablePush();📡 Example
import { useEffect } from "react";
import PushSDK from "naya-push";
function App() {
useEffect(() => {
const setup = async () => {
await navigator.serviceWorker.register("/sw.js");
await PushSDK.init({
apiKey: "YOUR_API_KEY",
apiUrl: "http://localhost:3000",
appId: 1,
});
};
setup();
}, []);
const enablePush = async () => {
const device = await PushSDK.enablePush();
console.log("Device registered:", device);
};
return (
<button onClick={enablePush}>
Enable Push
</button>
);
}🔔 Service Worker Example (public/sw.js)
self.addEventListener("push", (event) => {
const data = event.data.json();
self.registration.showNotification(data.title, {
body: data.body,
});
});📊 Track Events
PushSDK.track("user_clicked_button", {
page: "home",
});⚙️ Configuration
| Key | Type | Required | Description | | ------ | ------ | -------- | -------------- | | apiKey | string | ✅ | Public API key | | apiUrl | string | ✅ | Backend URL | | appId | number | ✅ | App identifier |
🔐 How It Works
- Fetches VAPID public key from backend
- Registers service worker
- Subscribes user to push notifications
- Sends subscription to backend
- Backend sends push via Web Push protocol
⚠️ Requirements
- HTTPS (required for push notifications)
- Modern browser (Chrome, Edge, Firefox)
- Service Worker support
🛠️ Development
npm install
npm run build📌 Roadmap
- [ ] TypeScript support
- [ ] Retry & fallback system
- [ ] Analytics dashboard
- [ ] Multi-device sync
🤝 Contributing
Pull requests are welcome. For major changes, please open an issue first.
📄 License
MIT
👨💻 Author
Talha
