I've gone through the steps to setup App Invites as described here.
Out of curiosity, I tried without including the google-services.json and it still works depending upon the configuration in Google Developer Console.
If there is no Android API key (or there is an Android API key but no package restrictions) then App Invites works (by "works" I mean is able to send the invite message - I haven't tested the other features such as referrals). If API key package restrictions are defined then those rules are obeyed.
UPDATE: Try this scenario - No Api Keys defined, Two OAuth 2.0 client IDs - one for release, one for debug. Then App Invites can send messages in both release and debug builds without any need for the json file.
Is this all expected behaviour? What benefits does including the json file bring?
I presume you are testing it on your own device. The thing is it'll work as long as you are using adb and uploading directly to your device but in order for it to work on other devices after releasing an apk, you would need to generate an sha key from your release keystore, and also include the google-services.json
For detailed information about the inner workings of google-services gradle-plugin see my other answer:
https://stackoverflow.com/a/33083898/433421