\>>I tried following this medium article but it didn't work as expected..
Approach, suggested in this article, causes issue MissingPluginException.
Flutter creates 2 instances of the plugin for main and background isolate and each instance has it own method channel.
When you apply suggested approach and made channel static (single channel instance for both isolates plugin instances) happens following:
To fix this case - create channel for each plugin instance and if required make your implementation static (singleton) and share between plugin instances.