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.
Создаем свой класс, который на старте создает объект-фасад для опенфейнта. В нем и будем использовать функции OpenFeint. Класс обзовем OpenFeintController и поместим скрипт на GameObject в нужную нам сцену Unity3d. Через него и будем вызывать всё, что нам надо.
Можно добавить еще одну функцию, если ваше приложение использует ачивки, которые открываются постепенно. Да, да, 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.
Создаем свой класс, который на старте создает объект-фасад для опенфейнта. В нем и будем использовать функции 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);
}
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);
}
}
Можно добавить еще одну функцию, если ваше приложение использует ачивки, которые открываются постепенно. Да, да, 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.
Всем успехов, спасибо за уделенное время ;)
Комментариев нет:
Отправить комментарий