过去,我尝试过一些基于“微支付小费”的网站。它们来来往往。这很正常。从发布者的角度来看,这是一种低投入的方式。我从未赚到很多钱,但通常足以让我觉得值得。
现在 Bruce 让我尝试使用 Coil。它吸引我的原因有几个。
- 目标是使其基于 一个真正的 Web 标准(!)
- Coil 设计精良。它是读者实际订阅的服务,以及一个浏览器扩展(适用于 Chrome 和 Firefox),用于向发布者付款。
- 资金最终会存入 Stronghold 账户1。我对这些账户了解不多,但设置起来非常简单,设计也很精良。
- 所有操作都是匿名的。我无法访问、不知道或存储任何最终通过这些微支付支持网站的用户的信息。
- 即使每个人都是匿名的,我仍然可以为支持者做一些事情,例如不显示广告。

它只是网站上的一个标签。
在使用 Coil 注册并拥有 Stronghold 账户后,您真正需要做的就是在网站的 <head>
中添加一个 <meta>
标签。这是我的标签
<meta name="monetization" content="$pay.stronghold.co/1a1b91b23306ab547228c43af27ac0f2411">
拥有有效 Coil 订阅并使用 Coil 浏览器扩展的读者将开始向您(发布者)发送微支付。非常酷。


现金
我已经赚到了一美元!

