This is only if you need to do something that React-Native hasn’t abstracted away, which is actually very little. This headphone jack modem just happened to be one of the few things that needed native bridging.
Since this is a more advanced scenario I wanted to share this chunk of working code because lack of working examples made it a lot harder for us. The client sent me a test app designed to work with the ball that basically just read the data from the ball and displayed it in an IOS view.
They had already configured the application to work with a custom audio decoding library written in C that needed to pass event values to RN.
In this case there was too much custom and no getting around it. If we had used bluetooth to communicate with the ball for example, this could have been much different.