如果我在iOS中启用FCM调配,我发现即使用户关闭了我的应用的设备通知设置(可能保存在应用数据中),FCM令牌仍然存在。
在应用程序内部管理此设置似乎不合逻辑,因为FCM会为我处理该部分。
我有两个问题:
FIRApp configure
]会自动完成所有操作。答案 0 :(得分:1)
我认为以下指示可以帮助您回答这个问题。
通常(无论您使用哪种SDK),生成和维护deviceToken都会与权限提示和给出的提示响应完全分离。有一些用例如静默推送,可用于将推送发送到设备,甚至不用询问用户的权限(好吧,这些推送调用你的应用程序进行数据刷新,但无法在UI上显示任何内容)
即使我们提示用户获取权限,拒绝权限也不会使已生成的令牌无效。在这种情况下发送的基于UI的推送(警报,徽章,声音)仍将落在设备上,但iOS在检查用户的权限后不会呈现这些通知。
基于以上数据点,回答你的问题,
我是否需要在应用内创建通知设置开关,以便用户可以开启或关闭通知?
是的,拥有它当然是一个好主意,但请注意,在初始权限提示后,同一个对话框不会再次显示,因此最好将用户重定向到您可以重新启用应用程序的设置通知权限,请参阅this thread实施相同的内容。
如果需要执行#1,如何手动调用FCM注册?我知道这个api [FIRApp配置]会自动完成所有工作。
我没有直接使用Firebase的经验,但是,大多数情况下您不需要向Firebase说明任何内容,因为它已经有一个令牌,它可以随时向该设备发送推送,下一个用户修改设置后的推送将根据用户的最新喜好自动显示。