最大的希望是,一旦这成为 Web 标准并有大量用户选择使用它,它就能成为一个不错的收入来源。我猜测,如果它确实成为一个成功的参与者,那么实现这一点可能需要数年时间。
思考全球经济也很有趣。对我来说的一美元与对世界各地每个人的意义不同。在世界的一些地方,较少的钱可以走得更远。这有可能开辟一条收入来源,而像广告这样的东西在核算方面可能并不那么出色。我听到广告行业的人谈论“不良地理位置”,这实际上是指广告商避免投放广告资金的地理位置。
奖励用户成为支持者
就像我提到的,这完全是匿名的。您无法准确地向人们发送免费电子书或其他任何东西以感谢他们的捐赠。但是浏览器本身可以知道当前用户是否正在向您付款。
它本质上就像……用户没有向您付款
document.monetization === undefined
用户可能正在向您付款,哦,等等,请稍等
document.monetization && document.monetization.state === 'pending'
用户正在向您付款
document.monetization && document.monetization.state === 'started'
您可以随心所欲地使用它。也许您可以在需要时生成一个安全的下载链接,如果您真的想赠送电子书或提供一些“仅限订阅者”的内容或任何其他内容。
不向支持者显示广告
广告通常也由 JavaScript 提供支持。在这个网站的全局 JavaScript 中,我已经有一个名为 csstricks.getAds();
的函数,它会启动该过程。这允许我在某些情况下包装此函数调用,即使我根本不想启动广告过程,就像这样。
if (showAdsLogic) {
csstricks.getAds();
}
不过,这有点棘手,因为 document.monetization.state === 'started'
不会立即发生。幸运的是,当该值更改时会触发一个事件。
if (document.monetization) {
document.monetization.addEventListener("monetizationstart", event => {
if (!document.monetization.state === "started") {
getAds();
}
});
} else {
getAds();
}
它可以变得更加复杂:验证会话,根据付款金额执行不同的操作等。这是他们解释器中的一个设置
if (document.monetization) {
document.monetization.addEventListener("monetizationstart", event => {
// User has an open payment stream
// Connect to backend to validate the session using the request id
const { paymentPointer, requestId } = event.detail;
if (!isValidSession(paymentPointer, requestId)) {
console.error("Invalid requestId for monetization");
showAdvertising();
}
});
document.monetization.addEventListener("monetizationprogress", event => {
// A payment has been received
// Connect to backend to validate the payment
const {
paymentPointer,
requestId,
amount,
assetCode,
assetScale
} = event.detail;
if (
isValidPayment(paymentPointer, requestId, amount, assetCode, assetScale)
) {
// Hide ads for a period based on amount received
suspendAdvertising(amount, assetCode, assetScale);
}
});
// Wait 30 seconds and then show ads if advertising is no longer suspended
setTimeout(maybeShowAdvertising, 30000);
} else {
showAdvertising();
}
我发现 monetizationstart
事件需要几秒钟才能触发,因此需要一段时间才能确定用户是否正在积极货币化。几秒钟对于在开始获取广告之前等待来说相当长,因此我不确定最佳方法是什么。您可能希望立即启动广告请求,然后根据结果选择是否注入它们(或隐藏它们)。根据这些广告的跟踪方式,这可能会产生虚假印象或损害您的点击率。您的里程可能会有所不同。
Web 标准内容是如何发挥作用的?
这是提案。 我不能假装完全理解它,但我认为其要点是您根本不需要浏览器扩展,因为该概念已内置到浏览器中。您也不需要 Coil;它将成为众多选项之一。
1 据我了解,更多“钱包”即将推出,并且 Stronghold 不会永远是唯一的选择。↩
太棒了
这似乎是网站内容货币化的一种有趣替代方案,我将在不久的将来(从游戏开发的角度)进一步探索它。js13kGames 比赛与 Coil 合作推出了全新的 Web 货币化类别。
不错!
您是否也尝试过 Brave Rewards?它听起来与 Coil 非常相似,但内置于 Brave 浏览器中。
区别在于 Coil 支付的是真钱(目前为美元,但很快就会推出更多钱包)。我们希望将其打造成一个开放的 Web 标准,这样任何人都可以成为支付提供商,而不仅仅是 Coil。我们正在努力构建一个生态系统。
这篇文章激发了我尝试 Brave Rewards。我认为我已经在那里正确注册了。但 Bruce 是对的,它只支付“BAT”,我猜这是一种特定于此的加密货币。大约一个月后,它应该会自动存入我必须注册的某个名为 Uphold 的服务。Uphold 看起来是美元,所以我不确定它在存入那里时是否会进行转换,或者是什么情况?
您可以将您的 Brave 钱包连接到 Uphold (uphold.com)。我还没有完全完成与 Uphold 的连接(仍然需要拍摄护照照片),但 Uphold 也支付真钱。也许这是一个解决方案?无论如何。我很喜欢 Web 货币化正在被考虑的事实。所以我可以理解你为什么选择 Coil!
它看起来类似于 https://contributor.google.com
它表面上看起来很相似。但它不仅限于关闭广告。例如,在 Flood Escape 游戏中(https://flood.enclavegames.com/),Web 货币化订阅者开始游戏时会获得额外 100 枚硬币,并且幸运轮盘的冷却时间为 5 分钟而不是 10 分钟。(有关更多详细信息,请参阅 https://medium.com/js13kgames/web-monetization-new-category-this-year-e87bb1c998cd。)
我们希望将其打造成一个开放的 Web 标准,这样任何人都可以成为支付提供商,而不仅仅是 Coil。我们正在努力构建一个生态系统。欢迎对初始提案发表任何意见! https://discourse.wicg.io/t/proposal-web-monetization-a-new-revenue-model-for-the-web/3785
我也尝试注册了,只是想了解一下大家是怎么尝试的。不过我需要申请,现在已经几天了还没收到回复。
感谢你发布了这么棒的文章!
我是 Web Monetization 标准和为其提供支持的 Interledger 协议的忠实粉丝。我也是 Coil 团队的朋友,并且一直在开发一个名为 Puma Browser 的新浏览器,以便让更多人更早地使用这项技术 :)
我们最近在 iOS 上发布了,所以如果你有 iPhone 或 iPad,可以试试看,并告诉我你的想法!
[0] https://www.pumabrowser.com
[1] https://apps.apple.com/us/app/puma-browser-monetize-the-web/id1456296154
让我们来算一下。一个付费用户(每月 5 美元),每月浏览预算为 100 小时,每次访问你的网站花费 10 分钟。每次访问大约花费 0.01 美元,或每千次展示 10 美元。
这可能不错。但是,Coil 永远不会公布真实的统计数据,我们也永远看不到真实的数字。你无法查看网站的性能数据。我们不知道他们的算法。最终,他们可以随意使用用户的钱。
我建议你不仅要为 Coil 用户关闭广告,还要收集用户的总浏览时间,并在最后将其与你的 Coil 余额进行比较。
我正在研究如何根据货币化来隐藏广告。
我宁愿在确认货币化没有发生之前再获取广告代码(以及由此产生的任何跟踪),但这感觉对用户来说会很烦人。
先不显示广告,然后大约 5 秒后,突然出现!
如果反过来做(先显示再隐藏),则跟踪已经发生(我觉得这违反了大多数网络的条款和条件)。
如果这种方法能带来可观的收入,我就会直接关闭广告。
是的,我在这里也遇到了同样的问题。尽管这篇博文的标题是关于货币化,但文章只介绍了一种可能的实现方式,并且出于上述原因,我还没有在这个网站上实际应用它。延迟时间太长了,但我不知道可以接受的延迟时间是多少。广告对我来说非常重要,所以我根本不想有任何延迟,因此也许某种重复访问 cookie 会有所帮助。感觉有一些技术解决方案可以解决这个问题。
你可以设置一个 cookie?读者在第一页会看到广告(默认设置)。检查 cookie,并在下次加载页面时相应地隐藏广告。
这可能就是解决方法。并在货币化确定后,在每次页面加载时更新 cookie。最糟糕的情况是,有人曾经为你提供货币化,但后来停止了,他们可以额外多浏览一页而无需看到广告。或者他们为你提供货币化,但他们会在第一页浏览时看到广告。
想知道我们是否可以在浏览器端做些什么来通知网站,它应该期望收到付款。也许是初始请求的一部分,表明它来自 Puma 浏览器,并指定你应该期望直接获得报酬而不是广告?
Daniel Aleksandersen:与 Flattr 相比,Coil 和 Web Monetization 如何工作
感谢你分享了我 Flattr 比较文章的链接,Chris Coyier!我希望我可以分享另一篇:如何为 Web Monetization 创建一个虚荣付款指针(减少页面权重影响)。