Apparently you need to set the CCCD handle of your target characteristic to enable notification. Problem is, how do you do that? I now know at least 2 ways to do that, one of them doesn't work at all and they are completely contradictory.
Method 1: You need a central device to do that. Let's say an android device. You must find the right API and call it, and then boom! You are all set. I tried it, it doesn't work. But above everything, you NEED, NEED NEED YOU MUST HAVE a central device to set the handle in order for this to work, like a consent thing. Which is extremely confusing because:
Method 2: You can do it using sd_ble_gatts_sys_attr_set(). According to some answers of this site, you can enable CCCD by calling sd_ble_gatts_sys_attr_set, as long as you correctly identified/located the CCCD handle. Also, these answers make it look like as if you don't need a central device, like, AT ALL!
This is just puzzling. What am I supposed to listen? I'm going with the 2nd one because the first 1 doesn't work. And as always, documents on the fucntion sd_ble_gatts_sys_attr_set is extremely generic, no example, no user-case, just dispassionate monologue-ish description.
Dear NRF, once again I'm down on my knees and begging for help. Please do.