package.json
"@react-native-firebase/app": "8.4.2",
"@react-native-firebase/messaging": "^7.8.6",
"react": "16.13.1",
"react-native": "0.63.2"
当前,我能够从Web api接收推送通知,该通知已设置为通过fcm api发送通知。
现在,我要实现subscriptionToTopic,因为设备将具有不同的用户组。例如,通过组合companycode = F88和departmentid = 1:-F881
。但是我得到了错误:-
可能的未处理的承诺拒绝(id:0): 错误:[消息/未知]无效的主题名称:与允许的格式[a-zA-Z0-9 -_。〜%] {1,900}不匹配。
我也尝试F88.1
,/topics/F88/1
。但是我仍然得到错误。我使用正则表达式测试器检查了输入字符串和允许的格式,它是有效的。
我的实现如下: root / src / navigator / navigationContainer.js
// This is minimal static code.
// Real data will retrieve from web api login validation
const constTopic = 'F881';
export const StackNavigator = () => {
React.useEffect(() => {
const unsubscribe = firebase.messaging().onMessage(async remoteMessage => {
console.log(JSON.stringify(remoteMessage));
});
// Error on here
firebase.messaging().subscribeToTopic(constTopic);
return () => unsubscribe;
}, []);
}
我想在验证登录后订阅某些主题(单击登录或在初始屏幕上的AsyncStorage上找到令牌后出现)。如果未登录,则它应仅显示常规通知。