墨客出现之前的时代大概算是“微博第三方客户端 1.0 时代”,如果你从那时候就开始玩 App 的话,你脑子里大概会出现Weico
、随享
、微博物语
以及微格
等第三方微博客户端。但是这个时期的微博客户端做得都很“不完整”,比如评论转发、转发评论、评论并转发这些很基本的“刚需”类功能都不能很好地支持。虽然已经有客户端开始发展“个性”功能,但是因为雪中送炭没有搞好,锦上添花反而就显得多余。
而墨客的出现大概可以算作微博第三方客户端 2.0 时代的起始,这个时代也大概可以算是个第三方客户端的黄金时代,因为当时微博还没有爆发性地搞出来各种功能和表情,像“赞”这样的东西还没有出现,微博的一切都还像是一个 Microblog 的“社交”平台。在这个时期的微博客户端都有了完整的功能,并在此基础上开始拼一些各自的创意。而且从这个时期开始,微博客户端已经成了我个人认为“没法写测评和教学”的那类 App 了。因为它们首先并不难用、很好上手,其次是微博的功能实在太杂,我曾经是打算写墨客测评的,而且专门列了张表来统计有多少需要写的功能,列完表格发现任务太重直接放弃。有兴趣你可以看看这张表(现在可能要往上列的东西可能更多)。
在 1.0 时代,我的设备上常会有多个微博第三方客户端,而从有了墨客开始,虽然陆续有一些新兴的微博客户端的起起落落,但个人认为,第三方微博客户端墨客一直都是领跑者。所以我手机里的微博客户端长期以来只有墨客一个。偶尔在微博上看到的其它客户端的尾巴大多是测试用。
在今天墨客发布了它的 2.9 版更新,最亮眼的功能是支持了丰富的 URL Schemes,墨客也因此成为了一款对 URL Schemes 提供丰富支持微博客户端 App(包括官方客户端)。我个人一直认为是否支持 URL Schemes 跟 x-callback-URL 是评判 iOS 平台上同类 App 的作者是否用心、是否追求效率以及作品是否优秀的重要标准之一。换句话说,如果两个 App 你感觉差不多,那你就看谁支持 URL Schemes,支持得越细越好。因为用 Launch Center Pro 这样的 App,URL Schemes 可以为你的操作减少干扰提高效率。
在墨客官网大家可以看官方的 URL Schemes 介绍,但是不懂的大概还是不懂,所以下文主要为大家说明各 URL 的用法和使用思路。
抛去打开墨客这个单一功能以外,墨客提供的 URL Schemes 大概分为三项:查看、搜索和发布。
比方说你下班的路上用墨客刷微博,看到了个想做的菜谱。有了这部分的 URL,你就可以做到在准备做饭的那个时间点被 Due 提醒,点开提醒后直接跳转到墨客打开这条微博。
查看部分分两个方面:查看某条微博和查看某个用户。
注意这里都是查看而不是查找,它打开的不是搜索界面而直接是目标界面,所以需要你给出非常精确的数据。比如说你要看 @越狱指南 的主页,通过这部分的 URL 你可以直达 @越狱指南 的主页,而不是先给你出一个页面上面列了一些和越狱指南有关无关的用户,让你来挑选。
下面我们分别来介绍查看部分的这两个方面。
我们先说查看微博部分,微博有三种方式来定位某条具体的微博:通过这条微博的 MID、ID 还有链接,在墨客里对应的 URL 分别为:
moke:///status?mid=
微博MIDmoke:///status?id=
微博IDmoke:///link?url=
微博正文页面链接其中前两项,也就是微博的 MID
和 ID
对普通用户并没有太大的作用。MID
是网页 URL 路径的最后一部分,比如一条微博的 URL 是 http://www.weibo.com/2208752785/CjadX3vUY
它的 MID
就是 CjadX3vUY
这部分。而这条微博的 ID 就是通过一定的格式对微博 MID 进行转换。
对于开发者来说搞清楚这些区别是重要的,但对普通用户来说,它们不仅没啥用,而且很难通过日常操作去获取。所以如果你想要查找某条微博,通过这条微博的链接来找是最简单的。在墨客上对应的 URL 就是 moke:///link?url=
,你只要在这个 URL 的等号后面放上微博链接,就可以直接在墨客打开这条微博。
如果你使用 Launch Center Pro,你可以把等号后面直接设置为剪切板,也就是 moke:///link?url=[clipboard]
。这样,你复制好一条微博的链接,再直接在 Launch Center Pro 里打开这个动作就可以在墨客查看这条微博。
通过这条微博的 URL,结合 Due,可以做到定时查看这条微博,换句话说,是提醒自己查看这条微博。
打开你的微博收藏看看,大概里面有很多条微博,但是你却没看过。这个时代就是这样,你认为你要“稍后读”的东西你稍后就会看,但是实际上,因为你当下却总有读不完的东西,而且你存起来的东西你慢慢会忘记,这导致你要稍后读的东西越来越多,最后稍后读变成永不读1。
那么有了这个功能,我们收藏微博的时候就不要单独点那个✭
,而可以是设置一个 Workflow,把你收藏的这条微博设定个特定的时间去读它。比如说你下半路上的路上用墨客刷微博,看到了个想做的菜谱。有了这部分的 URL,你就可以做到在准备做饭的那个时间点被 Due 提醒,点开提醒后直接跳转到墨客打开这条微博。
整体的思路是通过 Workflow。
这个 Workflow 的思路是:
首先从墨客获取微博链接,比如说微博链接是:http://www.weibo.com/2208752785/CjadX3vUY
。
然后为了我们是在墨客打开的,我们要在这段链接之前加上moke:///link?url=
,变成moke:///link?url=http://www.weibo.com/2208752785/CjadX3vUY
。
最后再在这之后加上 Due 添加新任务的 URL:due://add?title=
,变成due://add?title=moke:///link?url=http://www.weibo.com/2208752785/CjadX3vUY
。
最后 Open URLs 就解决问题了。
为什么要用墨客打开这个链接而不直接用 Due 打开网页?
如果你有一些微博用户你需要视奸不能错过他们发布的任何消息,你经常要单独地查看他们的首页以及 Timeline,那么你会需要这个功能。
墨客对视奸单独查看某个用户的方法提供了 4 种 URL:
moke:///user?id=
用户IDmoke:///user?screen_name=
用户昵称moke:///user?domain=
用户个性域名moke:///link?url=
用户主页链接我们看得出作者也是把能用的办法都用了。在这四种方式里,我们平时可能更惯用用户昵称
,但是用户昵称这个东西它其实是可变的,改了以前的就失效了,所以用它其实最不稳妥。最稳妥的大概是用户ID
,因为你注册完以后这玩意是不会变的。
有的人改了个性域名以后不能直接在他的主页看到他的 ID,但是还是有别的办法来查看用户ID
的。最简单的办法应该是右键一个人的头像,然后选择在新窗口打开图片
,这样你会在新窗口看到 http://tp3.sinaimg.cn/2569291082/180/40010956703/1
这样的链接,而第一串数字,也就是 2569291082
就是这个人的用户 ID。
这个功能我感觉也不像是临时用的,也就是说,这功能不是你临时想要看谁了,就使用这个 URL Schemes 跳到那个用户的页面。
我感觉它更适合视奸“特别”关注,比如有些你悄悄关注的,或者出现在你的 Timeline 里被别人看见会引起尴尬的用户,你都可以在需要的时候使用这个功能来查看这个(些)人的微博。
在 Launch Center Pro 里设置以表格的形式设定一个动作,比如你想对我(@JailbreakHum)和 @越狱指南 特别关注,那么这条动作的 URL 应该是:
moke:///user?id=[list|@JailbreakHum=2208752785|@越狱指南=2569291082]2
这样每次你在 Launch Center Pro 里选择这个动作,就会弹出你之前设定好的列表,你就可以选择你想视奸、翻牌“特别”关注的对象了。
搜索我们都太熟悉,而且与查看部分不同,搜索时我们不用给出特别准确的内容,只要给出关键字即可。
墨客在搜索部分提供了两个 URL 分别用来搜索用户和搜索微博:
moke:///search/statuses?query=
关键字moke:///search/users?query=
关键字你把这两条 URL 放到 Launch Center Pro 里,把关键字
替换成[prompt]
,就可以在每次打开动作时只输入关键字,就跳转到墨客进行搜索了。
For 懒人和理解能力差的人(把下面的 URL 直接粘贴到 Launch Center Pro 的 URL 栏即可):
moke:///search/statuses?query=[prompt]
moke:///search/users?query=[prompt]
对日常使用来说最有用的大概是发布的部分,可玩的点也比较多。
墨客对发布部分提供的 URL 是:
moke://
账号昵称或ID(缺省使用当前账号)/post?text=
微博内容它的意思是,如果你一般只使用一个微博账户,那么你只要在 Launch Centre Pro 里用moke:///post?text=[prompt]
这个 URL 就可以了,这个 URL 将默认使用你墨客当前使用的帐号。
从这个 URL 我们也可以看出来,我们可以用 Launch Center Pro 进行不同账户发微博的操作。比如说我想在 Launch Center Pro 里选择使用 @越狱指南 发微博还是用 @JailbreakHum 发微博,可以用下面的这条 URL:
moke://[list|@JailbreakHum=2208752785|@越狱指南=2569291082]/post?text=[prompt]
注意,里面我使用的是 ID(关于 ID 我之前已经讲过了,是新浪给你提供的数字,是不变的),(如果你不常改昵称的话)你也可以直接使用昵称。
这样每次选择这个动作,我们会看到一个列表,让我们选择发布微博的账户:
不管你墨客当前使用的是哪个账户,只要你登录了这个列表里的账户,你就能够选择其中的任意账户,并在墨客里直接使用你选择的账户发送微博或继续编辑微博。
我们常会在微博上分享在网上看到的文章,内容大概不外乎包括标题
、链接
、文中金句
。结合 Workflow 和墨客的 URL Schemes,我做了一个 Workflow 的动作3,可以直接把网上看到的文章通过墨客分享出来,格式为:
“选中部分”——`标题`:`链接`
但是如果你只是想发布微博而不是必须用“墨客”来发布的话,最后可能改成分享,使用 iOS 内置的微博分享功能体验会更好,因为会减少 App 的跳转。
这一条其实和“定时阅读微博”一样,都是利用了 Due,但是定时发送微博使用 Launch Center Pro 个人感觉实用性很差,所以在这里不详述具体做法。权当给不太熟悉 URL Schemes 的朋友留个小练习,参照“定时阅读微博”的 URL,做个“定时发送微博”的动作吧。
本文重点不是介绍 x-callback-URL,所以这里对它的介绍比较简略。
虽然文档中并未提及,但是墨客本身支持一部分 x-callback-URL 的语法,即只有 x-success 的部分。
x-callback-URL 出自 Drafts 的开发者 Agile Tortoise,是 URL Schemes 的延展和发挥。抽象地说,一个 App 只支持 URL Schemes 的话,它只能作为一个单独的动作,或者一连串动作的起始。但当一个 App 支持 x-callback-URL,那么它就可以一连串动作的任何一个部分,使用场景更为灵活。
具体地说 x-callback-URL 的灵活在于,在你进行了一个设定好的操作以后,App 会根据这个操作的结果——成功、失败或者是被取消——来进行下一步的选择。它基于的语法是:
x-success:
当成功时……x-error:
当失败时……x-cancel:
当被取消时……墨客对 x-callback-URL 的支持如前文所说只支持了 x-success 部分,也就是说你可以在一个动作执行成功以后默认设定执行下一个动作,使用情境我临时想了一个——来抛砖引玉——查看某人的主页成功以后跳转到扇贝单词去背单词。我来解释一下我的思路:微博这种东西属于精神零食,也就是说吃起来没饱容易失控,看一条搞笑微博用几秒,看一张搞笑 Gif 用几十秒,看完觉得不过瘾一直看看看看看不完,最后一抬头看表,过了一个半小时。这对于 Fo 了一堆段子手的人来说更是如此。所以如果你想悄悄地看一个人的状况,看完就离开微博去干正事儿,墨客的这个 x-callback-URL 就可以做到:
moke:///url?id=
对方的微博 ID[^ID 并非昵称,前文有写如何获取 ID。]
&x-success={{shanbay://}}
对失败(error)和取消(cancel)的情况,墨客似乎并没有涉及。虽然对于微博客户端来说,“失败”和“取消”这样的操作情境不会有很多。但是如果是支持了 x-callback-URL 的话,全套支持还是好的,不一定谁就能想出有意思的用法。我临时想了两个分别关于失败和取消两个情形的用法:
在 Launch Center Pro 里我们设定通过输入微博昵称来跳转到某人的主页,结果这个人改昵称了。这时候就出现了失败(error)。当这时候我们要再找这个人,最好的方法是搜索带有他/她原始昵称的微博,如果有人 at 过他/她,而他/她曾经在微博里评论过,就能在评论里找到他/她的新昵称。所以如果墨客支持 x-error
,就能把查看用户和搜索微博的 URL 联合起来,在 Launch Center Pro 里调用剪切板,做到先查看,如果成功就直接看,如果失败就搜索微博这么个功能。
前文介绍了一个在 Safari 中利用 Share sheet 从墨客分享读到的文章的 Workflow。但有时候,如果你选取的文字加上文章的题目最后超过了 140 字,你要么修改一下,要么重新找另外一句短一点的有代表性的文字。如果你希望做后者的话,就需要墨客支持 x-cancel:
。如果墨客支持 x-cancel:
的话,你就可以设定让墨客在取消发布微博后跳转到 Safari——而这时候 Safari 里应该是你想要分享的那篇文章——然后重新选择一段文字。
一般这种“选择触发型”的 URL Schemes 我建议使用 Launch Center Pro 而不是 Drafts 来作为启动器,Launch Center Pro 里的话有个不得不解决的问题就是图标显示。使用墨客目前在 Launch Center Pro 里是没有图标显示的,下面将给出一些解决办法。
下载墨客图标的图片然后添加到 Launch Center Pro 中:
获取墨客图标可以使用这个 Workflow,在 App Store 中任意软件界面通过 Share Sheet 激活这个动作,就能够获得该软件的图标。
墨客这一批的 URL Schemes 格式非常规范,规范的 URL 可玩性才高,可调教性才强。从这里也可以看出来墨客作者确实是个认真对待作品的人。
不过虽然这波 URL 涉及比较广泛但还是不够全面,比如(发布或查看)私信、收藏、转发、评论、列表等功能还没有支持 URL Schemes,期待日后这些部分的 URL Schemes 加入。