Guides
One task per page. Start with Get started if your app does not show a ContentFlow block yet; come here for everything after that.
How each product works
Business use cases, step-by-step sequences you can play through, what breaks when a step is skipped, and the API calls in order.
What is ContentFlow
A plain-language overview for product, marketing and compliance teams: capabilities, roles, Saudi specifics.
Install & upgrade
Requirements, install and version check per platform, upgrading and rolling back.
Blocks & placements
From a type in code to pixels: targeting, schedules, languages, A/B tests, fallbacks.
Popup frequency & limits
How often one person sees a popup or in-app message, workspace limits, and why something didn’t show.
Popups in your app
A block popup your app draws, or an in-app campaign popup the SDK draws: options, deep links, Arabic, accessibility.
Buttons, links & deep links
Route a tap from a block or campaign safely, and track it.
Theming from content
Brand colours from a block, with fallbacks.
Campaigns & journeys
In-app, push, SMS, WhatsApp and email; approvals, prayer-time blackouts, journeys.
Push notifications
Permission, token, consent, delivery to every install, token hygiene.
Audience & privacy
Profiles, segments and their freshness, enrichment, consent, PDPL, erasure.
Importing users & data
Contacts and consent, bulk segments and suppression, staged attribute imports, source priority.
Analytics
Events, batching, drop reasons, dashboards, and behaviour that becomes segments.
Offline & queues
What each SDK does without a network or before consent, and flushing before sign-out.
Reports & exports
On-demand CSV reports, scheduled email reports and analytics exports.
Localization & strings
String keys from code or import to app: translation, approval, fallback, and sensors on and off.
Sensors
Measure any text in your app; relate signals and move people into segments.
Location & geofencing
IP location, device location, on-device geofences, and what works today.
Identity & consent
Identify, analytics and channel consent, presets, sign-out, erasure, PDPL.
Testing your integration
Test keys, publishing to Test, SDK logging, the end-to-end check, drop reasons.
Security
Which key goes where, base URL rules, certificate pinning, request signing.
Troubleshooting
Symptom, likely cause and fix, linked to the full section: a block that does not show, 401 and 429 errors, missing events.
In depth, per topic
Each area for all platforms at once, in the SDK guide or its own guide.
| Topic | What it covers |
|---|---|
| Content and blocks | Reading blocks and fields, collections, live updates, caching |
| Consent | Identify, analytics consent, per-channel consent, presets for regulated industries, logout, erasure |
| Events | Engagement and custom events, categories, batching, drop reasons |
| Push notifications | Registering tokens, topics and preferences on each platform |
| Location | IP location, device location and on-device geofences |
| Localization and string keys | Creating keys from code or import, approval, delivery, locale fallback, sensors on and off |
| Workspace feature switches | Turning SDK features on and off per workspace without a release |
| Security | The four kinds of key, base URL, certificate pinning, request signing, webhook signatures |
| Test your integration | Test keys, logging switches, the end-to-end check, drop reasons, the API explorer |