0

我正在使用 React Native 开发一个应用程序,并希望使用 Onesignal 和 Firebase 在应用程序中接收通知,但我遇到了一个错误,我已经查看了文档,显然它是正确使用的。

遵循错误代码:

  useEffect(()=>{

    OneSignal.init("7c7b85c7-3bd2-48e3-8c75-02835cb223c8");

    OneSignal.addEventListener('opened', this.onOpened);

    return () => OneSignal.removeEventListener('opened', this.onOpened);

  }, []);

function onOpened(openResult){
  console.log('Message: ', openResult.notification.payload.body);
  console.log('openResult: ', openResult);
}

错误:

在此处输入图像描述

TypeError: react_native_onesignal__WEBPACK_IMPORTED_MODULE_4__.default.init is not a function
(anonymous function)
C:/Projeto/AppText/App.js:11
   8 | 
   9 | useEffect(()=>{
  10 | 
> 11 |   OneSignal.init("7c7b85c7-3bd2-48e3-8c75-02835cb223c8");
  12 |   ^    
  13 |   OneSignal.addEventListener('opened', this.onOpened);
  14 | 
4

1 回答 1

0

您使用的是哪个版本的 react-native-onesignal?在React Native Setup 的 OneSignal 官方文档中,您可以调用 OneSignal.setAppId(<ONESIGNAL_APP_ID>) 来代替 OneSignal.init() 进行初始化。


直接来自 OneSignal 文档

//OneSignal Init Code
OneSignal.setLogLevel(6, 0);
OneSignal.setAppId("YOUR-ONESIGNAL-APP-ID");
//END OneSignal Init Code
于 2021-08-22T04:51:34.773 回答