Skip to content
Back to skills

Add Onesignal Push

ASecurity

Add advanced push notifications via OneSignal in RN + Expo with segmentation, A/B testing, and re-engagement campaigns. Use when the user says 'add onesignal', 'better push notifications', 'push segmentation', 'push a/b test', 'reengagement push'.

  • 3 stars
  • 0 votes
  • 0 copies
  • 0 views
  • Added October 4, 2026
developmentgobashreacttestingapibackend

Works with

  • api

Security analysis

A96/100
  • mediumInstalls packages at runtime which could introduce malicious dependencies

Pro scans all 2 files and shows the line behind each finding

Scanned October 4, 2026

npx -y skills add khadinakbarlabs/expo-mobile-app-builder --skill add-onesignal-push --agent claude-code

Installs into .claude/skills of the current project.

Are you the author of Add Onesignal Push?

Add the live security badge to your README. It updates with every re-scan.

Security grade badge for Add Onesignal Push
[![Security: A — Skills Directory](https://www.skillsdirectory.com/api/skills/khadinakbarlabs-add-onesignal-push/badge)](https://www.skillsdirectory.com/skills/khadinakbarlabs-add-onesignal-push)

More formats (shields.io, HTML) on the badges page. Keep it an A: scan every change in CI with Pro.

Download with Pro
SKILL.md
---
name: "add-onesignal-push"
description: "Add advanced push notifications via OneSignal in RN + Expo with segmentation, A/B testing, and re-engagement campaigns. Use when the user says 'add onesignal', 'better push notifications', 'push segmentation', 'push a/b test', 'reengagement push'."
---

# Add OneSignal Push (advanced beyond expo-notifications)

`expo-notifications` is fine for basic push. OneSignal adds: segmentation, A/B test, scheduled campaigns, automation triggers.

## When to use which

| Need | Tool |
|---|---|
| Send push to a single user from your backend | expo-notifications + Expo Push API |
| Send to all users / a segment | OneSignal |
| Triggered campaigns (e.g., "didn't open in 3 days") | OneSignal |
| A/B test push copy | OneSignal |
| In-app messages (overlays, not just push) | OneSignal |

## Install

```bash
pnpm add onesignal-expo-plugin react-native-onesignal
```

In `app.json`:
```json
{
  "expo": {
    "plugins": [
      [
        "onesignal-expo-plugin",
        {
          "mode": "production",
          "iosNSEFilePath": "./assets/onesignal/NotificationServiceExtension.m"
        }
      ]
    ]
  }
}
```

## Init (App.tsx)

```tsx
import { OneSignal } from 'react-native-onesignal';

OneSignal.initialize('YOUR_ONESIGNAL_APP_ID');

// Request permission (use after onboarding, not at app start)
OneSignal.Notifications.requestPermission(true);

// Tag user properties for segmentation
OneSignal.User.addTags({
  plan: 'pro',
  signup_date: '2026-01-15',
  language: 'en',
});

// Set external ID (your backend user ID)
OneSignal.login(user.id);
```

## Segmentation

In OneSignal dashboard, create segments:
- "Trial users (first 7 days)"
- "Paying users"
- "Churned users (no open in 14d)"
- "iOS users on iOS 18+"
- "EN users"

Then send campaigns to specific segments.

## Triggered campaigns (the killer feature)

Examples:
- "User completed onboarding but didn't return in 24h" → "Don't forget to log your first meal!"
- "Trial ends in 24h and user hasn't subscribed" → "Last chance — your trial ends tomorrow"
- "User opened app 3+ times this week" → "You're on fire! Try this advanced feature."
- "User hasn't opened in 14 days" → "We miss you. Here's what's new."

Configure in OneSignal -> Messages -> Automation.

## A/B testing copy

```
Variant A: "Your streak is at 7 days. Keep it going!"
Variant B: "🔥 7-day streak! Tap to extend."

OneSignal sends each to 50%, picks winner after 24h based on open rate.
```

## In-app messages (not push)

For users who are IN the app: overlays, banners, modals.

Use case: announce a new feature when user opens the home screen for the 5th time.

## Privacy

- Add OneSignal to your Privacy Manifest (`privacy-manifest-rn`)
- Mention OneSignal in Privacy Policy
- OneSignal is GDPR-compliant, has DPA in dashboard
- Don't tag PII (no email, phone) — use external ID only

## Cost

- Free tier: 10k subscribers, unlimited push
- Pro: $9/mo + usage above thresholds
- Indie apps usually stay free until 10k installs

## Common gotchas

- Forgetting NSE (Notification Service Extension) for rich push (images, action buttons)
- Asking for push permission too early = denied 80%+
- Push permission denied = can't ask again unless user goes to Settings
- Best practice: use custom pre-prompt screen explaining VALUE before showing system dialog

## Pair with
- `add-expo-notifications` for basic push (combine: use expo for transactional, OneSignal for marketing)
- `add-deep-links` so push opens specific screen
- `add-posthog-rn` to measure push → engagement → conversion

Files in this skill

  • SKILL.md3.5 KB
  • agents/openai.yaml185 B

Attribution

Is this your skill, or is something wrong with this listing? Request removal or report an issue. Author removals are honored within 72 hours.

Comments

Loading comments…