Android:通过Facebook分享或推特解锁应用程序的其他功能。

3
我在Google Play上发布了一个免费应用程序。我想添加一些新功能,并要求用户通过Facebook分享或推特“付费”获取这些功能。
场景:
1. 用户更新应用程序; 2. 新功能在设置中可用,但尚未激活; 3. 要激活功能,用户必须在Facebook或Twitter上分享有关我的应用程序的信息; 4. 只有分享成功后,该功能才可供用户使用。
对我来说,在社交媒体上传播应用程序信息似乎是一个好主意...然而,我找不到任何“开箱即用”的解决方案(库或代码)。有吗?
有人尝试过这种方法吗?是否成功?
此外,我正在尝试找出这种方法是否符合Google Play政策。我仔细阅读了https://play.google.com/about/developer-content-policy.html,但没有发现任何线索。有人在实施此方法后收到过任何政策违规的电子邮件吗?

1
“并要求用户通过分享Facebook或推特来‘付款’。”这将明显违反Facebook平台政策。 - CBroe
2个回答

2
我已经在做类似的东西了。就分享本身而言,使用ShareActionProvider相当简单。这里有一个教程here
然而,这并不能告诉你用户是否成功分享了任何内容,它只提供了分享的能力。但是,您可以通过在ShareActionProvider上使用您自己的OnShareTargetSelectedListener实现,并使用setOnShareTargetSelectedListener()方法,在选择共享目标时执行某些操作。
再次强调,这种方法存在问题,因为它仅允许您确定用户是否通过应用程序共享信息,而不能确定他们是否真正执行了共享操作。您可以通过创建自己的自定义共享操作并使用startActivityForResult()而不是startActivity()来进一步进行,然后从onActivityResult()读取Intent data和int resultCode。这将告诉您何时完成共享。
但是,这样做只会让您遇到另一个难题。dataresultCode参数由用户共享到的应用程序传递给您的应用程序,这意味着它们在不同的应用程序之间并不完全一致。实际上,大多数应用程序甚至似乎没有区分用户是否共享了内容或只是退出而没有共享。通常,它们只返回0作为resultCode,无论共享是否成功。而且,data Intent往往为空。实际上,似乎没有任何方法可以始终确定用户是否成功共享了内容。
考虑到这点,如果您的奖励不太大,您可以考虑在OnShareTargetSelectedListener中为用户提供简单的奖励,并希望用户足够可信,实际上分享您的应用程序。或者,您可以重新思考是否为分享奖励用户是最好的想法。尽管就我所知,这并没有违反任何政策规定。个人认为,如果您只给用户小的奖励,这是一个相当好的主意;不幸的是,没有办法(至少我所知道的)确定用户实际上是否分享了内容,这是一个遗憾。

我可能过了一个月才回复,但我觉得迟到总比不来好,而且分享我的经验可能是一个好主意,以防其他人也有同样的疑问。

编辑:刚刚意识到你指定了Facebook和Twitter。据我所知,Facebook无法区分用户是否实际分享了任何内容,因此使用Facebook实现这一点是不可能的,正如上面所述。Twitter确实区分用户分享时的resultCode为-1,而当用户没有分享时为0,因此使用Twitter可能是可能的。

您还可以查看Facebook API,看看它们是否支持此类功能,但我根本没有检查过。


-1

对于Facebook,已经有一个名为SHARE CALLBACK的方法,并且具有成功监听器。因此,如果共享的内容已成功发布到用户的Facebook上,则可以在成功监听器中编写下一步操作代码。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接