所以我有一个Chrome扩展,是为一次性支付设置的免费试用期。
{
accessLevel: "FREE_TRIAL"
createdTime: "1515085366930"
itemId: "omelijcoklxxokoeobkpepozpjpbakoeo"
kind: "chromewebstore#userLicense"
maxAgeSecs: "2"
result: true
}上面的JSON来自此调用的解析响应:
const url = 'https://www.googleapis.com/chromewebstore/v1.1/userlicenses/' + chrome.runtime.id;
const req = new XMLHttpRequest();
req.open('GET', url);
req.setRequestHeader('Authorization', 'Bearer ' + token);
req.onreadystatechange = function () {
if (req.readyState == 4) {
const license = JSON.parse(req.responseText);
self.license = license;
}
};
req.send();我的问题是-我怎么知道免费试用期什么时候结束?看起来我可以通过编程来确定免费试用期有多长。
有没有推荐的方法来控制免费试用期?
我是否只是将createdTime与Date.now()值进行比较,并查看运行时间?什么是向用户显示他们正在免费试用并显示还剩多少时间的好方法?
发布于 2019-01-15 14:01:16
如何知道免费试用期何时结束?我是否只是将createdTime与Date.now()值进行比较,并查看运行时间?
是。如果Date.now() - createdTime大于所需的免费试用期,则已过期。
有没有推荐的方法来控制免费试用期?
文档中有一些示例代码。https://developer.chrome.com/webstore/one_time_payments#trial-limited-time
将var TRIAL_PERIOD_DAYS设置为所需的时间长度。将var license设置为您获得的json,文档代码应该可以按原样工作。
什么是向用户显示他们正在免费试用并显示还剩多少时间的好方法?
在后台脚本中设置了var license。你需要把它传递给你的内容脚本。为此,在内容脚本中,使用chrome.runtime.sendMessage()向后台脚本发送一条消息。然后,在后台脚本中,使用sendResponse(license)发送答案。现在,您在内容脚本中获得了该变量。使用它检查试验是否仍然有效,然后操作dom,插入警告消息和剩余时间。
请注意,用户必须登录到chrome浏览器,扩展才能获得许可证。如果他不是,你必须决定是允许还是拒绝扩展的功能。
https://stackoverflow.com/questions/48473151
复制相似问题