【发布时间】:2019-02-19 15:23:48
【问题描述】:
我正在构建一个网络应用程序来帮助 Airbnb 房东管理他们的房源。我希望收到新预订的通知,而不是每隔几分钟 ping Airbnb 的服务器。 Airbnb 的 API 无法将数据推送到服务器,所以我想也许我可以模拟设备并接收推送通知。
这是否可以模拟设备并在 nodejs 中接收推送通知?
更新
iOS 应用似乎在以下地址注册推送通知:
https://api.airbnb.com/v2/air_notification_devices
使用以下数据:
{
"app_version": "19.08",
"device_type": "iphone_gcm",
"device_id": "{{DEVICE_ID}}",
"token": "{{TOKEN}}",
"enabled": true
}
并使用以下 cookie:
SRVID=mofi-production-12ab3c456-7defg_172.21.128.38:32350
然后返回:
{
"air_notification_device": {
"app_version": "19.08",
"created_at": "2019-03-01T16:27:13Z",
"device_id": "{{DEVICE_ID}}",
"device_type": "iphone_gcm",
"enabled": true,
"id":{{ID}},
"locale": "en",
"token": "{{DIFFERNT_TOKEN}}",
"updated_at": "2019-03-01T16:27:13Z",
"user_id": {{USER_ID}}
},
"metadata": {}
}
【问题讨论】:
-
您确定设备可以通过这种方式接收数据并且不进行轮询吗?
-
@zero298 是的,我很确定他们正在使用推送通知。我认为轮询不适用于应用程序,因为应用程序无法真正可靠地在后台运行。
-
这很有趣,尽管我想知道维护 node.js 服务器和 AirBnB 之间访问的安全性。您需要被授权为用户,通常通过 OAuth。访问到期后,您将如何在没有用户的情况下重新建立?此外,AirBnB 关于其 api 的宣传中提到,他们将向其 api 合作伙伴发送一条包含预订详细信息的消息:“当 Airbnb 客人预订您的房源时,我们将传回消息和预订详细信息,允许应用程序构建自定义工作流程并为我们共同的客人。”不是这样吗?
-
我意识到报价可能是通过同步预订 api 进行的,其中预订是通过代表您的 api 调用发生的,他们正在向您发送详细信息。如果您有兴趣收到通知或了解在您的应用程序之外发生的预订,这对您没有帮助。
-
基于 device_type 它可以是旧版本:developers.google.com/cloud-messaging 或只有旧名称。最好捕获通知。
标签: node.js