OpenFeint — достаточно популярная социальная сеть для игроков. Социальная составляющая всегда важна для казуальных (да и не только) игр, ведь она добавляет интерес к игре со стороны пользователей, да и способствует распространению.
Итак, наша задача на текущий момент — встроить OpenFeint в наш проект игры на Unity3d. Итак, все по порядку.
Для начала нужно зарегистрироваться на сайте OpenFient в разделе разработчиков. После регистрации создаем новую игру, просто кликнув кнопку «Add new game». Надо выбрать платформы, на которых вы собираетесь издавать игру и ввести ее название. Все, полдела сделано.
Если рассматривать в кроссплатформенном разрезе (iOS и Android), то OpenFeint поддерживает игровые достижения (achievements, или ачивки в простонародье) и лидерборды (leaderboards). На те и другие можно перейти, кликнув закладку Features в так называемом дешборде разработчика. Остальные возможности на текущий момент поддерживаются только для iOS.
Добавляем нужные лидерборды, заполняем ачивки. У каждого из них есть очень важный параметр — Unique ID. Он-то нам и понадобится, с его помощью будем открывать ачивки и заполнять лидерборды.
Переходим к делу. Тут все просто: качаем OpenFeint Unity SDK для iOS или для Android. Содержимое SDK надо поместить в папку Plugins проекта (через добавления ассетов или путем перетаскивания в иерархию проекта). Класс OpenFeintFacade представляет основной набор функций для работы с функциями социальной сети OpenFeint.
В примере, который прилагается к SDK, делается как описано ниже (исходный код может несколько отличаться от оригинала примера, однако он рабочий).
Создаем свой класс, который на старте создает объект-фасад для опенфейнта. В нем и будем использовать функции OpenFeint. Класс обзовем OpenFeintController и поместим скрипт на GameObject в нужную нам сцену Unity3d. Через него и будем вызывать всё, что нам надо.
Добавим пару функций для открытия дешборда, заливки хайскора в нужный лидерборд и разлочки ачивок:
Можно добавить еще одну функцию, если ваше приложение использует ачивки, которые открываются постепенно (то есть можно задать прогресс зарабатывания ачивки — от 0 до 100%). OpenFeint и на такое способен, и это очень интересно:
В классе OpenFeintFacade содержится еще множество полезных функций, которые в значительной степени повысят социальность разрабатываемой игры, но я люблю только по существу. Кстати, указанный пример работает только на Android. Для iOS дела обстоят несколько по-другому. Чтобы узнать подробнее, обратитесь к документации по iOS и Android интеграции OpenFeint в Unity3d.
Всем успехов, спасибо за уделенное время
Ссылки по теме:
Итак, наша задача на текущий момент — встроить OpenFeint в наш проект игры на Unity3d. Итак, все по порядку.
Для начала нужно зарегистрироваться на сайте OpenFient в разделе разработчиков. После регистрации создаем новую игру, просто кликнув кнопку «Add new game». Надо выбрать платформы, на которых вы собираетесь издавать игру и ввести ее название. Все, полдела сделано.
Если рассматривать в кроссплатформенном разрезе (iOS и Android), то OpenFeint поддерживает игровые достижения (achievements, или ачивки в простонародье) и лидерборды (leaderboards). На те и другие можно перейти, кликнув закладку Features в так называемом дешборде разработчика. Остальные возможности на текущий момент поддерживаются только для iOS.
Добавляем нужные лидерборды, заполняем ачивки. У каждого из них есть очень важный параметр — Unique ID. Он-то нам и понадобится, с его помощью будем открывать ачивки и заполнять лидерборды.
Переходим к делу. Тут все просто: качаем OpenFeint Unity SDK для iOS или для Android. Содержимое SDK надо поместить в папку Plugins проекта (через добавления ассетов или путем перетаскивания в иерархию проекта). Класс OpenFeintFacade представляет основной набор функций для работы с функциями социальной сети OpenFeint.
В примере, который прилагается к SDK, делается как описано ниже (исходный код может несколько отличаться от оригинала примера, однако он рабочий).
Создаем свой класс, который на старте создает объект-фасад для опенфейнта. В нем и будем использовать функции OpenFeint. Класс обзовем OpenFeintController и поместим скрипт на GameObject в нужную нам сцену Unity3d. Через него и будем вызывать всё, что нам надо.
private static OpenFeintFacade openFeint;
private static OpenFeintController instance;
private const string appName = "";// Имя вашего приложения, отобразится в дешборде
private const string key = ""; // Уникальный ключ
private const string secret = ""; // Секретный ключ
private const string id = ""; // ID приложения
void Awake()
{
if (instance == null)
{
instance = this;
DontDestroyOnLoad(this); //это нужно для присутствия объекта OF в каждой сцене
}
else
{
Destroy(gameObject);
}
}
void Start()
{
openFeint = new OpenFeintFacade();
Init();
}
public static void Init()
{
if (!Application.isEditor) //не вызываем ничего в редакторе, это нам не надо
{
if (!openFeint.isUserLoggedIn()) //проверка на авторизацию
{
if (!openFeint.isInitialized()) // проверка соединения
{
openFeint.Init(appName, key, secret, id, 1);
}
}
}
}
Добавим пару функций для открытия дешборда, заливки хайскора в нужный лидерборд и разлочки ачивок:
public static void ViewDashboard()
{
if(!Application.isEditor)
{
openFeint.OpenDashboard();
}
}
public static void ReportScore(int score, string leaderboard)
{
if (!Application.isEditor)
{
if (openFeint.isUserLoggedIn())
openFeint.SubmitScore(leaderboard, score);
}
}
public static void UnlockAchievement(int achievementID)
{
if (!Application.isEditor)
{
if (openFeint.isUserLoggedIn())
openFeint.UnlockAchievement(achievementID);
}
}
Можно добавить еще одну функцию, если ваше приложение использует ачивки, которые открываются постепенно (то есть можно задать прогресс зарабатывания ачивки — от 0 до 100%). OpenFeint и на такое способен, и это очень интересно:
public static void UpdateAchievement(int achievementID, float percentage,
bool showNotification)
{
if (!Application.isEditor)
{
if (openFeint.isUserLoggedIn())
openFeint.UpdateAchievement(achievementID, percentage, showNotification);
}
}
В классе OpenFeintFacade содержится еще множество полезных функций, которые в значительной степени повысят социальность разрабатываемой игры, но я люблю только по существу. Кстати, указанный пример работает только на Android. Для iOS дела обстоят несколько по-другому. Чтобы узнать подробнее, обратитесь к документации по iOS и Android интеграции OpenFeint в Unity3d.
Всем успехов, спасибо за уделенное время
Ссылки по теме: