SDKsExpo
Versioning and payload contract
SemVer policy for @motisig/expo-motisig-sdk and the rich image payload contract.
Image payload contract
The reference NSE returns the first non-empty match from:
_motisig.imageUrl/_motisig.image_url/_motisig.image(MotiSig AI canonical)_richContent.image(Expo push relay — what you get when sending via the Expo push API)fcm_options.image(FCM relay)- Top-level
image/imageUrl/image_url(host-app convenience)
A single server payload that uses _motisig.imageUrl lights up the banner image wherever the right delivery setup is in place. See Rich notification images.
What changed in 1.0.1
- Persistent click queue —
ClickDispatcherwith deduplication and exponential-backoff retries (AsyncStorage when installed). clickRetryoninitialize— optionalmaxAttempts,baseDelayMs,maxDelayMs(additive; defaults unchanged if omitted).- Persisted user id — cold-start notification handling can attach clicks after relaunch before
setUserruns again.
Versioning
@motisig/expo-motisig-sdk follows semantic versioning. Changes considered breaking:
- Removing or renaming an exported symbol from
@motisig/expo-motisig-sdk. - Changing the shape of
MotiSigInitializeOptions(adding required fields, renaming fields, narrowing types). - Changing the discriminated union
MotiSigClientEvent. - Renaming or removing a
MotiSigApiError/MotiSigErrorshape. - Bumping a peer dependency to a new major (
expo,expo-notifications,react-native). - Changing the canonical push payload keys (
_motisig.imageUrl,messageId, etc.) on the wire.
Additive changes (new methods, new optional options, new event fields) are minor or patch.