Facebook SDK – 处理应用程序邀请?
使用Facebook SDK
,似乎他们允许您邀请您的朋友通过SDK
的AppRequest
部分join应用程序。 但是,我没有看到SDK
中的任何地方,你可以奖励用户邀请朋友。 我知道这是可能的,因为它已经做了很多次了,所以怎么做呢?
例如,让我们说:
1. User A invites User B to use the application. 2. User B downloads the application. 3. User A receives 100 coins for inviting User B.
我完全迷失在这里,不pipe语言,使用任何SDK的例子,将不胜感激。
由于Facebook应用邀请基于AppLink ,因此您需要寻找解决scheme。 我将通过使用Android示例场景来解释这一点。
在构build应用程序邀请( 使用对话框 )时,您需要指定一个AppLinks URL。 对于发送邀请的每个用户,或者对每个单独的邀请,该URL都是唯一的。 例如: https://www.example.com/invite_applink?invite_id=12345
: https://www.example.com/invite_applink?invite_id=12345
invite_id https://www.example.com/invite_applink?invite_id=12345
。 通过为邀请其他人的每个用户创build一个AppLinkurl,您可以将邀请 – 发件人归属(您正在说的是您想要的内容)embedded您的AppLinks URL中。
Facebook应用程序如何从“应用程序邀请”部分中打开您的应用程序的方式是遵循AppLinks规范 。 该规范指出,在https://www.example.com/invite_applink
上的HTML文档的<head>
部分,必须有适当的<meta>
数据,描述应用程序如何打开/深入链接成。 其中一部分是al:android:url
属性,可以这样使用: <meta property="al:android:url" content="example://invite_from_fb?invite_id=12345" />
观察url如何包含参数invite_id=12345
,其中12345
与上面的AppLinks URL的invite_id
参数中使用的值相同。 当受邀用户现在从深度链接URI example://invite_from_fb?invite_id=12345
打开应用程序时,应用程序将从包含此信息的意图打开。
当您的应用程序的Activity
打开时,您可以获取打开该Activity
的Intent
,并从中获取用于打开该应用程序的Uri
: Intent.getData()
。 有关“ 允许其他应用启动您的活动 ”的Android文档,
此时,将应用程序邀请归因于用户的ID已经从发件人发送到收件人的正在运行的应用程序中。 现在,收件人的设备上的应用程序需要调用您的服务器,并让它知道使用了哪个invite_id来打开它。 为了避免多个这样的归因来自一个用户(他们可能已经收到来自多个人的邀请),您可以暂缓发送这个归因数据,直到用户执行某种login(例如Facebooklogin),并且可以忽略例如第一个之后的所有归属。