Комментарии 5
В закладки.
Как вариант, обмен данными можно реализовать не через UnitySendMessage ,а например через AndroidJavaProxy и AOT.MonoPInvokeCallback. (Android и iOS соответственно)
Преимущества такого подхода в том, что можно задавать несколько аргументов в методах и нет необходимости в объекте на сцене. (Правда callback будут возвращаться не в основном потоке Unity и если нужно возвращать их в основной поток Unity, но это не проблема).
Статья интересная,но считаю UnitySendMessage в плагинах Android и IOS не очень хорошим примером для возврата данных с плагинов
Ну раз разбираетесь в теме, то расскажите чем так плох обмен через UnitySendMessage
1)Необходимость иметь объект на сцене с фиксированным именем
2)Вручную нужно "парсить" данные (так как только один строковый аргумент). Это небольшая проблема, если метода 2-3,а если их 40-50?то велика вероятность допустить ошибку в написании переменной, не правильно разобрать данные и т.д.
Я не говорю, что его нельзя использовать, но если есть варианты лучше, почему-бы их не использовать.
Способ хорош, если нужно передавать небольшое количество данных, если нужно гонять туда обратно кучу данных,
Разработка Unity плагинов для iOS и Android