美文网首页
ogp协议的iOS系统自带分享功能

ogp协议的iOS系统自带分享功能

作者: Trigger_o | 来源:发表于2020-05-25 16:36 被阅读0次

    iOS自带分享功能,包含系统App和第三方App,可以分享多种格式的文件
    也可以分享url(图标+描述+链接)

    1.弹出分享面板

    image.png
    UIActivityViewController *activity = [[UIActivityViewController alloc] initWithActivityItems:@[@"分享",[UIImage imageNamed:@"photo"],[NSURL URLWithString:@"http://testshare.html"]] applicationActivities:nil];
         UIPopoverPresentationController *popover = activity.popoverPresentationController;
         if (popover) {
            popover.sourceView = self.view;
            popover.permittedArrowDirections = UIPopoverArrowDirectionUp;
          }
        [self presentViewController:activity animated:YES completion:NULL];
    

    上面的代码中
    initWithActivityItems是一个数组.把需要分享的标题,图标,连接放在里面,第三方App拿到的时候,会在openURL中处理,但是没有分享的描述,因此,如果分享到微信中,分享的描述会被显示成链接地址,如果分享到qq中,则默认显示html的title(而且是重复显示),不同的版本应该有所不同

    内容是html的title
    显示的是html链接

    2.添加分享消息的描述
    分享的描述是在网页中添加的
    在html标签中添加

    <html lang="zh-cn" prefix="og: http://ogp.me/ns#">
    

    然后增加meta标签

    <meta property="og:description" content="‎这是内容">
    <meta name="twitter:title" content="‎标题">
    <meta name="twitter:description" content="‎这是内容">
    

    ogp协议是一个用于社交平台的开放协议,添加一系列meta标签,社交App会进行解析,html标签中的prefix="og: http://ogp.me/ns#只是作为标示,不加也不会影响meta标签生效
    有下面几种meta
    og:title
    og:type 类型
    og:image 略缩图地址
    og:url 页面地址
    og:description 页面的简单描述
    og:site_name 页面所在网站名
    og:videosrc 视频或者Flash地址
    og:audiosrc 音频地址

    从App Store分享一个app,然后查看源码可以看到所有meta标签,可以用做参考

    其中qq似乎使用的是twitter:,而且必须要添加twitter:title
    因此qq和微信至少需要添加上面三个meta标签
    另外qq带有缓存,同一个html修改标签不会立即生效

    显示出了描述

    相关文章

      网友评论

          本文标题:ogp协议的iOS系统自带分享功能

          本文链接:https://www.haomeiwen.com/subject/yowyahtx.html