It should be a well established truth that on-board camera microphones are bad to terrible, and on some cameras, for some applications, they are downright useless. A few months ago, I bought a Røde SmartLav+ to take more control over the sound quality of some of my videos. I record sound on my iPhone, and combine the footage with the audio in post production, an editing step that (given software that supports audio-based sync) takes very little time, and which helps solve the issue of poor audio quality.
I looked at a number of options, and eventually landed on the SmartLav+, which does everything I need it to, at a decent price point. I like the fact that it uses a standard 3.5mm jack, which means that I am not limited to using it with a phone featuring a lightning connector (which was what was offered from some of the alternatives I looked at) and could use any compatible device. While this means that I must use a jack to lightning connector converter to use the mic, that is a good tradeoff to my mind.
In the video below, I make what can only be termed a supremely unfair comparison between the on-board microphone on a GoPro Hero 5 Black and the SmartLav+; I am pleased with the frankly staggering improvement in audio quality, and have not regretted picking it up.