%% mob_notify_nif — Erlang NIF module for the notifications tier-1 plugin. %% %% iOS: priv/native/ios/mob_notify_nif.m (Objective-C: UNUserNotificationCenter %% scheduling/cancel + registerForRemoteNotifications; the notification-center %% DELEGATE + push-token forwarding + launch-notification handoff stay in mob %% core — the plugin calls core's exported mob_notify_set_screen_pid). Android: %% priv/native/jni/mob_notify_nif.zig bridging to NotificationManager / %% AlarmManager / FirebaseMessaging via io.mob.notify.MobNotifyBridge. Both %% register this module via ERL_NIF_INIT and are statically linked into the %% host binary on device. On a host dev build neither is linked, so on_load %% tolerates the failure and the NIFs fall back to nif_error until the native %% merge links one. -module(mob_notify_nif). -export([ notify_schedule/1, notify_cancel/1, notify_register_push/0 ]). -on_load(init/0). init() -> case erlang:load_nif("mob_notify_nif", 0) of ok -> ok; {error, _} -> ok end. notify_schedule(_OptsJson) -> erlang:nif_error(nif_not_loaded). notify_cancel(_Id) -> erlang:nif_error(nif_not_loaded). notify_register_push() -> erlang:nif_error(nif_not_loaded).