Unity android FCM 插件
Unity android plugin for FCM
我正在尝试将 Google FCM 推送通知功能添加到 Unity 项目中。我很惊讶没有关于 Google FCM for Unity 的资源。只有旧的 Google GCM 资源。这是我在下面的一步一步的进展。
- 创建 Android Studio 项目并将其注册到 FCM 控制台项目
- 将
google-service.json
添加到'/app'并配置build.gradle(项目和模块)
- 添加 MyFirebaseInstanceIDService、MyFirebaseMessagingService java 类 和 onTokenRefresh, sendRegistrationToServer, onMessageReceived, sendNotification 方法根据 FCM 文档中的示例
- 将 类 的服务添加到 AndroidManifest.xml
之后,我在手机上测试了Android Studio项目,FCM控制台推送通知效果很好。然后,我开始为 Unity 配置 Android Studio 项目。
- 在build.gradle(模块)中将'application'更改为'library'并添加deleteOldJar, exportJar 用于
AndroidPlugin.jar
- 将 Unity
classes.jar
添加到 Android Studio 库和模块设置
- 删除'android:icon ...','android:theme ...'在AndroidManifest.xml
- 导出jar并在Unity中添加
AndroidPlugin.jar
、AndroidManifest.xml
到'Plugins/Android'
然后,我在移动端测试了Unity项目。它无一例外地构建,但 FCM 控制台推送通知不起作用。 (我制作了测试日志以确认 Android Studio libray 为 Unity 很好地插件化,日志运行良好)
也许,'Plugins/Android' 除了 AndroidManifest.xml
和 AndroidPlugin.jar
之外还有一些东西要添加到下面的参考文献中。
但是,我找不到我的答案。请让我知道我必须做什么或添加什么。
抱歉英语不好,解释很长。非常感谢:)
我在 OneSignal 中使用了 Unity SDK。
非常简单、易用、酷炫的推送通知SDK。
参考 link 下面。
https://onesignal.com/
这种方法行不通。
Jar 文件不包含资源,因此,json 文件将从 jar 构建中丢失。或者,理论上包含资源的 aar 文件被 Unity3D 解释为纯插件并忽略资源或至少一些资源,特别是在使用 gradle 时。但 Unity 在这方面做得越来越好。
尝试https://firebase.google.com/docs/unity/setup。它是新的,我已经可以运行示例项目了。
补充一下:Firebase for Unity3D 的新插件很有魅力。像纯系统尝试通知这样的用例不需要在客户端进行一行额外的编程。数据消息也很容易实现。
我正在尝试将 Google FCM 推送通知功能添加到 Unity 项目中。我很惊讶没有关于 Google FCM for Unity 的资源。只有旧的 Google GCM 资源。这是我在下面的一步一步的进展。
- 创建 Android Studio 项目并将其注册到 FCM 控制台项目
- 将
google-service.json
添加到'/app'并配置build.gradle(项目和模块) - 添加 MyFirebaseInstanceIDService、MyFirebaseMessagingService java 类 和 onTokenRefresh, sendRegistrationToServer, onMessageReceived, sendNotification 方法根据 FCM 文档中的示例
- 将 类 的服务添加到 AndroidManifest.xml
之后,我在手机上测试了Android Studio项目,FCM控制台推送通知效果很好。然后,我开始为 Unity 配置 Android Studio 项目。 - 在build.gradle(模块)中将'application'更改为'library'并添加deleteOldJar, exportJar 用于
AndroidPlugin.jar
- 将 Unity
classes.jar
添加到 Android Studio 库和模块设置 - 删除'android:icon ...','android:theme ...'在AndroidManifest.xml
- 导出jar并在Unity中添加
AndroidPlugin.jar
、AndroidManifest.xml
到'Plugins/Android'
然后,我在移动端测试了Unity项目。它无一例外地构建,但 FCM 控制台推送通知不起作用。 (我制作了测试日志以确认 Android Studio libray 为 Unity 很好地插件化,日志运行良好)
也许,'Plugins/Android' 除了 AndroidManifest.xml
和 AndroidPlugin.jar
之外还有一些东西要添加到下面的参考文献中。
但是,我找不到我的答案。请让我知道我必须做什么或添加什么。 抱歉英语不好,解释很长。非常感谢:)
我在 OneSignal 中使用了 Unity SDK。
非常简单、易用、酷炫的推送通知SDK。
参考 link 下面。
https://onesignal.com/
这种方法行不通。
Jar 文件不包含资源,因此,json 文件将从 jar 构建中丢失。或者,理论上包含资源的 aar 文件被 Unity3D 解释为纯插件并忽略资源或至少一些资源,特别是在使用 gradle 时。但 Unity 在这方面做得越来越好。
尝试https://firebase.google.com/docs/unity/setup。它是新的,我已经可以运行示例项目了。
补充一下:Firebase for Unity3D 的新插件很有魅力。像纯系统尝试通知这样的用例不需要在客户端进行一行额外的编程。数据消息也很容易实现。