this has been already reported a couple of times:
The main problem, is that this setting in vimeo works checking the browser referrer (or maybe the top frame URL, I'm not sure), the app is like an independent system using a different domain (in fact, it uses the file:/// protocol) and it doesn't send referrals in the http requests.
I'd suggest you to use this approach (I know is not ideal because it takes more work and it will force you to have the video duplicated but is the only solution I can think of):
- Install the Mobile app availability plugin: https://moodle.org/plugins/availability_mobileapp
- Configure the current resource to not be available via Moodle Mobile
- Add the same resource configured to be available via Moodle Mobile but with the video uploaded to Moodle
You'll end having the same resource two times but the user will see one of the other depending on how he is accessing to Moodle.
Another possible solution (that I'm not sure if they will work in the app) is add the embed code inside an html file hosted in the server (in a separate directory in the same domain that your Moodle site), and then instead adding the embed code in the resource add an iframe pointing to that file. In this scenario, the app will print the iframe and the video will be played from the server. Using this approach I think Vimeo would accept to play the video.