假设我有一个允许用户播放音频的网页。在移动旅行中,可以在关闭振铃的情况下播放音频;如果通过Facebook Messenger打开,则必须打开铃声才能播放音频。我想向用户显示一个上下文感知消息,提醒他们保持他们的铃声以便在我的网页通过Facebook Messenger打开时听到音频,而不是在简单的Mobile Safari中打开时。我已经在Facebook开发人员文档中搜索了类似于kik提供但未找到的API的类似API。
是否有可靠的方法来检测我的网页是否使用SDK或用户代理在Messenger的应用内浏览器中打开?
任何关于其他应用程序的输入/警告也会受到赞赏,或者我的逻辑中存在“ringer on”要求或缺陷。
答案 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
}