How to know if a package supports Expo custom build?

Hi

Basically, if the package says you need to make changes to build.gradle, AppDelegate.m, MainActivity.java, MainApplication.java, etc., etc. (See Config Plugins - Expo Documentation) then you will need a Config Plugin to be able to use it without ejecting.

If you need a config plugin, the package might have a Config Plugin built-in. (An example of this is React Native Vision Camera. It’s not an Expo package, but it has a config plugin, so you don’t have to write your own.) If not, you’ll need to write the Config Plugin yourself.

In the case of react-native-android-notification-listener, the installation instructions are as simple as possible for a package that uses native code. There are no instructions to edit anything manually (unless you are using an old version of React Native and for some reason want to do things manually. This does not apply to Expo SDK 43.)

i.e. for this package you don’t actually even need a config plugin. Just install it and build with EAS Build. As far as I can see it should just work.

EDIT: See also Modules for Expo - #3 by wodin