所以我有一个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()值进行比较并查看已用时间?有什么好的方式向用户显示他们正在免费试用并显示剩余时间?
答案 0 :(得分:1)
我怎么知道免费试用期结束?我是否只是将createdTime与Date.now()值进行比较,然后查看经过的时间?
是的。如果$(document).ready(function(){
$('.add_cart').click(function(){
var product_name = $(this).data("productname");
var product_id = $(this).data("productid");
var product_price = $(this).closest('tr').find('.calActivitylPrice').text();
var quantity =1 //$('#clubmembershipcheckbox').val();
var changeToRemoveBTNSec = $(this).closest('tr').find('.display_table');
$.ajax({
url:"<?php echo base_url(); ?>Member_controller/addToCart",
method:"POST",
data:{product_id:product_id, product_name:product_name, product_price:product_price,quantity:quantity},
success:function(data)
{
var obj = JSON.parse(data);
$(changeToRemoveBTNSec).html('<button type="button" name="remove" class="btn btn-danger btn-xs remove_inventory" id="'+obj.removebtn+'">Remove</button>');
// $('#subtotal_details').html('Total cost: INR ' +obj.subtotal);
$('#totalDetails').html(obj.cart_total);
$('#totalQty').html(obj.totalQty);
}
});
});
});
大于期望的免费试用期,则该期限已到期。
有没有建议的免费试用期控制方法?
文档中包含一些示例代码。 https://developer.chrome.com/webstore/one_time_payments#trial-limited-time
将Date.now() - createdTime
设置为您想要的时间。
将var TRIAL_PERIOD_DAYS
设置为您获得的json,文档代码应按原样工作。
有什么好方法可以向用户显示他们正在免费试用并显示剩余时间?
var license
是在后台脚本中设置的。您需要将其传递给您的内容脚本。为此,您可以从内容脚本中使用var license
将消息发送到后台脚本。
然后,您可以从后台脚本中使用chrome.runtime.sendMessage()
发送答案。
现在,您在内容脚本中有了该变量。用它来检查审判是否仍然有效,然后操纵dom,插入警告消息和剩余时间。
请注意,用户必须登录chrome浏览器才能使扩展名获得许可证。如果他不是,则必须决定是否要允许或拒绝扩展的功能。