This translation is community contributed and may not be up to date. We only maintain the English version of the documentation. Read this manual in English
Web Monetization 是一种开放的技术手段, 能让浏览网站或者玩网页游戏的用户向作者进行 (超小额度) 付款而且实时到账. 这给网页游戏开发者一条新的生财之道, 同时付款的玩家会获得额外的高端游戏内容.
网页微支付 已被提名为 W3C 标准. 它基于 Interledger 协议, 一种开放的, 中立的任意货币转账协议, 包括比特币这样的数字货币.
转账要满足以下需求:
玩家必须持有网页支付提供商提供账户以便向游戏开发者付款:
目前 Coil 是唯一的网页支付服务提供商, 以后会越来越多.
开发者必须持有网页支付钱包以便接收付款. 已经有许多服务提供商提供网页钱包服务:
钱包提供商把支付点与钱包对应. 支付点是钱包的收款地址, 它可以被随意公开出去. 详情请见 paymentpointers.org. 支付点就像一个网络连接, 但是是由 $ 开头:
$ilp.uphold.com/QkG86UgXzKq8
支付点要加入到网页 <head>
标签中的 <meta>
标签里:
<meta name="monetization" content="$ilp.uphold.com/QkG86UgXzKq8">
在 Defold 游戏中使用网页支付功能是个简单的过程. 新建项目和已有项目的配置方法略有不同.
如果是新建项目强烈建议你使用 Defold 欢迎屏幕里的网页支付项目模板. 这个模板包含了 网页支付原生扩展, 还能为你的网页游戏自动添加支付点:
下一步注册 网页钱包账户 然后在 game.project 文件的 Web Monetization 部分将支付点与钱包挂接:
首先注册 网页钱包账户 然后手动在网页中加入支付点:
<meta name="monetization" content="YOUR_PAYMENT_POINTER">
下一步将 网页支付原生扩展 作为 项目依赖库 加入. 打开 game.project 文件, 找到 Project 部分的 Dependencies 项 加入:
https://github.com/defold/extension-webmonetization/archive/master.zip
在项目中加入扩展包和支付点之后就可以使用它了. 它的 API 包含两个部分:
检查玩家付款 (或者正在付款):
local monetized = webmonetization.is_monetized()
if monetized then
print("The user has an active payment stream")
end
设置监听器跟踪付款进度:
webmonetization.set_listener(function(self, event)
if event == webmonetization.EVENT_PENDING then
print("The user is trying to make a first payment")
elseif event == webmonetization.EVENT_START then
print("The user has started paying")
elseif event == webmonetization.EVENT_PROGRESS then
print("The user is still paying")
elseif event == webmonetization.EVENT_STOP then
print("The user has stopped paying")
end
end)
Did you spot an error or do you have a suggestion? Please let us know on GitHub!
GITHUB