Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/pcjbird/easysharekit
Easy way to parse share object from H5 page. 一种从 H5 页面获取分享对象的简便的方法。
https://github.com/pcjbird/easysharekit
easysharekit h5 kit object page share web
Last synced: 3 days ago
JSON representation
Easy way to parse share object from H5 page. 一种从 H5 页面获取分享对象的简便的方法。
- Host: GitHub
- URL: https://github.com/pcjbird/easysharekit
- Owner: pcjbird
- License: mit
- Created: 2017-07-25T02:38:12.000Z (over 7 years ago)
- Default Branch: master
- Last Pushed: 2018-11-12T02:31:05.000Z (about 6 years ago)
- Last Synced: 2024-04-29T11:04:31.436Z (8 months ago)
- Topics: easysharekit, h5, kit, object, page, share, web
- Language: Objective-C
- Homepage:
- Size: 986 KB
- Stars: 1
- Watchers: 3
- Forks: 0
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
- License: LICENSE
Awesome Lists containing this project
README
![logo](logo.png)
[![Build Status](http://img.shields.io/travis/pcjbird/EasyShareKit/master.svg?style=flat)](https://travis-ci.org/pcjbird/EasyShareKit)
[![Pod Version](http://img.shields.io/cocoapods/v/EasyShareKit.svg?style=flat)](http://cocoadocs.org/docsets/EasyShareKit/)
[![Pod Platform](http://img.shields.io/cocoapods/p/EasyShareKit.svg?style=flat)](http://cocoadocs.org/docsets/EasyShareKit/)
[![Pod License](http://img.shields.io/cocoapods/l/EasyShareKit.svg?style=flat)](https://www.apache.org/licenses/LICENSE-2.0.html)
[![CocoaPods](https://img.shields.io/cocoapods/at/EasyShareKit.svg)](https://github.com/pcjbird/EasyShareKit)
[![CocoaPods](https://img.shields.io/cocoapods/dt/EasyShareKit.svg)](https://github.com/pcjbird/EasyShareKit)
[![GitHub release](https://img.shields.io/github/release/pcjbird/EasyShareKit.svg)](https://github.com/pcjbird/EasyShareKit/releases)
[![GitHub release](https://img.shields.io/github/release-date/pcjbird/EasyShareKit.svg)](https://github.com/pcjbird/EasyShareKit/releases)
[![Website](https://img.shields.io/website-pcjbird-down-green-red/https/shields.io.svg?label=author)](https://pcjbird.github.io)# EasyShareKit
### Easy way to parse share object from H5 page. 一种从 H5 页面获取分享对象的简便的方法。
> 可以通过自定义 H5 元标记的方式来自定义属于您自己项目的分享对象。
## 什么是 H5 元标记(H5 Meta Tags)
H5 元标记,即 H5 Meta Tags,对 Open graph 协议下的常规 meta tag 进行支持和兼容,并基于国情对 OpenGraph 不适用的对象类型或属性进行有限扩展标记。可以和 OpenGraph 一起使用。
## 为什么要配置 H5 Meta Tags
传统互联网信息单元往往以 Web Page 为单位,以 URL 为线索进行索引和流转。通过定义 H5 Meta Tags,可以穿透 Web Page,准确索引互联网上的 Object,对互联网上的物体进行格式化管理。拥有格式化的 Object 数据,就可以为用户提供灵活、扩展性强、易读的内容展示模块。
## 如何定义对象(Object)类型?赞组件支持哪些对象(Object)类型?
假定我们自定义的 H5 元标记为 **MyProject** , 以下依次作为示例,您可以根据您自己的项目自定义 H5 元标记。
* 定义方式:
```
```
或
```
```
定义对象类型后,通过查询对象属性表,定义对象详细属性信息。
* 赞组件支持的对象类型如下: 网页(webpage)、文章(article)、音频(audio)、图片(image)、人(person)、地点(place)、产品(product)、视频(video)、书(book)、游戏(game)、应用(app)
## 如何定义 H5 Meta Tags
假定我们自定义的 H5 元标记为 **MyProject** , 以下依次作为示例,您可以根据您自己的项目自定义 H5 元标记。
找到适合您网页的对象类型,通过对象属性表查询并设定属性值,详细的设定将带来更好的效果,最后将代码放入head中即可,下面列举两个部署实例进行说明
【视频】对象Meta代码实例://必填
```
//选填
```
以上代码使用OpenGraph 和MyProject Meta Tags混合方式, MyProject Meta Tags目前支持五个OpenGraph基础属性,即
```
```
以上OG属性可与MyProject Meta Tags属性直接互通使用。 完全使用MyProject Meta Tag代码格式实例如下://必填
```
//选填
```
【网页】对象Meta代码实例://必填
```
//选填
```
## 严格定义与非严格定义
下面A与B两种格式,其中A为严格定义,B为非严格定义,区别就在于非严格定义可省略中间段。
```
A) MyProject:video:embed_code
B) MyProject:embed_code
```当明确定义了type对象类型时,可使用非严格定义,所有属性均会被识别为当前定义类 型;否则将不被识别。建议严格定义。
## 单个属性的多值定义
单个属性的多值定义即对某个对象属性(即标记)可同时赋予多个不同值,属性值根据表现层产品需要按顺序显示。
方法:每行定义一个属性,需要 meta 标签,同样的属性以及不同的赋值,按顺序逐行定义。示例:
image 属性定义多个值,即多张图片```
```
注1:目前此方法仅对所有对象类型image属性开放,其它属性暂不支持。
注2:image属性多值定义目前可用于分享窗口预置图片。
## 对象(object)详细属性表
#### 网页(webpage)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | webpage,对象类型 |
| MyProject:webpage:url | string | 必填 | og:url | 网页的URL地址 |
| MyProject:webpage:title | string | 必填 | og:title | 网页的显示名称标题 |
| MyProject:webpage:description | string | 必填 | og:description | 网页的文字描述 |
| MyProject:webpage:image | string | | og:image | 网页的显示图片 |
| MyProject:webpage:create_at | date time | | | 网页的创建时间 |
| MyProject:webpage:update_at | date time | | | 网页的更新时间 |代码示例://必填
```
```
//选填
```
```
#### 文章(article)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | article,对象类型 |
| MyProject:article:url | string | 必填 | og:url | 文章的URL地址 |
| MyProject:article:title | string | 必填 | og:title | 文章的显示名称标题 |
| MyProject:article:description | string | 必填 | og:description | 文章的文字描述 |
| MyProject:article:image | string | | og:image | 文章的显示图片 |
| MyProject:article:create_at | date time | | | 文章的创建时间 |
| MyProject:article:update_at | date time | | | 文章的更新时间 |代码示例://必填
```
```
//选填
```
```
#### 音频(audio)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | audio,对象类型 |
| MyProject:audio:url | string | 必填 | og:url | 音频的落地页URL地址 |
| MyProject:audio:title | string | 必填 | og:title | 音频的显示名称 |
| MyProject:audio:description | string | 必填 | og:description | 音频的文字描述 |
| MyProject:audio:image | string | | og:image | 音频的显示图片 |
| MyProject:audio:embed_code | string | | | 音频播放的嵌入代码 |
| MyProject:audio:stream | string | | | 音频流的链接源 |
| MyProject:audio:duration | string | | | 音频播放的时长,秒 |
| MyProject:audio:create_at | date time | | | 音频的创建时间 |
| MyProject:audio:update_at | date time | | | 音频的更新时间 |代码示例://必填
```
```
//选填
```
```
#### 视频(video)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | video,对象类型 |
| MyProject:video:url | string | 必填 | og:url | 视频的URL地址 |
| MyProject:video:title | string | 必填 | og:title | 视频的显示名称 |
| MyProject:video:description | string | 必填 | og:description | 视频的文字描述 |
| MyProject:video:image | string | | og:image | 视频的显示图片 |
| MyProject:video:embed_code | string | | | 视频播放的嵌入代码 |
| MyProject:video:stream | string | | | 视频流的链接源 |
| MyProject:video:duration | string | | | 视频播放的时长,秒 |
| MyProject:video:create_at | date time | | | 视频的创建时间 |
| MyProject:video:update_at | date time | | | 视频的更新时间 |代码示例://必填
```
```
//选填
```
```
#### 图片(image)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | image,对象类型 |
| MyProject:image:url | string | 必填 | og:url | 图片的URL地址 |
| MyProject:image:title | string | 必填 | og:title | 图片的显示名称 |
| MyProject:image:description | string | 必填 | og:description | 图片的文字描述 |
| MyProject:image:image | string | | og:image | 图片的缩略显示图 |
| MyProject:image:full_image | string | | og:image | 图片的原始大图 |
| MyProject:image:create_at | date time | | | 图片的创建时间 |
| MyProject:image:update_at | date time | | | 图片的更新时间 |代码示例://必填
```
```
//选填
```
```
说明:`og:image`参数对应`MyProject:image:image`(缩略图)和`MyProject:image:full_image`(原始大图),若需要区分缩略图与原始大图,请分别设定`MyProject:image:image` 和`MyProject:image:full_image`,`MyProject`标记会覆盖`og`标记。#### 人(person)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | person,对象类型 |
| MyProject:person:url | string | 必填 | og:url | 用户的URL地址 |
| MyProject:person:title | string | 必填 | og:title | 用户账号的显示名称 |
| MyProject:person:image | string | | og:image | 用户的显示头像 |
| MyProject:person:create_at | date time | | | 用户的创建时间 |
| MyProject:person:update_at | date time | | | 用户的更新时间 |代码示例://必填
```
```
//选填```
```
#### 地点(place)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | place,对象类型 |
| MyProject:place:url | string | 必填 | og:url | 地理位置的URL地址 |
| MyProject:place:title | string | 必填 | og:title | 地理位置的显示名称 |
| MyProject:place:position | string | 必填 | | 地理位置的坐标,经+纬+海拔 |
| MyProject:place:create_at | date time | | | 创建时间 |
| MyProject:place:update_at | date time | | | 更新时间 |代码示例://必填
```
```
#### 产品(product)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | product,对象类型 |
| MyProject:product:url | string | 必填 | og:url | 商品的URL地址 |
| MyProject:product:title | string | 必填 | og:title | 商品的显示名称标题 |
| MyProject:product:description | string | 必填 | og:description | 商品的文字描述 |
| MyProject:product:image | string | | og:image | 商品的缩略显示图 |
| MyProject:product:full_image | string | | og:image | 商品的原始大图 |
| MyProject:product:create_at | date time | | | 商品的创建时间 |
| MyProject:product:update_at | date time | | | 商品的更新时间 |代码示例://必填
```
```
//选填```
```
说明:`og:image` 参数对应 `MyProject:product:image`(缩略图)和`MyProject:product:full_image`(原始大图),若需要区分缩略图与原始大图,请分别设定`MyProject:product:image` 和 `MyProject:product:full_image`,`MyProject` 标记会覆盖 `og` 标记。#### 书(book)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | book,对象类型 |
| MyProject: book:url | string | 必填 | og:url | 书的URL地址 |
| MyProject: book:title | string | 必填 | og:title | 书的显示名称 |
| MyProject: book:description | string | 必填 | og:description | 书的文字描述 |
| MyProject: book:image | string | | og:image | 书的显示图片 |
| MyProject: book:isbn | string | | | 10或13位数字的ISBN书号 |
| MyProject: book:create_at | date time | | | 书的出版时间 |代码示例://必填
```
```
//选填```
```
#### 游戏(game)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | game,对象类型 |
| MyProject:game:url | string | 必填 | og:url | 游戏的URL地址 |
| MyProject:game:title | string | 必填 | og:title | 游戏的显示名称标题 |
| MyProject:game:description | string | 必填 | og:description | 游戏的文字描述 |
| MyProject:game:image | string | | og:image | 游戏的缩略显示图 |
| MyProject:game:full_image | string | | og:image | 游戏的原始大图 |
| MyProject:game:create_at | date time | | | 游戏的创建时间 |
| MyProject:game:update_at | date time | | | 游戏的更新时间 |代码示例://必填
```
```
//选填```
```
说明: `og:image` 参数对应 `MyProject:game:image` (缩略图)和 `MyProject:game:full_image` (原始大图),若需要区分缩略图与原始大图,请分别设定 `MyProject:game:image` 和 `MyProject:game:full_image` , `MyProject` 标记会覆盖 `og` 标记。#### 应用(app)
| H5 Meta Tags | 数据类型 | 是否必填 | OpenGraph | 说明 |
| :-: | :-: | :-: | :-: | :-: |
| MyProject:type | string | 必填 | og:type | app,对象类型 |
| MyProject:app:url | string | 必填 | og:url | 应用的URL地址 |
| MyProject:app:title | string | 必填 | og:title | 应用的显示名称标题 |
| MyProject:app:description | string | 必填 | og:description | 应用的文字描述 |
| MyProject:app:image | string | | og:image | 应用的显示缩略图 |
| MyProject:app:full_image | string | | og:image | 应用的原始大图 |
| MyProject:app:create_at | date time | | | 应用的创建时间 |
| MyProject:app:update_at | date time | | | 应用的更新时间 |代码示例://必填
```
```
//选填```
```
说明: `og:image` 参数对应`MyProject:app:image`(缩略图)和 `MyProject:app:full_image`(原始大图),若需要区分缩略图与原始大图,请分别设定 `MyProject:app:image` 和 `MyProject:app:full_image`,`MyProject` 标记会覆盖 `og` 标记。## 安装 / Installation
* `EasyShareKit` is available through CocoaPods. To install it, simply add the following line to your Podfile:
```
pod "EasyShareKit"
```## 使用 / Usage
```
EasyShareKit * shareKit = [[EasyShareKit alloc] initWithUrl:@"https://github.com/HackerLoop/metatags-101"];
[shareKit setCustomMetaTags:[NSArray arrayWithObjects:@"MyProject", nil]];
[shareKit getWebShareInfo:^(EasyShareInfo *shareInfo, long cost,NSError *error) {
NSLog(@"%@",shareInfo.title);
}];
```## 关注我们 / Follow us
[![Twitter URL](https://img.shields.io/twitter/url/http/shields.io.svg?style=social)](https://twitter.com/intent/tweet?text=https://github.com/pcjbird/EasyShareKit)
[![Twitter Follow](https://img.shields.io/twitter/follow/pcjbird.svg?style=social)](https://twitter.com/pcjbird)