Polling is expensive and inefficient.
The recommended and least expensive approach (if you don't want to use Realtime Database) is basically leave it for this to be detected when needed (when you need to make a request that requires authentication).
So you can either wait for the user to make a request that requires authentication (by passing the ID token). When you call getIdToken() it will refresh underneath and if revocation is detected, automatically logout the user.
Another approach is to do it server side. This could allow you to detect before the ID token is refreshed using admin sdk by calling verifyIdToken(idToken, true) but only when a request is sent.
Worst case, you could proactively refresh the token (provided the app is in foreground) whenever it expires (every hour) which would detect the invalidation in the process.
Bassam