我想在安装应用程序之前强迫用户喜欢Facebook页面,目前我正在为我的应用程序使用免费Inno Setup安装程序,但我编写自己的安装程序没有问题,这允许我想要的做,问题是我不知道从哪里开始。
如何阻止不喜欢我的Facebook页面的用户安装该应用程序? ofc我将为没有Facebook帐户的用户提供跳过方法。
注意:
我正在免费提供这个应用程序,我估计它会在第一个月达到1000次下载,因为我不需要任何注册,我没有收到用户和我的FB页面的任何电子邮件/联系信息是我与他们取得联系的唯一方式,通知他们更新和错误,这也是鼓励任何可能捐赠的好方法。
因此,将FB页面视为一项要求只是询问用户电子邮件地址的另一种选择。如上所述,我也将提供一种跳过方法。
答案 0 :(得分:5)
长话短说 - 你不能。
您必须允许用户安装应用程序,但阻止他们查看内容。您必须允许他们安装您的应用程序,因为只有这样您才能拥有有效的访问令牌,以检查他们是否喜欢某个页面。
我还想在这里说,我认为这种类型的要求是一种廉价的技巧,实际上减少了类似按钮的含义和功能。你迫使人们“喜欢”他们可能不想要的页面。
BTW你可能想看看policy checklist again - 你所做的事可能被视为违反了平台政策。
答案 1 :(得分:1)
我不确定这听起来是不是最好的方法,因为它是一种非常高效的方法,但我相信它对你有效。 在您的Facebook页面中,提及照片/关于部分中的代码(常数/十六进制/任何内容),只有喜欢该页面的用户才能看到该代码。
当用户安装设置时,要求用户输入该代码以完成应用程序的安装。我无法向你保证它会完美无缺,但至少它会起作用而且你没有违反任何fb规则。
一个缺点可能是,用户可能会恼火并决定不安装该应用程序。
答案 2 :(得分:1)
如果用户喜欢某个页面,可以从Innosetup查看。 您可以将带有AccessToken的GET请求发送到Facebook API:
https://api.facebook.com/method/pages.isFan?format=json&access_token=" . USER_TOKEN . "&page_id=" . FB_FANPAGE_ID
使用signed_request POST方法还有一种无令牌方法,请参阅https://stackoverflow.com/a/5100287/1163786
对于发送请求,您可以使用WinHttpRequest对象,如下所示:
WinHttpReq := CreateOleObject('WinHttp.WinHttpRequest.5.1');
WinHttpReq.Open('GET', TARGET-URL, false);
WinHttpReq.Send();
请注意,Facebook政策不允许这样做:https://developers.facebook.com/policy/#integration