我正在尝试实现在我的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);