Facebook App邀请使用Unity

时间:2015-10-21 11:24:43

标签: ios facebook unity3d

我试图将Facebook App Invite集成到我的Unity项目中,其中大部分都在运行。我可以通过Applink发送邀请并阅读数据。

我的问题是,如何识别在应用中发送邀请的人?我想给邀请的人奖励一些学分,我需要在应用程序中找到该人的一些身份,以便我可以使用某些服务器端逻辑奖励他们。

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

我正在使用Facebook Unity SDK 7.2。

2 个答案:

答案 0 :(得分:1)

使用App Invites,您可以传递您希望的任何自定义引荐数据,但您需要构建一小部分基础设施来支持它。

每个应用邀请都会添加应用链接网址。这些App链接本质上是带有特殊元数据的空html页面。 Example markup here

在AppLink元数据中,您将深层链接信息附加到平台网址(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,推荐代码,要加入的部落,在应用中将其带到哪里等)

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

好的,有了这样的背景......而不是托管带有内容的静态html页面......创建一个动态页面(as described here),根据参数传递给端点返回格式化的AppLink。

例如:

Endpoint:    
https://myapp.com/applink?referral=123abc

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

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

答案 1 :(得分:0)

您可以使用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

您可以在此处找到如何实施应用请求信息。 link