Files
2026-07-13 12:20:06 +08:00

936 B

iOS JS Bridge Patterns

Inject Exit and Common Handlers

let exitHandlerScript = """
window.addEventListener('zoomCampaignSdk:ready', () => {
  if (window.zoomCampaignSdk) {
    window.zoomCampaignSdk.native = {
      exitHandler: { handle: function() { window.webkit.messageHandlers.zoomLiveSDKMessageHandler.postMessage('close_web_vc'); } },
      commonHandler: { handle: function(e) { window.webkit.messageHandlers.commonMessageHandler.postMessage(JSON.stringify(e)); } }
    };
  }
});
"""

Inject Support Handoff

let handoffScript = """
window.addEventListener('support_handoff', (e) => {
  window.webkit.messageHandlers.support_handoff.postMessage(JSON.stringify(e.detail));
});
"""

URL Handling Policy

  • WKNavigationActionPolicyAllow for trusted in-app routes.
  • UIApplication.openURL for system-browser policy.
  • Optional in-app browser route (for example SFSafariViewController).