我正在使用Sendbird和cordova构建聊天应用程序,但它们似乎为除Javascript之外的所有平台提供推送通知的API。他们有Android,ios,Unity和.Net + Xamarin.的推送通知。因为我是新手,我不确定JS api是不完整还是他们有设计决定没有实现它。
有人可以帮助我获取Sendbird和Cordova的推送通知,我认为将需要FCM。
答案 0 :(得分:1)
我找到了一个有争议的解决方案。
您需要使用platfrom API并安装以下两个命令。
在您的项目中进行上述工作之前,您需要按照步骤1和步骤1进行操作。 2为Android和/或1,2和3为iOs。
完成所有操作后,您应该将以下两个文件放在项目的根目录中,以便" www"在层次结构方面是文件的兄弟。
一旦完成,请从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会自动检测您的应用是否进入后台并将用户的连接状态更新为Disconnected。因此,在正常情况下,您不必明确调用disconnect。
你有一个在Sendbird上推送通知的corodva / phonegap / javascript实现。
不,我不能告诉你为什么Sendbird没有相似的文件!如果有人有更好的效率,我全都听见了。
答案 1 :(得分: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的支持回复给我时更新。