Warning: file_get_contents(/data/phpspider/zhask/data//catemap/9/javascript/439.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/6/google-chrome/4.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
Javascript 铬扩展货币化(技术问题)_Javascript_Google Chrome_Google Chrome Extension - Fatal编程技术网

Javascript 铬扩展货币化(技术问题)

Javascript 铬扩展货币化(技术问题),javascript,google-chrome,google-chrome-extension,Javascript,Google Chrome,Google Chrome Extension,我最近进入了chrome扩展开发,我注意到了三种产生收入的方法: 带捐赠按钮的免费分机 Chrome网上商店付款扩展() 自定义付款(例如:在您的网站上付款) 就接受付款的技术实现而言,2nd选项是最简单的,因为谷歌让它变得容易。缺点?5%的交易费+我认为这在Firefox扩展上不起作用(有人能告诉我我是否正确吗?) 我更愿意选择第三种方式,通过Stripe(欧洲为1.4%+0.30美元)在我的网站上接受付款,并保留一个firebase的付费用户数据库。似乎是合理的,直到我开始过度思考如何实施它

我最近进入了chrome扩展开发,我注意到了三种产生收入的方法:

  • 带捐赠按钮的免费分机
  • Chrome网上商店付款扩展()
  • 自定义付款(例如:在您的网站上付款)
  • 就接受付款的技术实现而言,2nd选项是最简单的,因为谷歌让它变得容易。缺点?5%的交易费+我认为这在Firefox扩展上不起作用(有人能告诉我我是否正确吗?

    我更愿意选择第三种方式,通过Stripe(欧洲为1.4%+0.30美元)在我的网站上接受付款,并保留一个firebase的付费用户数据库。似乎是合理的,直到我开始过度思考如何实施它


    我的实施

    我只是假设要使用第三个选项,我必须在chrome扩展中实现一些条件渲染。基本上只需向我的firebase数据库发送一个XMLHTTPRequest和用户的凭据(例如:gmail帐户),如果凭据匹配,则向他们显示高级功能,如果不显示基本功能

    出于参考目的,这是我谈论的XMLHTTPRequest:

    let xhr = new XMLHttpRequest();
    
    // 2. Configure it: GET-request for the URL
    xhr.open('GET', 'firebase-database-website/usergmail');
    
    // 3. Send the request over the network
    xhr.send();
    // the response will be true for paid or false for not paid
    // next: save the response in chrome.storage(????) to avoid making thousands of requests every time & speed up
    
    但是我相信没有什么可以阻止用户滥用这项服务,对吗?例如,他们总是可以使用一些javascript使扩展工作,而不必为此付费


    并不是说我真的关心它,我只是想知道我是否正确地实现了这一点,或者我是否还有其他事情可以做。让我们认为这是一个增长的机会。建议和实现示例非常受欢迎。

    在客户端上实现的任何内容都可以在客户端上处理。您需要使它依赖于只有服务器才能做的事情,并让服务器检查凭据。@Barmar我完全理解这一点。我的观点是,我应该如何进行条件渲染呢?我需要一个更具体的解决方案。我目前查看了一个800次下载的扩展,它将密钥保存在chrome存储中。然后,它检查background.js中的其他键,以便也可以对其进行操作。我的问题是,是否可以采取一些措施来避免这种情况,但这并不是真的。你可以试图混淆它使它更难,但你不能阻止有人决心绕过它。我正在考虑对我的扩展做同样的事情,你这样做的过程是什么?@iulian你确认过这对Firefox有效还是无效吗?我无法想象会这样。对于仍试图避免此问题的任何人,即使服务器正在验证用户是否有效,也不能使用“if valid user,render this”类型样式,因为他们总是可以跳过检查。您需要服务器实际交付呈现的内容。i、 e.始终从服务器呈现内容。如果是有效的用户,就有好的内容。如果不是,可能是如何成为付费用户的链接?:-)但这并不是每个应用程序都有意义。