iOS查看每日限免APP+监控APP降价信息教程
现在的收费APP可以说是越来越多了,自然而然,降价信息成了大家的最爱
毕竟免费的,谁不爱呢?🐶

付费APP的话尤其在 iPhone 上很常见,由于iOS生态问题,收费APP不付费基本上就没有其他途径获得
这也是为什么很多独立开发者愿意优先上架 iOS 平台
其实原来在App Store是有很多APP可以看降价信息的,除了 Price Tag 还有 AppShopper、AppZapp等等...
像是 Price Tag,除了可以监控APP降价信息,还可以查看APP历史价格变化趋势,同时的话不少软件还有专门的文章介绍,是真的很好用

不过由于2018年5月,欧盟制定了一条叫做GDPR的法律,导致这些APP逐一都被下架了
《通用数据保护条例》(General Data Protection Regulation,简称GDPR)
而且基本上都是彻底下架,在港区、澳区等都没有了


同时还不只是下架那么简单,这类APP几乎是被封杀了
像是Price Tag,除了 AppStore 下架了,在已购里下载会闪退,微信小程序还不支持iOS用户访问...

很多人可能在 Price Tag 没了之后,就不知道怎么来获取降价信息了
实际上现如今的途径仍旧很多的,阿虚今天就来细讲一下
▍1 如果只是想查看每日降价信息
如果光是「查看」每日APP降级信息,途径可谓多到爆炸,不少微信公众号可就单纯靠复制粘贴这个降价信息来维生

但阿虚这里只推荐几个比较优秀的媒体平台或者说方法
● 1.1 APPSO
APPSO推出的一个网站

用 Safari 浏览器打开网页 » 点击分享 » 添加到主屏幕,就能像APP一样用了

Just like this~

同时他们家的同名软件 AppSo,登陆以后,也可以收藏APP,也可以在降价时进行提醒(但有的软件搜不到,可能是他自己的库不全)
不过...他们这个APP似乎BUG几个月了,现在一直是打开就会提示网络问题,导致完全无法使用(但公众号还是一直在更新的,难道是程序猿罢工跑路了?)

● 1.2 最美应用

在APP左侧的菜单栏查看可以查看每日限免推荐

每款APP的话还有文章介绍
同时不得不说这款APP交互设计的挺有意思的(虽然实际并不好用)


● 1.3 反斗限免
网址:http://free.apprcn.com/category/ios/
也是一个很知名的降价信息集合老站了(其实网站上也有WIN/安卓平台的降价信息)

同时不是单纯的限免软件一类的了,如上图,通常是一些免费获取半年、一年软件会员服务的降价信息

● 1.4 利用Scriptable
如果你升级到了iOS14系统,那么可以用 Scriptable 这样一款软件来实现在 iPhone/iPad桌面实时展示限免信息
这个软件的作用是可以在 iPhone 上运行 Javascript 代码,而且这款软件提供小组件功能

所以我们用它实现在桌面显示一个实时降价信息窗口
窗口仅能展示一条数据,有新的降价信息会自动刷新,5分钟检测一次,如果想要查看近期完整的降价信息,可以手动点击「查看历史」

而创建的方法也很简单,基本上就是复制粘贴而已
先完整复制以下代码
//iOS14限免应用实时展示小组件
//作者:kzddck
//微信公众号:kzddck(康庄科技站)
//更新时间2020.10.09
//开放接口:api.kzddck.com/script/free.json(5分钟检测一次,仅展示一条数据)
let data = await getData()
let widget = await createWidget(data)
if (!config.runsInWidget) {
await widget.presentLarge()
}
Script.setWidget(widget)
Script.complete()
async function createWidget(data) {
let appIcon = await loadAppIcon()
let title = "ios限免速递"
let w = new ListWidget()
w.url = data["url"]
w.backgroundColor = new Color("#b00a0fb3")
// 显示图标和标题
w.addSpacer(2)
let titleStack = w.addStack()
let appIconElement = titleStack.addImage(appIcon)
appIconElement.imageSize = new Size(15, 15)
appIconElement.cornerRadius = 4
titleStack.addSpacer(4)
let titleElement = titleStack.addText(title)
titleElement.textColor = Color.white()
titleElement.textOpacity = 0.7
titleElement.font = Font.mediumSystemFont(13)
w.addSpacer(5)
// 标题
var dates = data["name"]
let date1 = w.addText(dates)
date1.font = Font.semiboldSystemFont(20)
date1.centerAlignText()
date1.textColor = Color.white()
w.addSpacer(5)
// 价格
let date2 = w.addText("现价:"+data["price"]+"("+data["class"]+")")
date2.font = Font.heavySystemFont(10)
date2.centerAlignText()
date2.textColor =Color.white()
w.addSpacer(5)
// 介绍
let body = w.addText(data["content"])
body.font = Font.mediumRoundedSystemFont(12)
body.textColor = Color.white()
w.addSpacer(10)
// 图片
let bg =await getImage(data["img"])
w.backgroundImage = await shadowImage(bg)
// 底部更多
if (!config.runsWithSiri) {
w.addSpacer(5)
// Add button to open documentation
let linkSymbol = SFSymbol.named("arrow.up.forward")
let footerStack = w.addStack()
let linkStack = footerStack.addStack()
linkStack.centerAlignContent()
linkStack.url = "http://xianmian.kzddck.com"
let linkElement = linkStack.addText("查看历史")
linkElement.font = Font.mediumSystemFont(13)
linkElement.textColor = Color.white()
linkStack.addSpacer(3)
let linkSymbolElement = linkStack.addImage(linkSymbol.image)
linkSymbolElement.imageSize = new Size(11, 11)
linkSymbolElement.tintColor = Color.white()
footerStack.addSpacer()
// Add link to documentation
let docsSymbol = SFSymbol.named("square.and.arrow.down.on.square.fill")
let docsElement = footerStack.addImage(docsSymbol.image)
docsElement.imageSize = new Size(20, 20)
docsElement.tintColor = Color.white()
docsElement.url = data["url"]
}
return w
}
async function getData() {
var url = "https://api.kzddck.com/script/free.json";
var req = new Request(url)
var data = await req.loadJSON()
return data
}
async function getImage (url) {
let r =await new Request(url)
return await r.loadImage()
}
async function shadowImage (img) {
let ctx = new DrawContext()
ctx.size = img.size
ctx.drawImageInRect(img, new Rect(0, 0, img.size['width'], img.size['height']))
ctx.setFillColor(new Color("#646464", 0.5))
ctx.fillRect(new Rect(0, 0, img.size['width'], img.size['height']))
let res = await ctx.getImage()
return res
}
async function loadAppIcon() {
let url = "https://api.kzddck.com/script/freeapp.png"
let req = new Request(url)
return req.loadImage()
}
再打开 Scriptable,点击右上角「+」来添加一个脚本 » 长按粘贴刚才的获取到的源码 » 然后点击设置一下脚本名称 » 接着 Close 返回上一级页面 » 点击左上角的 Done 完成添加



