Skip to main content
SDKsiOS

Versioning and payload contract

SemVer policy for the MotiSig iOS SDK and the rich image payload contract.

Image payload contract

MotiSigRichPushHandler resolves the first non-empty match from:

  1. _motisig.imageUrl / _motisig.image_url / _motisig.image (MotiSig AI canonical)
  2. _richContent.image (Expo push relay — what you get when sending via the Expo push API)
  3. fcm_options.image (FCM relay)
  4. 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.

Versioning

The iOS SDK follows semantic versioning. Changes considered breaking:

  • Removing or renaming a public symbol exported from MotiSig.
  • Changing a method signature in MotiSigNotificationListener or MotiSigRichPushHandler.
  • Adding a new required initializer parameter to MotiSig.initialize or to a public model.
  • Renaming or removing a MotiSigError case.
  • Changing the canonical push payload keys (_motisig.imageUrl, messageId, etc.) on the wire.

Additive changes (new methods, new optional parameters, new MotiSigNotification fields) are minor or patch.

Release notes: CHANGELOG.