我是一个新生的编码器,创建一个简单的iOS应用程序。我正在尝试第一次编写推送通知,我有一个关于Parse安装对象的简单问题,以及多个用户登录同一设备的情况(假设在图书馆有一个孤独的iPad)。
根据我见过的Parse文档,当用户订阅频道时 - 让我们说“The Giants” - 它将此信息保存在安装对象上。但是如果用户注销而另一个用户登录,Parse是否会假设我们要删除之前的频道?因此,渠道是否应首先保存到User类,并且仅在用户登录时保存到Installation?类似地,我们如何处理高级定位,我想查询特定用户objectId的安装?最佳做法是始终将登录的最后一个用户列为“所有者”/“用户”?
如果您发现图书馆示例不切实际,请考虑在朋友的设备上登录您的Spotify帐户,以便在聚会上播放私人播放列表。我知道这些不太常见的情况,但我想确保我知道如何处理它们。
我是Push Notifications的新手,所以我可能会遗漏一些基本的东西,但如果有经验的开发人员可以就如何处理这种情况提供一些建议,我们将不胜感激。
答案 0 :(得分:0)
保存安装时存储对PFUsers的引用。添加一个字段@“owner”并将pfuser标记为它。
用户登录后,如果他们未与当前安装相关联,请发送一条警告,询问他们是否愿意接收此设备。如果是这种情况,请重新保存并更新当前安装。否则保持原样。
这是一个棘手的领域,让我知道你想出了什么。
人们很少会使用其他人的手机登录服务,所以如果您只想“看看会发生什么”以及需求是否有效,我认为这不是一个大问题。
答案 1 :(得分:0)
我有3个iOS应用程序使用单个Parse应用程序,它支持所有3个应用程序的推送通知。我在项目上设置了一个标志,用于NDEBUG的Release配置。我使用#ifndef NDEBUG
在我当前安装上设置的值上设置布尔值。通过这种方式,可以轻松识别可用于测试推送通知的安装。我还使用appIdentifier
值过滤到我正在测试的应用程序。
我还根据需要设置了其他值,但这些值是一个良好的开端。
if (debug) {
[currentInstallation setObject:[NSNumber numberWithBool:YES] forKey:@"debug"];
}
else {
[currentInstallation setObject:[NSNumber numberWithBool:NO] forKey:@"debug"];
}