因此,我有一个Chrome扩展程序,该扩展程序设置为可免费试用一次付款。
当我使用Chrome帐户API(chrome.identity.getAuthToken
)登录时,现在可以看到以下数据:
{
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()值进行比较,然后查看经过的时间?向用户显示他们正在免费试用并显示剩余时间的一种好方法是什么?
最佳答案
我怎么知道免费试用期结束?我是否只是将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浏览器才能使扩展名获得许可证。如果他不是,则必须决定是否要允许或拒绝该扩展程序的功能。
关于javascript - 确定何时免费试用Chrome扩展程序,我们在Stack Overflow上找到一个类似的问题:https://stackoverflow.com/questions/48473151/