[Technical] Metamask DApp Browser explains/technical breakdowns

Hello guys,

I am building a mobile wallet and want to learn how Metamask Mobile implements the DApp Browser.

I have learnt that Metamask Mobile will inject a JS script into the WebView so that it can receive events (such as eth_requestAccounts) from the DApp.
But I do not really understand how the mobile app responds to the DApp. How the DApp know which account is currently selected, for example.

Wondering if there is any tutorial out there that break downs all of the detailed implementation of Metamask Mobile DApp Browser.

Thanks in advance.
Really appreciate any help.