🛠 Каким должен быть SDK?
💾 Обособленным — SDK не должен вмешиваться в работу проекта и путаться в чужих делах:
1. Менять поведение ваших скриптов или внешних библиотек.
2. Требовать, чтобы вы переписали половину кода под его нужды.
3. "Дружить" с вашим проектом так сильно, чтобы его удаление превратилось в кошмар.
🎵 Легким в понимании — минимум боли, максимум результата:
1. Один prefab или скрипт, который вы добавляете на сцену.
2. Понятная документация с примерами (а не 500 страниц текста, где половина устарела).
3. Автоматическая проверка зависимостей (чтобы он сам подсказал, если что-то забыли установить, вроде нужной версии Google Play Services).
🟥 Упрощающим работу — например, единый API в случае MirraSDK:
1. Хотите показать рекламу? MirraSDK.Ads.Invoke()
2. Проверить покупку? MirraSDK.Payments.Restore()
3. Отправить событие в аналитику? MirraSDK.Analytics.Report()
🔋 Незаметным — вес и производительность на первом месте:
1. Работать асинхронно, чтобы не блокировать основной поток игры (никому не нужен фриз на экране загрузки из-за загрузки баннера).
2. Минимизировать запросы к сети и память. Например, кэшировать данные рекламы заранее, а не тянуть их в момент показа.
3. Давать вам контроль: если реклама не загрузилась вовремя, SDK не должен висеть и ждать её вечно.
💡 Гибким — подстраивается под вас, а не наоборот:
1. Дайте мне возможность выбрать, кто будет показывать рекламу и каким образом.
2. Позвольте настроить, что будет входить в SDK на этапе сборки проекта.
3. Поддерживайте кастомизацию: если я хочу расширить или улучшить SDK, он должен мне это позволить сделать.
🔍Прозрачным — видно что происходит под капотом:
1. Логировать свои действия (например, "Загрузка рекламы началась", "Ошибка: нет интернета").
2. Иметь тестовый режим, чтобы я мог проверить рекламу или покупки, не тратя реальные деньги.
3. Дать доступ к статусам: готов ли баннер? Успешно ли прошла оплата?
🔮 Кроссплатформенным — одна версия для всех:
1. Один код, который работает везде без дополнительных костылей, одинаково на каждой платформе.
2. Учёт особенностей платформ (например, разные рекламные сети для Google Play и App Store).
3. Минимум директив UNITY_ANDROID в коде — пусть SDK сам разберётся, где он запущен.
❔ А что для вас важно при работе с SDK? Может, вы сталкивались с плагинами, которые делали всё наоборот?
Post #61
679

- 🔥 14
- 👍 5
- 💯 3