2015-05-08 3 views
0

С Facebook SDK кажется, что они позволяют приглашать своих друзей присоединиться к заявке через раздел AppRequestSDK. Однако я не вижу нигде в SDK, где вы можете вознаграждать пользователей за приглашение друзей. Я знаю, что это возможно, потому что это было сделано много раз, так как это можно сделать?Facebook 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. 

Я полностью потерял здесь, примеры использования любой SDK, независимо от языка, будут оценены.

+0

В чем проблема? Вы хотите узнать, было ли приглашенное использование «использовано» в AppRequest или просто узнать, что пользователь B присоединился? Пожалуйста, дайте более подробную информацию. –

+0

@NilsZiehn -> Я действительно не знаю, как сделать этот вопрос более ясным, я даже представил пример того, что я пытаюсь выполнить. – Hobbyist

ответ

2

С Facebook app invites основаны на AppLinks, вот где вам нужно искать решение. Я объясню это, используя примерный пример Android.

При создании приглашения на приложение (using the dialog) вы указываете URL-адрес AppLinks. Этот URL-адрес может быть уникальным для каждого пользователя, который отправляет приглашения или даже каждому отдельному приглашению. Например: https://www.example.com/invite_applink?invite_id=12345. Создавая один URL-адрес AppLink для, например, каждый пользователь, который приглашает других, вы вставляете атрибут приглашения-отправителя (именно это вы хотите сказать) в свой URL-адрес AppLinks.

Способ, которым приложение Facebook определяет, как открыть приложение из раздела «приложения приглашает», является следующим: AppLinks specification. В этой спецификации указано, что в разделе <head> документа HTML, который живет в https://www.example.com/invite_applink, должны быть соответствующие данные <meta>, которые описывают, как ваше приложение может быть открыто/глубоко связано. Одна часть, которая является al:android:url свойство, которое может быть использовано как это: <meta property="al:android:url" content="example://invite_from_fb?invite_id=12345" />

Обратите внимание, как URL-адрес содержит параметр invite_id=12345, где 12345 имеет то же значение, что и используемый в параметре URL AppLinks выше invite_id. Когда приглашенный пользователь теперь откроет приложение из глубокого связующего URI example://invite_from_fb?invite_id=12345, приложение будет открыто из намерения, содержащего эту информацию.

Когда приложения Activity открывает вы можете захватить Intent, который открыл Activity, и получить от него в Uri, который был использован, чтобы открыть приложение: Intent.getData(). Подробнее об этом на Android-документах «Allowing other Apps to Start Your Activity»

На этом этапе идентификатор, который приписывает приглашение пользователя пользователю, сделал отправителя в запущенном приложении получателя. Теперь приложение на устройстве получателя должно позвонить вашему серверу и сообщить ему, для какого приглашения было приглашено приложение invite_id. Чтобы избежать того, что несколько таких атрибутов исходят от одного пользователя (который, возможно, получил приглашения от нескольких людей), вы можете приостановить отправку данных атрибуции до тех пор, пока пользователь не выполнит какой-либо логин (например, Facebook Login), и вы сможете игнорировать например все атрибуты после первого.

Смежные вопросы