I worked out a way to use h5p activities on mobile. But it is not secure, so not recommended.
1, create a h5p activity in a course.
2, create a page activity
3, get the embed code from the h5p activity and paste in the page activity.
4, in Home -> Site administration -> Security -> HTTP security -> Allow frame embedding
App user should be able to see the h5p activity on mobile now.
If you want to record the user activity, you need another plugin, generico filter,
I added a generico filter template like this:
<iframe id="embed_h5p_with_user" src="https://yourmoodle.com/mod/hvp/embed.php?id=@@h5p_id@@&user_id=@@USER:ID@@" width="750" height="1334" frameborder="0" allowfullscreen="allowfullscreen"></iframe>
Copy the h5p activity id, then edit the page activity, use the generico filter template you just created, input the id.
also add 4 lines to moodle/mod/hvp/embed.php before try{}catch{}
if(isset($_GET['user_id'] && $_GET['user_id'])){
$USER = $DB->get_record('user', array('id' => $user_id));
$PAGE->set_context(context_system::instance());
}
now the embeded code should work on mobile app.