Javascript Sendbird、cordova推送通知功能

Javascript Sendbird、cordova推送通知功能,javascript,cordova,push-notification,chat,sendbird,Javascript,Cordova,Push Notification,Chat,Sendbird,我正在使用和cordova构建一个聊天应用程序,但是它们似乎为所有平台提供了一个用于推送通知的api,除了。它们具有针对和的推送通知。因为我是一个新手,我不确定JSAPI是否不完整,或者他们是否有不实现它的设计决策 是否有人可以帮助我获取Sendbird和Cordova的推送通知,我认为这是必需的。我找到了一个很难解决的解决方案 您将需要使用并安装以下两个命令 cordova插件添加phonegap插件推送--variable SENDER_ID=“xxxxxxxx”--保存 cordova插件

我正在使用和cordova构建一个聊天应用程序,但是它们似乎为所有平台提供了一个用于推送通知的api,除了。它们具有针对和的推送通知。因为我是一个新手,我不确定JSAPI是否不完整,或者他们是否有不实现它的设计决策


是否有人可以帮助我获取Sendbird和Cordova的推送通知,我认为这是必需的。

我找到了一个很难解决的解决方案

您将需要使用并安装以下两个命令

  • cordova插件添加phonegap插件推送--variable SENDER_ID=“xxxxxxxx”--保存
  • cordova插件添加cordova插件fcm
  • 在项目中进行上述工作之前,您需要按照步骤1和2和/或步骤1、2和3进行

    一旦全部完成,您应该将以下两个文件放在项目的根目录中,以便“www”在层次结构上是这些文件的同级

  • google-services.json
  • GoogleService-Info.plist
  • 完成后,从开始执行此步骤。理想情况下,您只需要以下代码段来注册令牌

    const push = PushNotification.init({
    android: {
    },
    browser: {
        pushServiceURL: 'http://push.api.phonegap.com/v1/push'
    },
    ios: {
        alert: "true",
        badge: "true",
        sound: "true"
    },
    windows: {}
    });
    
    push.on('registration', (data) => {
     // what you get back in your data variable will be two things
     // registrationId and registrationType
    
     // Use the returned values to make the platform api call to sendbird    
    });
    
    需要注意的重要事项sendbird仅在您脱机时发送推送通知。无论是iOs还是Android推送通知文档都很好地突出了这些免责声明

    通过向应用程序设置推送通知服务,应用程序用户即使在脱机状态下也可以接收消息。通常,您可能希望用户在其应用程序进入后台后接收推送通知。SendBird SDK会自动检测您的应用是否进入后台,并将用户的连接状态更新为断开连接。因此,在正常情况下,您不必显式地调用disconnect

    这是Sendbird上推送通知的corodva/phonegap/javascript实现


    不,我不能告诉你为什么Sendbird没有类似的文档!如果有人有更好更有效的方法,我洗耳恭听。

    Sendbird现在公开了JSSDK中注册/注销设备的方法

    getPendingGCMToken(): string;
    getPendingAPNSToken(): string;
    
    registerGCMPushTokenForCurrentUser(gcmRegToken: string, callback?: pushSettingCallback): void;
    unregisterGCMPushTokenForCurrentUser(gcmRegToken: string, callback?: commonCallback): void;
    unregisterGCMPushTokenAllForCurrentUser(callback?: commonCallback): void;
    
    registerAPNSPushTokenForCurrentUser(apnsRegToken: string, callback?: pushSettingCallback): void;
    unregisterAPNSPushTokenForCurrentUser(apnsRegToken: string, callback?: commonCallback): void;
    unregisterAPNSPushTokenAllForCurrentUser(callback?: commonCallback): void;
    
    unregisterPushTokenAllForCurrentUser(callback?: commonCallback): void; // This removes both All APNS/GCM tokens
    
    然而,我有这样注册的令牌,它们显示在sendbird的仪表板上,但我没有收到通知。如果sendbird的支持回复到我,我将更新