如何在React Native iOS中使用深度链接打开Facebook应用程序中的特定视频?



我正在尝试实现在我的iOS应用程序中播放Facebook视频的应用程序到应用程序流程。我使用URL方案fb://video/{video_id}打开带有特定视频的Facebook应用程序,但视频实际上并不播放,只有Facebook应用程序的视频页面显示。

我试过使用不同的URL方案,包括fb://facewebmodal/f?href=https://www.facebook.com/{video_id}fb://watch/video?id={video_id},但它们似乎都不起作用。

我在iOS设备上运行我的应用程序,安装了最新版本的Facebook应用程序。我应该使用不同的URL方案吗?

我的代码是(它在android上运行良好):

const handlePlayFacebookVideo = async (sourceUrl) => {
const videoId = getFacebookVideoId(sourceUrl)
try {
const scheme = Platform.select({ ios: 'fb://', android: 'fb://facewebmodal/f?href=' });
const url = Platform.select({ ios: `${scheme}video/?id=${videoId}`, android: `${scheme}${encodeURIComponent(sourceUrl)}` });

const supported = await Linking.canOpenURL(url);
if (supported) {
await Linking.openURL(url);
}
if (!supported) {
await Linking.openURL(sourceUrl);
}
} catch (error) {
console.log('Error playing Facebook video:', error);
}
}

任何帮助或指导将不胜感激。谢谢你!

偶然地,我注意到当我在网络上发送相同的URL时,如果设备安装了Facebook应用程序,它会打开它。如果没有,浏览器也会显示。

根据我的代码,它是这样工作的

await Linking.openURL(sourceUrl);

相关内容

  • 没有找到相关文章

最新更新