تتيح ميزة "الأصدقاء في ألعاب Play" للاعبين إنشاء قائمة أصدقاء وإدارتها في جميع الألعاب. يمكنك طلب الوصول إلى قائمة الأصدقاء هذه لمساعدة اللاعبين في لعب اللعبة مع أصدقائهم. يمكنك الاطّلاع على صفحة مفهوم الأصدقاء للحصول على مزيد من التفاصيل حول نظام الأصدقاء.
قبل البدء
إعداد مشروعك وإضافة "ألعاب Google Play" إلى Unity لمعرفة التفاصيل، يُرجى الاطّلاع على دليل البدء.
اطّلِع على إرشادات أفضل الممارسات للحصول على تعليمات حول أفضل طريقة لتنفيذ واجهات برمجة التطبيقات هذه.
اطّلِع على إرشادات أفضل الممارسات للحصول على تعليمات حول أفضل طريقة لتنفيذ واجهات برمجة التطبيقات هذه.
تفعيل ميزة "الأصدقاء"
لتفعيل الأصدقاء، استخدِم الدوالّ التالية:
عرض الأصدقاء: يمكنك طلب الوصول إلى قائمة أصدقاء أحد اللاعبين لكي تتمكّن من إضافة أصدقائه في الألعاب إلى قائمة أصدقائك داخل اللعبة.
عرض ملف شخصي للاعب: يمكنك السماح للاعب بعرض الملف الشخصي للاعب آخر على تطبيق "ألعاب Play". وهذا الإجراء ضروري لكي يعرف اللاعب أصدقائه، ويمكنه التواصل مع لاعبين آخرين في "ألعاب Play" في لعبتك. يجب ربط هذا الإجراء بعنصر واجهة مستخدم لبدء عرض النافذة المنبثقة. يمكنك الاطّلاع على إرشادات الأصدقاء للحصول على التفاصيل.
عرض الأصدقاء
هناك طريقتان لتحميل الأصدقاء، إما باستخدام إطار عمل ISocial
أو
مباشرةً باستخدام PlayGamesPlatform
.
تحميل الأصدقاء باستخدام إطار عمل ISocial
Social.localUser.LoadFriends((success) => {
Debug.Log("Friends loaded OK: " + ok));
foreach(IUserProfile p in Social.localUser.friends) {
Debug.Log(p.userName + " is a friend");
}
ومع ذلك، ستتعذّر هذه الدعوة إذا لم يمنح اللاعب الحالي
إذنًا للّعبة بالوصول إلى هذه المعلومات. استخدِم
GetLastLoadFriendsStatus
للتحقّق مما إذا تعذّر إتمامLoadFriends
بسبب عدم توفّر
الموافقة.
PlayGamesPlatform.Instance.GetLastLoadFriendsStatus((status) => {
// Check for consent
if (status == LoadFriendsStatus.ResolutionRequired) {
// Ask for resolution.
}
});
يمكن للعبة أن تطلب من اللاعب الحالي مشاركة قائمة الأصدقاء من خلال استدعاء AskForLoadFriendsResolution
.
PlayGamesPlatform.Instance.AskForLoadFriendsResolution((result) => {
if (result == UIStatus.Valid) {
// User agreed to share friends with the game. Reload friends.
} else {
// User doesn’t agree to share the friends list.
}
});
ستعرض هذه الدالة واجهة المستخدم المناسبة لمشاركة الأصدقاء الخاصة بالمنصة. يسأل واجهة المستخدم هذه اللاعب عما إذا كان يريد مشاركة أصدقائه مع اللعبة.
تحميل الأصدقاء باستخدام PlayGamesPlatform
هناك طريقة أخرى لتحميل الأصدقاء وهي استخدام LoadFriends
وLoadMoreFriends
:
PlayGamesPlatform.Instance.LoadFriends(pageSize, forceReload, (status) => {
// Check if the call is successful and if there are more friends to load.
});
PlayGamesPlatform.Instance.LoadMoreFriends(pageSize, (status) => {
// Check if there are more friends to load.
});
تمثّل المَعلمة pageSize
عدد الإدخالات المطلوب طلبها لهذه الصفحة.
يُرجى العِلم أنّه إذا كانت البيانات المخزّنة مؤقتًا متوفّرة، قد يحتوي المخزن المؤقت الذي تم إرجاعه على حجم أكبر مما سبق. نضمن أن يحتوي المخزن المؤقت على هذا العدد من الإدخالات على الأقل
إذا كانت المجموعة تحتوي على سجلّات كافية. إذا تم ضبط forceReload
على true
،
ستؤدي هذه الدعوة إلى محو أي بيانات محفوظة مؤقتًا على الجهاز ومحاولة جلب أحدث
البيانات من الخادم. ويتم استخدام هذا الإجراء عادةً في إجراءات مثل إعادة تحميل بيانات بدأها مستخدم. يجب ضبط هذا الخيار عادةً على false
للاستفادة من
مزايا ميزة "تخزين البيانات المؤقت".
إذا أرجعت الدالة المرجعية LoadFriendsStatus.LoadMore
، يعني ذلك أنّ هناك المزيد من
الأصدقاء المطلوب تحميلهم. يشير الرمز LoadFriendsStatus.ResolutionRequired
إلى أنّ المستخدم
لم يشارك قائمة الأصدقاء ويمكنك الاتصال مباشرةً بـ
PlayGamesPlatform.Instance.AskForLoadFriendsResolution
.
تحديد إذن الوصول إلى قائمة الأصدقاء
استخدِم PlayGamesPlatform.Instance.GetFriendsListVisibility
للتحقّق مما إذا كان المستخدم
قد شارك قائمة الأصدقاء مع اللعبة. في ما يلي حالات الإرجاع المحتملة:
يشير الرمز
FriendsListVisibilityStatus.RequestRequired
إلى أنّه عليك طلب الموافقة.يشير الرمز
FriendsListVisibilityStatus.Visible
إلى أنّه من المفترض أن يتم تحميل قائمة الأصدقاء بنجاح.FriendsListVisibilityStatus.Unknown
من المفترض ألّا يحدث ذلك بشكل عام. يمكنك ضبطforceReload
على true لإعادة تحميل البيانات.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
عرض ملف شخصي للاعب
لإضافة لاعب كصديق أو إزالته، استخدِم دالّة عرض الملف الشخصي ومقارَنته. تؤدي هذه الدالة إلى عرض مربّع حوار في أسفل الصفحة يعرض الملف الشخصي للمستخدم على تطبيق "ألعاب Play". يمكنك استدعاء الدالة باستخدام معرّف اللاعب المطلوب. إذا كان لدى اللاعب والصديق ألقاب داخل اللعبة، استخدِم هذه الألقاب في المكالمة لإضافة المزيد من السياق إلى واجهة مستخدم الملف الشخصي:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});