يتيح برنامج "الأصدقاء في ألعاب Play" للّاعبين إنشاء أصدقاء في مرحلة من الألعاب والحفاظ عليهم الحالية. يمكنك طلب الوصول إلى قائمة الأصدقاء هذه لمساعدة اللاعبين في لعب في اللعبة مع أصدقائهم. يمكنك الاطّلاع على صفحة مفاهيم الأصدقاء لمزيد من التفاصيل حول نظام الأصدقاء.
قبل البدء
ابدأ بإعداد مشروعك والمكوّن الإضافي "ألعاب Google Play" من أجل مشاريع Unity. للحصول على التفاصيل، يمكنك مراجعة دليل البدء.
الاطّلاع على إرشادات أفضل الممارسات تعليمات حول أفضل طريقة لتنفيذ واجهات برمجة التطبيقات هذه.
يمكنك الاطّلاع على إرشادات أفضل الممارسات للحصول على تعليمات حول وأفضل طريقة لتنفيذ واجهات برمجة التطبيقات هذه.
تمكين الأصدقاء
لتفعيل ميزة الأصدقاء، استخدِم الدوال التالية:
الاطّلاع على الأصدقاء: يمكنك طلب الوصول إلى قائمة أصدقاء أحد اللاعبين لتتمكّن من إضافة ألعابهم على Play. الأصدقاء إلى قائمة الأصدقاء داخل اللعبة
عرض الملف الشخصي للّاعب: السماح للاعب بعرض الملف الشخصي للاعب آخر على تطبيق "ألعاب 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
على "صحيح" لإعادة تحميل البيانات.
PlayGamesPlatform.Instance.GetFriendsListVisibility(forceReload, (friendsListVisibilityStatus) => {});
عرض الملف الشخصي للّاعب
لإضافة لاعب أو إزالته كصديق، استخدِم العرض والمقارنة بين الملف الشخصي. الأخرى. تؤدي هذه الدالة إلى ظهور مربّع حوار في بطاقة سفلية يعرض لعبة "ألعاب Play". الملف الشخصي للمستخدم استدعينا الدالة مع معرف المشغل للأمر المطلوب لاعب. إذا كان لدى اللاعب والصديق ألقاب داخل اللعبة، يمكنك استخدامها في المكالمة إضافة المزيد من السياق إلى واجهة مستخدم الملف الشخصي:
PlayGamesPlatform.Instance.ShowCompareProfileWithAlternativeNameHintsUI(
mFirstFriendId, /* otherPlayerInGameName= */ null, /* currentPlayerInGameName= */ null,
(result) => {
// Profile comparison view has closed.
});