Why MAM’s button types share a duck-typed six-method contract, what each method does, and how the methods split between the admin builder and the device payload.
Register both the submit-time value transform and the per-form submission handler so a custom field type (signature, barcode) renders and persists end to end.
Register a new type in $local_app_content, wire it into the content-class manager, and feed your own data into the app’s existing list view.
Use the mam_hss_* filters to inject pinned-to-top items, post-nav-header banners, and end-of-stack CTAs into the app home screen.
Inject a custom field into the app user profile, persist it with the per-field save filter, and read it back into the phone-data payload.
Can't find the answer you're looking for? Don't worry we're here to help!