Onesignal 推送功能不是“功能”

Posted

技术标签:

【中文标题】Onesignal 推送功能不是“功能”【英文标题】:Onesignal push function is 'not a function' 【发布时间】:2018-11-22 05:04:30 【问题描述】:

嘿,如果我的应用程序发生问题,我正在尝试向我的 onesignal 用户添加标签,但它不起作用,我只是收到以下警告:

TypeError: _reactNativeOnesignal.default.push 不是函数

我正在尝试从不同的文件中执行此操作,所以我只是像往常一样在顶部导入一个信号,然后我的代码如下所示:

OneSignal.push(function() 
      OneSignal.sendTags(
        userId: res.auth
      )
        .then(function(tagsSent) 
          // Callback called when tags have finished sending
          console.log("tag is set: ", tagsSent);
          console.log("tag shit");
        )
        .catch(err => 
          console.log("error", err);
        );
    );

当应用程序达到这一点时,我收到该警告并且未设置标签。 这是为什么?除了通知按预期工作

【问题讨论】:

你是怎么导入的?从 'react-native-onesignal' 导入 OneSignal; 你从哪里得到的.push?从我看你不需要它github.com/geektimecoil/react-native-onesignal/blob/master/… only sendTags 是的,完全一样 我在库中没有看到任何推送方法 来自官方文档:documentation.onesignal.com/docs/add-user-data-tags 【参考方案1】:

.push 是网页版的,react-native 不需要,可以看文档

https://documentation.onesignal.com/docs/react-native-sdk

// Sending single tag
OneSignal.sendTag("key", "value");

// Sending multiple tags
OneSignal.sendTags(key: "value", key2: "value2");

// Getting the tags from the server and use the received object
OneSignal.getTags((receivedTags) => 
    console.log(receivedTags);
);

// Delete a tag
OneSignal.deleteTag("key");
// Sending single tag
OneSignal.sendTag("key", "value");

// Sending multiple tags
OneSignal.sendTags(key: "value", key2: "value2");

// Getting the tags from the server and use the received object
OneSignal.getTags((receivedTags) => 
    console.log(receivedTags);
);

// Delete a tag
OneSignal.deleteTag("key");

【讨论】:

哦,非常感谢它的工作:D我会尽快接受这个答案

以上是关于Onesignal 推送功能不是“功能”的主要内容,如果未能解决你的问题,请参考以下文章

OneSignal 推送通知发送给所有用户而不是一个玩家

对OneSignal的严重警报支持不起作用

OneSignal 可以跨应用发送通知吗?

OneSignal Android - 功能需要 RESTful API 密钥

当用户通过向上滑动强制退出应用程序时,可操作的推送通知不会出现在 iOS 8+ 设备上

Android 从 GCM 迁移到 oneSignal 推送通知