Aeion BaaS + APNs (Apple Push)

Configure APNs (Apple Push Notification service) in Aeion BaaS. Token-based auth (modern p8 certificate flow — not the legacy .p12), iOS device token registration, direct-send and campaign push delivery through Aeion's push system. Specialized push types (VoIP, critical alerts, time-sensitive, Live Activities) aren't exposed yet — standard alert pushes only, for now.

Setup — Apple Developer Side

  1. Open developer.apple.com → Certificates, Identifiers & Profiles

Setup — Aeion Side

```bash

Device Token Registration

iOS apps register device tokens via the Apple OS, then send them to Aeion.

Push Campaign Delivery

Send a push from your server (or from a cloud function on Aeion BaaS).

Push Type Coverage Today

APNs itself supports several specialized push types beyond standard alerts — VoIP (apns-push-type: voip), critical alerts (interruption-level: critical), time-sensitive (interruption-level: time-sensitive), and Live Activities (iOS 16+, ActivityKit). Aeion's current APNs adapter always sends apns-push-type: alert with a standard aps payload (title, body, sound, badge, mutable-content) — it doesn't yet expose a way to select VoIP, critical-alert, time-sensitive, or Live Activity headers per push. If your game needs one of these specialized types (e.g., CallKit-integrated voice chat needs VoIP push), treat it as not yet supported rather than assuming a pushType parameter exists.

Common Gotchas

  • Sandbox vs production environment — APNs has separate environments. Dev builds (Xcode-installed) get sandbox tokens; TestFlight + App Store builds get production tokens. The BAAS_PUSH_APNS_ENVIRONMENT config must match.

FAQ

Use APNs directly when possible — Aeion's adapter is direct. FCM is required if you want to use Firebase's segmentation features, but adds a hop (FCM → APNs). Direct APNs is lower latency + no FCM dependency.

Same APNs flow. macOS apps register the same way; APNs delivers to the macOS device. Aeion's device-token record tracks the platform (ios | ipados | macos | watchos | tvos) — same APNs server-side.

Watch apps with paired iOS app: pushes go to iOS; watchOS app handles via complication updates or background processing. Watch standalone apps (no iPhone pairing) register their own token; configure separately.

APNs is free from Apple — no per-push fees. Aeion's push notifications are included in every tier (with volume caps per the pricing matrix).

APNs doesn't provide delivery confirmation (Apple delivers + Apple may drop). Aeion tracks "sent" status; "opened" status comes from app-side analytics (your iOS code calls back to Aeion when user taps the notification).

APNs allows ~9000 notifications/sec per connection. Aeion's adapter maintains a connection pool; effective throughput is millions/min. Apple may throttle if you abuse silent push or send to invalid tokens.

APNs tokens are not PII by themselves (they're opaque identifiers). However, your notification CONTENT may contain PII; respect player preferences (silent if they've opted out). Aeion's COPPA flow auto-disables push for under-13 accounts.

iOS push for games — direct APNs, no FCM hop.