gpt4 book ai didi

android - 在没有 fcm 、 pusher 的情况下创建我自己的推送通知服务,

转载 作者:行者123 更新时间:2023-12-03 13:25:57 29 4
gpt4 key购买 nike

我想创建一个不基于 Google 服务或类似服务的通知系统提供程序。其实我想了解一下它的整体架构和需要的Android sdk 功能。

对我来说最奇怪的一点是了解如何向 Android 设备发送通知。

我的意思是,我如何从互联网上数以百万计的其他 Android 设备中识别出安装了我的应用程序的 Android 设备?

我如何向他发送信息?
我应该为这个或类似的东西使用套接字吗?

最佳答案

简单的回答:你不能
在所有其他事情之前,我应该更正您的问题,pusher 和 FCM 根本不在同一个组中!您可以构建诸如 pusher 或 oneSignal 之类的东西,但您不能构建诸如 FCM/APNS 之类的东西
您应该了解以下三个简单但重要的句子:

  • 当你想从place_1(例如api)拉取任何东西到place_2(例如browser_client)时,你最有一个place_1_resource的标识符(通常是api的统一资源定位器)
  • 当您想将任何内容从 place_1(例如 notification_central_server)推送到 place_2(cellphone_client)时,您通常拥有 place_2_resource
  • 的标识符
  • 您必须知道 之间的区别真实服务器推送类服务器推送技术 像长拉或......你应该知道这个概念的 Intent 是真实服务器推送不是任何一种用推式夹克拉扯的!

  • 如果您没有要向其发送通知的手机的任何标识符,则您的服务器不知道将该通知发送到哪里 所以我们需要一个用于手机的 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 标识符时,您可以使用不同的方法将某物发送到该 clinet_device。有几种方法,如 SSE、Webpush、HTTP_server_push、Pushlet 等 但是这些设备的母公司都不支持这些方法 ,唯一完全支持和标准的方法是FCM/APNS官网建议的方法
    例如,一家名为 najva 的伊朗公司由于美国制裁,使用 webpush 发送通知,但 webPush 方法在浏览器和安卓设备上运行良好,但它们甚至没有出现在苹果设备上
    最后我应该说,我很佩服你的好奇心,在你的开发中减少使用像 FCM/APNS 这样的基于利益的公司的任何东西,但我强烈推荐这些文章和书籍给你,因为我认为你没有学到足够的东西:
  • wikipedia of push technology
  • story of some guy who tries to make his own push notification service
  • Push Technology A Complete Guide - 2020 Edition
  • Data Push Apps with HTML5 SSE
  • 关于android - 在没有 fcm 、 pusher 的情况下创建我自己的推送通知服务,,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/50850054/

    29 4 0
    Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
    广告合作:1813099741@qq.com 6ren.com