我正试图通过Firebase为我的React项目设置推送通知。我已经完成了所有基于文档的工作,并且能够在前台/后台以及IoS和安卓中接收推送通知。
下面是我用来注册的片段:
PushNotifications.requestPermissions().then(result => {
console.log(result)
if (result.receive === 'granted') {
// Register with Apple / Google to receive push via APNS/FCM
PushNotifications.register();
} else {
// Show some error
}
});我的问题是:这些代码应该住在哪里?
它是否需要在我的应用程序组件上,因此每次被调用它是re-rendering?
我有种感觉,我错过了一些显而易见的东西,但我无法确定是什么。一切都很好,我只是想确保我有一个很好的理解,这应该是如何工作,以使它正确。
事先谢谢你的回复,我只是想弄清楚事情是如何运作/应该如何运作,而文档并没有起什么作用。
我希望有人也能解释一下capacitor/push-notifications和ionic-native/fcm.之间的区别/好处。P.S2任何一种详细解释这些事情的资源都是非常受欢迎的。
发布于 2022-08-31 02:08:56
PushNotifications.requestPermissions()是打开iOS系统提示符的函数,它询问用户“您想从这个应用程序接收通知吗?”
因此,您必须仔细选择何时调用它。
例如,如果你把它放进index.ts中,那么一旦用户第一次打开你的应用程序,它就会立即提示用户启用推送通知。许多用户不希望在安装应用程序后立即发送通知(他们希望先签出应用程序),因此如果您这样做,可能会有更多的用户阻止您的通知。
如果您的应用程序有一个入职(入门)流程,一个正常的模式是在入职板中有一个步骤,列出从应用程序获取通知的好处,然后提供一个调用PushNotifications.requestPermissions()的“下一步”链接,该链接将提示用户启用通知。
注意,您只能在iOS上请求用户一次启用通知。因此,无论您调用这个函数多少次,您的应用程序只得到一次机会!这就是为什么在用户可能会说“是”的时候调用它是如此重要的原因。
目前,所有这些都与Android无关,因为Android默认支持应用程序的通知。
https://stackoverflow.com/questions/73527645
复制相似问题