1

我正在尝试将Google FCM推送通知功能添加到 Unity 项目。我很惊讶没有关于Unity 的Google FCM的资源。只有旧的Google GCM资源。这是我在下面的一步一步的进展。

  1. 制作 Android Studio 项目并将其注册到 FCM 控制台项目
  2. 添加google-service.json'/app' 并配置build.gradle(项目和模块)
  3. 根据 FCM 文档中的示例添加MyFirebaseInstanceIDServiceMyFirebaseMessagingService java 类和onTokenRefreshsendRegistrationToServeronMessageReceivedsendNotification方法
  4. 将类的服务添加到AndroidManifest.xml

    之后,我在移动端测试了 Android Studio 项目,FCM 控制台推送通知运行良好。然后,我开始为 Unity 配置 Android Studio 项目。

  5. 在build.gradle(模块)中将'application' 更改为 'library'并添加deleteOldJarexportJar forAndroidPlugin.jar
  6. 将 Unity 添加classes.jar到 Android Studio 库和模块设置
  7. 删除AndroidManifest.xml的 'android:icon ...''android:theme ...'
  8. 导出 jar 并将 , 添加AndroidPlugin.jarAndroidManifest.xmlUnity 中的 'Plugins/Android'

    然后,我在移动设备上测试了 Unity 项目。它毫无例外地构建,但 FCM 控制台推送通知不起作用。(我制作了测试日志以确认 Android Studio 库已为 Unity 很好地插入,日志运行良好)

也许,除了下面的参考资料之外,还有一些东西可以添加到“插件/Android”中。AndroidManifest.xmlAndroidPlugin.jar

用于统一的 Google firebase 分析插件 - StackOverflow
http://joxi.ru/Q2KeQD7C3zdYrj

但是,我找不到我的答案。请让我知道我必须做什么或添加。抱歉英语不好,解释很长。非常感谢 :)

4

2 回答 2

0

我在OneSignal中使用了Unity SDK。 它是一个非常简单、易用、酷的推送通知 SDK。

参考链接如下。
https://onesignal.com/

于 2016-11-14T09:03:29.383 回答
0

这种方法将不可行。

jar 文件不包含资源,因此 json 文件将在 jar 构建中丢失。或者,理论上包含资源的 aar 文件被 Unity3D 解释为纯插件并忽略资源或至少一些资源,特别是在使用 gradle 时。但 Unity 在这方面做得越来越好。

试试https://firebase.google.com/docs/unity/setup。它是新的,我已经让示例项目工作了。

只是补充一点:Firebase for Unity3D 的新插件很有魅力。像纯系统尝试通知这样的用例不需要在客户端进行一行额外的编程。数据消息也很容易实现。

于 2016-11-28T13:12:46.763 回答