当前位置: 首页 > 知识库问答 >
问题:

CodenameOne-支持Android推送通知,无需专业帐户

尹雅健
2023-03-14

所以,我买不起codeameone pro帐户,所以我用GCM实现了Android的原生推送通知。经过一番斗争,我使它起作用了。

现在不推荐使用GCM,我想迁移到FCM。但是,我遇到了一些问题,因为codename one不允许我将正确的依赖项注入build.gradle文件,以便firebase应用程序正确初始化。

我在这里描述了这些:

https://stackoverflow.com/questions/52278220/codenameone-firebaseapp-not-initializing
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)

因此,现在我陷入了困境,要么无法将正确的fcm依赖项添加到构建中,要么无法在FireBaseMessagingService上实现我的FireBaseMessagingService。

我的问题是:有没有一种方法可以在我的应用程序中添加fcm支持,而不需要有一个pro帐户,并且必须使用codenameone服务器来中继推送?

我更喜欢使用fcm endpoing从我的服务器发送推送通知,并在设备上添加自定义通知处理。

多谢了。

共有1个答案

薛涛
2023-03-14

最终,我通过Android.gradledep构建提示访问所有所需的依赖项,并手动初始化FirebaseApp,实现了本机FCM支持,如下所述:我可以在不使用google-services.json的情况下初始化Firebase吗?

 类似资料:
  • 我在PushKit VoIP通知上发现了一些与Azure通知中心支持相关的帖子: https://social.msdn.microsoft.com/Forums/ie/en-US/afda14fe-1218-4ca1-a1ee-205ccd241d1a/support-for-apple-voip-pushkit-push-notifications?forum=notificationhubs

  • 问题内容: 我正在开发一个应用程序,在该应用程序中,我需要实现推送通知。谁能建议我应该如何实施推送通知?如果可以为我提供一个很好的教程,那就太好了! 谢谢。 问题答案: //在应用程序启动时调用 //清单文件中的更改 // ReceiverC2DM.java ..... //服务器端…新测试应用 ServerSimulator.java

  • 这是舱单 这是我的注册令牌类 这是我的Firebase服务类

  • 我想向移动设备发送丰富的推送通知。我的意思是,当用户收到推送通知时,设备可以显示图像或视频等媒体附件(例如https://medium . com/@ tsif/IOs-10-rich-push-notifications-with-media-attachments-a54dc 86586 c 2)。 亚马逊SNS推送通知是否支持富推送功能?

  • 首先,我想声明我一直在研究推送通知和web通知之间的关系,但我有点困惑。 我从这里读到PWAs的推送通知在Safari上的iOS(iPhone)不起作用:从PWA向iOS发送推送通知 然而,如果iPhone用户使用的是Chrome,这是否意味着它们可以工作呢?或者推送通知在任何浏览器上对iPhone中的PWAs都不起作用? 这就把我带到了web通知。web通知在后台对PWAs起作用吗?我的问题是w

  • 我正在尝试使用GCM推送通知。我的设备已注册到服务器,并且我还创建了设备注册id。但当我试图从服务器发送消息时,消息不会到达已注册的设备。谁能帮帮我吗? 我的主要activity 软件包COM.ATI.GCM; 导入com.google.android.gcm.gcmRegistratar; 导入Android.os.AsyncTask; 导入Android.os.bundle; 导入androi