因此,我买不起 codeameone 专业帐户,因此我使用 GCM 为 Android 实现了本机推送通知。经过一番努力,我终于成功了。
现在 GCM 已弃用,我想迁移到 FCM。但是,我遇到了一些问题,因为代号一不允许我将正确的依赖项注入到 build.gradle 文件中,以便 firebase 应用程序正确初始化。
我在这里描述了这些:
https://stackoverflow.com/questions/52278220/codenameone-firebaseapp-not-initializing
还尝试使用专业帐户的一些功能,以便向我的应用程序添加正确的 fcm 依赖项,这意味着让我的主应用程序类实现 PushCallback 接口,但我遇到了其他问题。例如,codenameone 使用专有的实现覆盖了我的 FirebaseMessagingService 实现,当我通过 google fcm 端点发送自定义通知负载时,该实现会抛出错误,该端点以前与我的本机实现一起使用。
我得到的错误是这样的:
09-12 14:50:19.581 14378 14397 E AndroidRuntime: java.lang.NullPointerException: Attempt to invoke virtual method 'int java.lang.String.length()' on a null object reference
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at java.io.DataOutputStream.writeUTF(DataOutputStream.java:347)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at java.io.DataOutputStream.writeUTF(DataOutputStream.java:323)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at com.codename1.impl.android.AndroidImplementation.appendNotification(AndroidImplementation.java:470)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at com.codename1.impl.android.CN1FirebaseMessagingService.onMessageReceived(CN1FirebaseMessagingService.java:83)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at com.google.firebase.messaging.FirebaseMessagingService.zzc(Unknown Source)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at com.google.firebase.iid.zzc.run(Unknown Source)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1133)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:607)
09-12 14:50:19.581 14378 14397 E AndroidRuntime: at java.lang.Thread.run(Thread.java:761)
显然,CN1FirebaseMessagingService 实现需要通知上有一个“body”参数。
所以现在我陷入困境,要么无法将正确的 fcm 依赖项添加到构建中,要么无法在 FirebaseMessagingService 上实现我的。
我的问题是:有没有办法在我的应用程序中添加 fcm 支持,而无需拥有专业帐户并且必须使用 codenameone 服务器来中继推送?
我更愿意使用 fcm 端点从我的服务器发送推送通知并在设备上添加自定义通知处理。
Thanks.
最终,我通过 android.gradle Dep 构建提示添加所有必需的依赖项并手动初始化 FirebaseApp,成功地本地实现了 FCM 支持,如下所述:我可以在不使用 google-services.json 的情况下初始化 Firebase 吗? https://stackoverflow.com/questions/38962025/can-i-initialize-firebase-without-using-google-services-json
本文内容由网友自发贡献,版权归原作者所有,本站不承担相应法律责任。如您发现有涉嫌抄袭侵权的内容,请联系:hwhale#tublm.com(使用前将#替换为@)