سؤال

لديّ تطبيق على Facebook يتم نشره على Facebook Platform واستخدمت Facebook API لدعوة الأصدقاء ونجحت في إنشاء نموذج دعوة ولكن المشكلة هي أنه عندما تدعو صديقًا وإرسال دعوة وطلب دعوة تم إرسالها إلى المستخدم والمستخدم اقبله يظهر هذا الصديق مرة أخرى في قائمة الأصدقاء التي يمكن دعوتها مرة أخرى

فمثلا :

لدي صديق في قائمة أصدقائي المسماة X وعندما أرسل دعوة إليه ، يتم إرسال الدعوة و X قبول الدعوة وعندما أحاول إرسال دعوة مرة أخرى ، يظهر صديق X مرة أخرى في القائمة التي يمكنني تحديدها لإرسال دعوة هذا يعني أنه قد أرسل دعوة لهذا المستخدم (X) وهو يلعب بالفعل اللعبة التي أحتاج إلى معرفة كيفية إصلاح هذه المشكلة حتى يظهر الأصدقاء في قائمة الأصدقاء (للدعوة) فقط الأصدقاء الذين لا يستخدمون التطبيق.

طلبي على الرابط التاليتطبيق لعبتيقم بزيارتها وشاهد المشكلة تمامًا بعد دعوة الأصدقاء ، فسيظهرون مرة أخرى هل هذا طبيعي في أي تطبيق لعبة؟

شكرا مقدما على أي رد

هل كانت مفيدة؟

المحلول

في FBML إذا كنت تستخدم صديق الصديق يمكنك تمريرها صفيف isscleude_ids. إذا كنت تستخدم واجهة برمجة التطبيقات للعثور على أصدقاء المستخدمين الذين يستخدمون تطبيقك بالفعل ، فيمكنك استبعادهم بهذه الطريقة.

هذا يعمل أيضا في متعددة الصديق الذي يجلس داخل FB: طلب الطلب بطاقة شعار.

تعديل: يمكن الحصول على مجموعة من المستخدمين الذين يستبعدهم من خلال مكالمة API Friends.GetAppusers.

المثال التالي يستخدم .NET مجموعة أدوات مطور Facebook. (أساسا لأن هذا هو كيف فعلت ذلك من قبل!)

الكود وراء:

public string CURRENT_USER_FRIENDS = "";

//Call this function on pageload or where you like
private void PopulateFriendsData()
{
//exclude friends who already have the app from the inviter
string UsersToExclude = string.Empty;
IList<long> AppUserFriends = this.Master.API.friends.getAppUsers();
foreach (long L in AppUserFriends)
{
    UsersToExclude += L.ToString() + ",";
}
CURRENT_USER_FRIENDS = UsersToExclude.TrimEnd(',');
}

صفحة:

<fb:multi-friend-selector 
actiontext="Select the friends you want to invite" 
rows="3" 
exclude_ids="<%=CURRENT_USER_FRIENDS%>"/>
مرخصة بموجب: CC-BY-SA مع الإسناد
لا تنتمي إلى StackOverflow
scroll top