如何在科尔多瓦应用程序中使用推送通知?

Posted

技术标签:

【中文标题】如何在科尔多瓦应用程序中使用推送通知?【英文标题】:How to use push notifications in cordova app? 【发布时间】:2018-01-29 05:27:18 【问题描述】:

我有一些奇怪的问题...我在 Ionic 应用程序中使用推送通知进行消息传递,但它有时会起作用...我的代码是:

public initPushNotification() 
    if (!this.platform.is('cordova')) 
        console.warn('Cordova is not available - Run in physical device. Push notifications not initialized.');

        return;
    

    let zone = new NgZone( enableLongStackTrace: false );

    zone.run(() => 
        this.Push.hasPermission().then((res: any) => 
            if (res.isEnabled) 
                const options: PushOptions = 
                    android: 
                        senderID: GOOGLE_FCM_ID
                    
                ;

                let push_object = this.Push.init(options);

                push_object.on('registration').subscribe((data: any) => 
                    this.APIRequest.post('/messages/register-fcm-token', data).subscribe(response => 
                        console.log(response)
                    , err => 
                        console.log(err)
                    )

                    console.log('push.registration', data);
                );

                push_object.on('notification').subscribe((data: any) => 
                    console.log('push.notification', data);

                    this.events.publish('messages:push', data.message);
                );

                push_object.on('error').subscribe(error => console.error('Error with Push plugin', error));
             else 
                alert('We do not have permission to send push notifications');
            
        );
    );

它位于app.component.ts

一些行为:

    Cat S60 手机上最小化应用时可以正常工作 有时在某些廉价的Huawei 上最小化应用程序时有效 当应用程序按原样打开时,两台设备上都有一些时间。大多数时候不是。

当我将它发送到 Google 时,我会收到 OK 状态。

【问题讨论】:

【参考方案1】:

您可以使用一个信号进行通知。它快速有效。您可以通过以下链接获取详细信息。

https://documentation.onesignal.com/v3.0/docs/cordova-sdk-setup

https://www.npmjs.com/package/onesignal-cordova-plug

http://www.plugreg.com/plugin/one-signal/onesignal-cordova-sdk

【讨论】:

以上是关于如何在科尔多瓦应用程序中使用推送通知?的主要内容,如果未能解决你的问题,请参考以下文章

科尔多瓦 3.3 中的用户推送通知

在科尔多瓦项目中未收到解析推送通知

在科尔多瓦推送通知

科尔多瓦推送通知插件抛出错误

在 Ionic 3 应用程序上收到推送通知时调用哪个函数?

Android 5 Asus ZenFone 2 在应用关闭时阻止推送通知