在安卓用户之间共享数据

4
我有困难理解这个问题的抽象层次。
问题是: 用户A和B下载应用程序X。 A想向B发送应用程序特定的数据。用户A如何与B链接?
我的极其混乱的解决方案: - 用户A在应用程序上点击一个按钮,打开联系人列表。用户A从列表中选择用户B。用户B的电子邮件地址存储在A的通讯录中。应用程序创建一种“共享ID”,并通过该电子邮件地址将其发送给用户B。用户B的应用程序从邮件中获取该ID,然后用户A和B使用共享ID连接到服务器,并通过服务器进行共享。
必须有更好的方法吧?两个问题是: 1. 它不应该需要一个服务器(应该吗?可以免费吗?) 2. 必须有更好的用户连接方式,而不是通过gmail发送ID或链接等。
这个解决方案应该非常简单,但我无法理解它。如果这个问题不足以得到一个好的答案,请告诉我我需要做什么来思考移动用户如何尽可能简单地互动,尽可能少的点击,(Mobile 2.0或现代事物等)!
例如:母亲和孩子都有安卓智能手机。他们每个人都下载了“ChildLeash”应用程序。孩子希望配置应用程序以向母亲发送更新,以便母亲可以跟踪孩子的位置等信息。问题在于孩子需要以某种方式告诉应用程序母亲的位置,以便数据被发送到那里。孩子如何能够友好地识别母亲的手机?(母亲的IP地址?电话号码?电子邮件地址?OpenIDs?NFC /蓝牙?)以便进行通信?
2个回答

3

您可以使用由 Android Cloud to Device Messaging Framework 提供的推送通知。关于此,有一篇关于 Android 的博客文章。问题是,这似乎是测试版,并不适用于所有开发者(您需要进行特定的注册)。

关于“IP地址”,P2P等等,通常情况下这不起作用。请参见:智能手机是否支持通过3G/4G进行点对点通信?

如果消息不紧急,则可以使用 AlarmManager 让您的应用程序每隔一小时左右唤醒一次,并通过连接到服务器检查新消息。不确定这是否适用于您的“ChildLeash”示例。另一个类似的解决方案是使用 Service 来轮询服务器。


现在是404错误:https://code.google.com/android/c2dm/index.html - 技术和框架正在改变。现在这里是链接:https://developers.google.com/cloud-messaging/ 但也有一个警告:“从2018年4月10日起,Google已经弃用了GCM。 GCM服务器和客户端API已被弃用,并将在2019年4月11日之前删除。将GCM应用程序迁移到Firebase Cloud Messaging(FCM),它继承了可靠且可扩展的GCM基础设施以及许多新功能。请参阅迁移指南以了解更多信息。” - matheszabi

1

我有一个类似的情况,我想让两个用户能够在我的应用程序内相互发送和接收数据。现在FCM是最好的方式吗?Google的服务器是否进行数据交换,还是我需要设置服务器?对于开发人员或用户是否有任何费用? - AJW

网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接