我想创建一个不基于Google服务或类似服务的通知系统提供商。事实上,我希望获得有关其整体架构的信息,并且需要Android sdk 功能。
对我来说最奇怪的一点是了解如何向Android设备发送通知。
我的意思是,如何从互联网上数以百万计的其他Android设备中识别安装了我的应用程序的Android设备?
我如何向他发送信息? 我应该为这个或类似的东西使用插座吗?
答案 0 :(得分:0)
简单答案:您不能
在其他所有操作之前,我应该纠正您的问题,pusher和FCM根本不在同一个组中!您可以构建诸如pusher或oneSignal之类的东西,但不能构建诸如FCM / APNS之类的东西
您应该了解以下三个简单但重要的句子:
如果您没有要发送通知的手机的标识符,则服务器不知道该通知的发送位置,因此我们需要一个类似于resource_identifier_like的手机,它实际上是一个 device_token_like ,您只有一种方法可以获取此device_token_like,那就是FCM / APNS
FCM就像是dns服务器,其中包含google支持的每个android设备(几乎每个android设备)的所有标识符,而APNS只是苹果设备一样
注释1:,即使您的应用程序可以获取其对应的设备device_token_like,如果未在FCM / APNS上注册,也无法将其用于推送通知
因此,当您获得所需clinet_device的device_token_like标识符时,现在可以使用其他方法将sth发送到该clinet_device。有几种方法,例如SSE,Webpush,HTTP_server_push,Pushlet等。但这些设备的mother_companies不支持这些方法,唯一得到完全支持且标准的方法是与FCM / APNS相同的方法官方网站建议
例如,由于美国的制裁,名为najva的伊朗公司使用webpush发送通知,但是webPush方法在浏览器和android设备上效果很好,但它们甚至没有出现在苹果设备上
最后,我应该说,我很欣赏您的好奇心,在开发中减少使用基于FCM / APNS的基于Benefit_Inc。的产品,但我强烈建议您阅读这些文章和书籍,因为我认为您学得不足:>