Unity share плагин для iOS и Android
Каждый разработчик пытается автоматизировать процесс. В результате, создаются собственные движки, врапперы, надстройки, «велосипеды» и т. д... Так и получилось, нужно было сделать более-менее универсальный способ шаринга в Unity проекте для андроидов и айфонов, в результате написал эти два плагина. Теперь запросы типа: «как расшарить из Unity», «unity share plugin», «как отправить вконтакте из unity» должны вести сюда :)
Использовать очень просто. Есть небольшие заморочки с настройкой проекта под iOS, но это делается один раз и автоматически, с помощью обработки проекта после билда. Можно добавлять, изменять и использовать как угодно, все исходники и пример на Github.
В данный момент можно шарить в:
- ВКонтакте
- Одноклассники
- Viber
- Telegram
Интерфейс в Unity выглядит так:
// vk, fb, ok, tw, wa, vb, tg
using UnityEngine;
using System.Collections;
using System.Runtime.InteropServices;
public class Sharing : MonoBehaviour {
#if UNITY_IOS
[DllImport ("__Internal")]
private static extern void shareVia (string app, string message, string url, string param);
#endif
// Поделиться
public static void ShareVia (string app, string message, string param = "") {
#if UNITY_ANDROID
message = string.Format ("{0} {1}", message, "http://my.url.com"); // добавление ссылки
using (var plugin = new AndroidJavaClass("com.mycompany.sharing.Plugin")) {
plugin.CallStatic("shareVia", app, message);
}
#elif UNITY_IOS
shareVia (app, message, "http://my.url.com", param);
#endif
}
// Не удалось расшарить
void OnShareError (string result) {
switch (result) {
case "NotInstall":
// приложение не установлено
break;
case "NotAvailable":
// шаринг не доступен
break;
case "AccessDenied":
// нет доступа
break;
default:
// не удалось расшарить текст
break;
}
}
}
Например, чтобы расшарить в Facebook, достаточно вызвать:
Sharing.ShareVia ("fb", "Hi from Unity");
Для работы некоторых API, нужны ID приложений. Чтобы их получить, необходимо создать приложения для этих соц. сетей, как это сделать обычно написано в специальном разделе для разработчиков на сайте. Например, как для ВКонтакте.
Внутренности каждого плагина тут расписывать не буду, исходники все доступны, если будут вопросы пишите — почта внизу страницы.