Мои Уведомления
Привет, !
Мой Аккаунт Мои Финансы Мои Подписки Мои Настройки Выход
Руководство API скрипты

Социальный API

Social API — это точка доступа Unity к социальным функциям, таким как:

  • Профили пользователей
  • Списки друзей
  • Достижения
  • Статистика / Таблицы лидеров

Он предоставляет унифицированный интерфейс для различных социальных серверов, таких как GameCenter, и предназначен для использования в первую очередь программистами в игровом проекте.

Social API — это в основном асинхронный API, и типичный способ его использования — это вызов функции и регистрация для обратного вызова, когда эта функция завершится. Асинхронная функция может иметь побочные эффекты, такие как заполнение определенных переменных состояния в API, а обратный вызов может содержать данные с сервера для обработки.

Класс Social находится в пространстве имен UnityEngine и поэтому всегда доступен, но другие классы API социальных сетей хранятся в собственном пространстве имен UnityEngine.SocialPlatforms. Кроме того, реализации Social API находятся в подпространстве имен, например SocialPlatforms.GameCenter.

Вот пример (JavaScript) того, как можно использовать Social API:

import UnityEngine.SocialPlatforms; function Start () { // Authenticate and register a ProcessAuthentication callback // This call needs to be made before we can proceed to other calls in the Social API Social.localUser.Authenticate (ProcessAuthentication); } // This function gets called when Authenticate completes // Note that if the operation is successful, Social.localUser will contain data from the server. function ProcessAuthentication (success: boolean) { if (success) { Debug.Log ("Authenticated, checking achievements"); // Request loaded achievements, and register a callback for processing them Social.LoadAchievements (ProcessLoadedAchievements); } else Debug.Log ("Failed to authenticate"); } // This function gets called when the LoadAchievement call completes function ProcessLoadedAchievements (achievements: IAchievement[]) { if (achievements.Length == 0) Debug.Log ("Error: no achievements found"); else Debug.Log ("Got " + achievements.Length + " achievements"); // You can also call into the functions like this Social.ReportProgress ("Achievement01", 100.0, function(result) { if (result) Debug.Log ("Successfully reported achievement progress"); else Debug.Log ("Failed to report achievement"); }); }

Вот тот же пример с использованием C#.

using UnityEngine; using UnityEngine.SocialPlatforms; public class SocialExample : MonoBehaviour { void Start () { // Authenticate and register a ProcessAuthentication callback // This call needs to be made before we can proceed to other calls in the Social API Social.localUser.Authenticate (ProcessAuthentication); } // This function gets called when Authenticate completes // Note that if the operation is successful, Social.localUser will contain data from the server. void ProcessAuthentication (bool success) { if (success) { Debug.Log ("Authenticated, checking achievements"); // Request loaded achievements, and register a callback for processing them Social.LoadAchievements (ProcessLoadedAchievements); } else Debug.Log ("Failed to authenticate"); } // This function gets called when the LoadAchievement call completes void ProcessLoadedAchievements (IAchievement[] achievements) { if (achievements.Length == 0) Debug.Log ("Error: no achievements found"); else Debug.Log ("Got " + achievements.Length + " achievements"); // You can also call into the functions like this Social.ReportProgress ("Achievement01", 100.0, result => { if (result) Debug.Log ("Successfully reported achievement progress"); else Debug.Log ("Failed to report achievement"); }); } }

Для получения дополнительной информации о Social API см. Справочник по сценариям Social API

Вы можете отблагодарить автора, за перевод документации на русский язык. ₽ Спасибо
Руководство Unity 2021.3