如何使用ionic 2实现pushwoosh

拉姆沙·奥默

我想在 ionic 2 中实现 pushwoosh 我正在使用这个cordova插件。我是 ionic 2 的新手,想知道如何使用此插件中的方法。

用户1980927

首先阅读有关使用cordova插件的pushwoosh手册:http ://docs.pushwoosh.com/docs/cordova-phonegap

之后我让这段代码在 ios 和 android 上工作。

在第 3 步中,您可以使用以下代码作为服务提供者:在我的项目文件夹中,我创建了这个文件:/src/app/providers/push-service.ts

import { Injectable } from "@angular/core";
import { Platform } from 'ionic-angular';
declare var cordova : any;

@Injectable()
export class PushService {

    PUSHWOOSH_APP_ID : string =  'XXXXX-XXXXX'; // your pushwoosh app id
    GOOGLE_PROJECT_NUMBER: string = 'XXXXXXXXXXXX'; // project number from firebase

    constructor(public platform : Platform){

        this.platform.ready().then(() => {
            if(this.platform.is('ios') || this.platform.is('android')){
                console.log("PushwooshService init: Running on push compatible platform "+ this.platform.userAgent() +')');
                this.initPushwoosh();
            } else{
                console.log("PushwooshService init: No compatible platform available.  Skipping init.)");
                return;
            }
        });


    }

    initPushwoosh(){
        let pushNotification = cordova.require("pushwoosh-cordova-plugin.PushNotification");

          //set push notifications handler
          document.addEventListener('push-notification', function (event) {
            let message = (event as any).notification.message; // Push message
            let userData = (event as any).notification.userdata; // Custom push data

            if (userData) {
            // handle custom push data here
            console.log('user data: ' + JSON.stringify(userData));
            }

          });

          //initialize Pushwoosh with projectid: "GOOGLE_PROJECT_NUMBER", pw_appid : "PUSHWOOSH_APP_ID". This will trigger all pending push notifications on start.
          pushNotification.onDeviceReady({
              appid: this.PUSHWOOSH_APP_ID,
              projectid: this.GOOGLE_PROJECT_NUMBER
              // serviceName: "MPNS_SERVICE_NAME"
          });

          //register for pushes
          pushNotification.registerDevice(
              function (status) {
                var pushToken = status;
                console.log(pushToken);
                alert('push token: ' + JSON.stringify(pushToken));
              },
              function (status) {
                alert(JSON.stringify(['failed to register ', status]));
              }
          );
    }

}

现在你可以在你的 /src/app/app.component.ts 中导入这个提供者。

    import { PushService } from '../providers/push-service';

    @Component({
      templateUrl: 'app.html',
      providers: [PushService]
    })

每当您的应用程序启动时,它都会初始化 pushwoosh。

祝你好运 ;)

本文收集自互联网,转载请注明来源。

如有侵权,请联系 [email protected] 删除。

编辑于
0

我来说两句

0 条评论
登录 后参与评论

相关文章