Is it common practice to force users to fill in a form before they can use a non paid app?

I have to develop an app and one of the requirements is to capture data before the app's content is made available to the user.

I have read Should I force the user to enter an email before actually using a paid app?. I've read it's not a good practice, potentially illegal and likely to be banned by the appStore if an opt-in is not in place. The post, however, concentrates on a paid app.

Does it make a difference if the app is free to download?

The client's idea is that the content of the app adds a great value to the user. So the value, in this case, is traded for data (e-mail address and more).

Is it common practice to have the form inside the app itself and make content available after it's submitted?