이온 2에서 pushwoosh를 구현하고 싶습니다. this cordova 플러그인을 사용하고 있습니다. 나는이 플러그인에서 메서드를 사용하는 방법을 알고 싶다.이온 2를 사용하여 pushwoosh를 구현하는 방법
1
A
답변
3
첫 번째는 코르도바 플러그인을 사용하는 방법에 대한 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]
})
앱이 실행될 때마다 푸시 워시가 초기화됩니다.
행운을 빕니다)
1
당신은
var message = (event as any).notification.message;
대신
var message = event.notification.message;
firebase에서 프로젝트 번호를 사용해야합니까? 대신에 mySQL 데이터베이스를 사용하고 있기 때문입니다. – RamshaS
안드로이드 용 클라우드 메시징을위한 firebase 프로젝트 번호가 필요합니다. – user1980927
정말 고맙습니다. 하지만 여전히 event.notification.message에서 오류가 발생합니다. '알림'변수의 출처를 설명해 주시겠습니까? 내 intellisense 알림에 빨간색 선을 보여주는! – RamshaS