从 Android 服务调用 UnitySendMessage

Call UnitySendMessage from Android Service

我正在编写使用 Android 本机插件的 Unity Android 应用程序。该插件实现了跟踪用户位置并在用户进入地图某些点时发送推送通知的后台服务。

我将此服务构建为一个独立的 .jar 包并放入 Assets/Plugins/Android 文件夹中。但是当我构建它时,我无法访问 UnityPlayer 来使用 UnitySendMessage.

那么如何从我的服务中 运行 UnitySendMessage 方法呢?感谢回复。

您需要在您的Android项目中导入一个依赖项,它是包含UnityPlayer的Unity库class。

这位于文件夹中:

Windows: Unity\Editor\Data\PlaybackEngines\androidplayer\release\bin

OS X: Applications/Unity/PlaybackEngines/AndroidPlayer/Variations/mono/Release/Classes/

文件名为classes.jar(我强烈建议更改名称以便识别)。

之后,你需要告诉Gradle你不想在你的jar文件中加入这个jar文件(unity会自动提供)。所以你在你的build.gradle依赖项中做广告:provided files('./libs/UnityPlayer.jar')

最后,您只需要在 java 文件中导入库:import com.unity3d.player.UnityPlayer;