我试图将Facebook App Invite集成到我的Unity项目中,其中大部分都在运行。我可以通过Applink发送邀请并阅读数据。
我的问题是,如何识别在应用中发送邀请的人?我想给邀请的人奖励一些学分,我需要在应用程序中找到该人的一些身份,以便我可以使用某些服务器端逻辑奖励他们。
我可以传递一些推荐代码或获取一些Facebook ID来跟踪发送邀请的人吗?
我正在使用Facebook Unity SDK 7.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