Sendbird,cordova推送通知功能

5
我正在使用Sendbird和cordova构建聊天应用程序,但是它们似乎为除Javascript之外的所有平台提供推送通知API。他们为Android, ios,Unity.Net + Xamarin.提供了推送通知。因为我是新手,所以不确定JS API是否不完整或者他们有没有实现它的设计决策。
请问有人能够帮助我找到一种获取Sendbird和Cordova推送通知的方法吗?我认为需要FCM
2个回答

1
我已经找到了一个简单的解决方案。
你需要使用 平台 API 并安装以下两个命令。
  1. cordova plugin add phonegap-plugin-push --variable SENDER_ID="xxxxxxxx" --save
  2. cordova plugin add cordova-plugin-fcm
在此之前,在Android上执行步骤1和2,或者在iOs上执行步骤1、2和3。
完成所有操作后,你应该将以下两个文件放入项目的根目录中,以便“www”与层次结构中的文件保持同级。
  1. google-services.json
  2. GoogleService-Info.plist

完成后,请按照phone-gap-push中的步骤操作。您只需要以下代码片段即可注册令牌。

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会自动检测您的应用程序是否进入后台,并将用户的连接状态更新为断开连接。因此,在正常情况下,您不必显式调用断开连接。
这就是在Sendbird上实现推送通知的cordova/phonegap/javascript实现。
不,我不能告诉您为什么Sendbird没有记录类似的东西!如果有更好、更有效的方法,我非常愿意听取建议。

0
Sendbird现在在JS SDK中公开注册/注销设备的方法。
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的支持回复我,我会进行更新。


网页内容由stack overflow 提供, 点击上面的
可以查看英文原文,
原文链接