随后长按桌面添加 Scriptable 小组件,接着继续长按小组件来进行编辑,选择刚刚添加的脚本即可

说明一下,该方法和代码的作者不是阿虚,代码来源于微信公众号:康庄科技站

如果后续代码失效,请自己关注原作者的公众号,看他有没有更新,毕竟我不是原作者
▍2 如果还想监控某款APP的降价信息
如果你还需要在APP降价时候收到通知,可以用以下几个方法

● 2.1 Mergeek产品玩家
地址:https://mergeek.com/free/apps
这个是阿虚目前见过限免 App 最丰富,而且更新最及时的了一个服务了

除了国内的限免信息以外,经常可以看到国外的优质应用的限免信息

看上图就知道有多给力吧,只要你想,一天就可以省下838元!!!

最大的好处是这个网站通过公众号提供了订阅服务,你有想要的APP,只需要到 App Store 拷贝APP链接,再把链接发到 Mergeek 公众号就行了
不过缺点就是只能订阅5个了APP了

因为Mergeek足够优秀,所以还有2个次选方案就不是很推荐了:
- 一个是通过邮件进行通知,但可能因为地区网络问题而注册不了网站)
- 一个是通过APP来监控,但需要付费
● 2.2 App Sliced
网址:appsliced.co
这个网站是使用邮件进行通知的,缺点是某些地区不富强上网的话,可能访问起来会比较困难

支持苹果全平台App订阅,iPhone、iPad、Mac、Watch、TV

打开网站后点击Sign Up注册,可以直接用 Apple ID 进行注册
注册时没啥需要注意的,就注册你想关注的 App Store 的地区就行了(如果你想关注外区的APP限免信息,也可以设置不同地区)

注册后,搜索打开你想订阅某个 APP 的详情页

点击右下的 Set Alert 按钮即可第一时间收到降价邮件通知
● 2.3 WSH LST
少有的还提供降价信息通知的APP!

第一眼还纠结说这开发者取的是个啥名字,后面动了动我的小脑袋瓜子才明白是 WISH LIST(愿望清单)去掉其中的 I 字母后得出的
WSH LST 相当于给 APP Store 加上了一个心愿单,具体操作如下

不过这款APP想查看降价信息得需要内购,每年40元

▍3 Price Tag 还有办法装吗?
估计还是有人心心念念 Price Tag,其实他们仍然在更新每日的APP降价信息
你可以通过以下平台渠道来获取他们提供的相关降价信息
● 3.1 公众号
比较推荐的是关注他们家的微信公众号,每天他们都会更新今日降价信息的文章

● 3.2 微博
如果你刷微博比较多,他们降价信息的文章也是会同步发布到他们家微博的

● 3.3 即刻
又或者你玩即刻,即刻里面他们也有在同步发布信息

● 3.4 Sileo中文源
阿虚的 iPhone 没有越狱,如果你有,可以到这里试着安装Price Tag:http://apt.nuosike.cn/public/677
但注意,似乎限制了iOS版本:11.0-13.5,已经升级到 iOS14 的用户可能会用不了!


总体而言,比较推荐的就是 Mergeek 啦,或者稍微愿意折腾一点的,用 Github + Sever酱,不差钱的也可以尝试 WSH LST

最后呢,想BB一句
软件限免,得之我幸,不得我命
没事关注一下还是不错的,没必要太过于追求这个
如果某款软件实在太贵,你想先体验体验再考虑是否入手,除了淘宝/咸鱼,你可以再看看我原来这篇文章中给出的方法:https://mp.weixin.qq.com/s/e_duscNKDbiZcv7MiGPQMA

