检测iOS上的Facebook Messenger应用内浏览器中是否显示网页

时间:2015-09-01 18:15:09

标签: ios facebook messenger

假设我有一个允许用户播放音频的网页。在移动旅行中,可以在关闭振铃的情况下播放音频;如果通过Facebook Messenger打开,则必须打开铃声才能播放音频。我想向用户显示一个上下文感知消息,提醒他们保持他们的铃声以便在我的网页通过Facebook Messenger打开时听到音频,而不是在简单的Mobile Safari中打开时。我已经在Facebook开发人员文档中搜索了类似于kik提供但未找到的API的类似API。

是否有可靠的方法来检测我的网页是否使用SDK或用户代理在Messenger的应用内浏览器中打开?

任何关于其他应用程序的输入/警告也会受到赞赏,或者我的逻辑中存在“ringer on”要求或缺陷。

1 个答案:

答案 0 :(得分:0)

您可以按用户代理进行检查:

export function isFacebookBrowser() {
  const ua = navigator.userAgent || navigator.vendor

  return ua.indexOf('FBAN') > -1 || ua.indexOf('FBAV') > -1
}

export const isMSFamilyBrowser = () => {
  const ua = navigator.userAgent || navigator.vendor
  const agent = ua.toLowerCase()

  return agent.indexOf('edge') > -1 || agent.indexOf('edg') > -1 || agent.indexOf('trident') > -1
}