Similar to Ethereum dapp, Metamask will inject a window.ethereum for dapp to use. We need to do the same thing which is done by Inpage script, probably window.ckb. Dapp developer needs to check if window.ckb exists, if exists, developer should use it, otherwise other provider should be specified.