No, not at all. There are ways to implement this without making it a requirement to use the app. For example, you implement a counter for each user of the app, so they can only use a subset of the API requests allowed for your application.
Then if they go over their allocated amount of calls, or they have been a user for X days/weeks/months, you give them a guided walkthrough on how to register their own API key.
I imagine for something like 90%+ of users, a popup that says "Your maximum number of API calls has been reached, click this link and register your own API key to continue using..." is an instant nope
Then if they go over their allocated amount of calls, or they have been a user for X days/weeks/months, you give them a guided walkthrough on how to register their own API key.