繁体   English   中英

Sendbird,cordova推送通知功能

[英]Sendbird, cordova push notification functionality

我正在使用Sendbird和cordova构建聊天应用程序,但它们似乎为除Javascript之外的所有平台提供推送通知的api。 他们有针对AndroidiosUnity.Net + Xamarin的推送通知 因为我是新手,我不确定JS api是不完整还是他们有设计决定没有实现它。

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

我找到了一个有争议的解决方案。

您需要使用platfrom API并安装以下两个命令。

  1. cordova插件添加phonegap-plugin-push --variable SENDER_ID =“xxxxxxxx”--save
  2. cordova插件添加cordova-plugin-fcm

在上述项目工作之前,您需要按照Android的步骤1和2和/或iOs的 1,2和3进行操作。

完成所有操作后,您应该将以下两个文件放在项目的根目录中,以便“www”在层次结构方面是文件的兄弟。

  1. 谷歌,services.json
  2. 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现在公开了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的支持回复给我,我会更新。

暂无
暂无

声明:本站的技术帖子网页,遵循CC BY-SA 4.0协议,如果您需要转载,请注明本站网址或者原文地址。任何问题请咨询:yoyou2525@163.com.

 
粤ICP备18138465号  © 2020-2024 STACKOOM.COM