At least for specifically the label, I think that I found a solution to your problem. It has to be implemented as a
JavaScript plugin. This page should give you the information that you need:
https://docs.moodle.org/dev/Mobile_support_for_plugins#Delegates
The reason why the label activity does not work is that the templates are only downloaded when the activity is selected. Labels don't have any selection. That is why the label plugin does not work. So the solution is that the plugin needs to be tagged, so it is loaded at login.
If you make a
javascript solution, you will need "CoreCourseModulePrefetchDelegate".
And that is the only solution, unless you modify things in the core application by using "CoreQuestionDelegate".
In the mobile app, there seems to be a lot of trigger events missing.
But I think that the solution still lies with finding a solution to whole issue of displaying an activity or resource directly on the main page instead of requiring a different dialog box to be opened. Then the triggers in the main code just need to be added to say that a mobile device is being used and not a web device.
But the part of this whole conversation that make no sense is that there should be no real difference between the mobile app and the webapp except
1. The mobile app needs to sync the data with a local
database.
2.
Activities that make no sense to have in a mobile app, should be turned off / not included.