Facebook应用程序使用Unity进行邀请

我正在尝试在我的Unity项目中整合Facebook应用程序邀请,并且大部分工作正在进行中。 我可以发送邀请,也可以通过Applink读取数据。

我的问题是,如何识别在应用中发送邀请的人员? 我想给被邀请的人一些信用奖励,因为我需要在应用程序中使用某些人的身份,以便我可以使用一些服务器端的逻辑授予他们信用。

我可以通过一些推荐代码或获取一些Facebook ID来跟踪发送邀请的人吗?

我正在使用Facebook Unity SDK 7.2。

借助应用邀请,您可以通过您希望的任何自定义引荐数据,但是您需要构build一小部分基础设施来支持它。

每个应用程序邀请您添加一个应用程序链接url。 这些应用程序链接本质上是具有特殊元数据的空html页面 这里的标记示例

在AppLink元数据中,您可以将深层链接信息附加到平台url(al:ios:url / al:android:url)

例如:

<meta property="al:ios:url" content="couchinapp://invite_from_fb?referral=123456789" /> <meta property="al:android:url" content="couchinapp://invite_from_fb?referral=123456789" /> 

凡推介是一个额外的参数,你附加任何信息,你想附加到邀请(发件人ID,推荐代码,部落join,在应用程序中,他们在哪里等)

您可以使用AppLinksTool创build静态App Links,但这些将不支持dynamic参数。 我们需要创build一个小系统,用您的深层链接信息返回正确的AppLink元数据。


好吧,在这样的背景下…而不是用内容托pipe静态html页面…创build一个dynamic页面( 如此处所述 )根据parameter passing给端点返回格式化的AppLink。

例如:

 Endpoint: https://myapp.com/applink?referral=123abc Returns: ... <meta property="al:ios:url" content="couchinapp://invite_from_fb?referral=123abc" /> ... 

现在,当新玩家打开您的应用程序时,您可以获取AppLink数据(在Unity上: FB.Mobile.FetchDeferredAppLinkData )以检索相关的平台URL,以查看它们是否通过应用程序邀请进入,然后您可以根据你传入的参数。

您可以使用request_id作为推介代码。

在我的情况下,我使用AppRequest API,它可以读取所有的request_id。

 GET https://graph.facebook.com/me/apprequests?access_token=[USER ACCESS TOKEN] 

然后,您可以通过确定发件人和收件人

 GET http://apps.facebook.com/[app_name]/?request_ids=[REQUEST_IDs] 

要么

 GET http://graph.facebook.com/<REQUEST_OBJECT_ID>?access_token=USER_ACCESS_TOKEN 

你可以在这里find如何实现应用程序请求信息。 链接