我已根据the Xamarin component store中的示例设置了GCM客户端。此外,我已经按照Notification Hub上的教程进行了操作。 我使用Google API 19在Android 4.4.2仿真器和各种Android设备(4.4,5.1)上运行测试。我正在使用最新版本的Xamarin。
在模拟器中调用PushHandlerService.OnRegistered,我可以在通知中心注册设备令牌。但是,当我发送消息时,不会调用PushHandlerService.OnMessage方法。
在真实设备上,甚至不会调用PushHandlerService.OnRegistered。
我尝试通过通知中心直接通过GCM服务(HTTP Post)发送消息。两次对服务的调用都成功,但消息未到达我的应用程序。我已尝试在应用处于活动状态或已关闭时通知和/或数据有效负载的通知消息。我将我的Google帐户添加到模拟器中。我确保我的谷歌项目编号和包名称是正确的(谷歌开发者控制台对应于应用程序)。
如何进一步调查我的问题? 是否有可能在GCM中查看交货日志? 有没有办法看看通知消息是否至少到达我的模拟器的操作系统? 什么可能出错,以便我的模拟器收到注册ID,但不是真正的设备?
答案 0 :(得分:0)
我最终根据Xamarin教程结束了新的GCM API:https://developer.xamarin.com/guides/cross-platform/application_fundamentals/notifications/android/
此外,我解锁了防火墙上的GCM端口:: 5228,5229,5230