Я использую тот же код для push-уведомлений в кометном чате.при открытии окна кометного чата появляется сообщение «Ошибка при успехе callbackId: CCCometChat1199030706: TypeError: Невозможно прочитать свойство« fcm »из неопределенного» * 1001 *
Мой код находится здесь:
declare var CCCometChat: any;
licenseKey = "COMETCHAT-UWUEP-JSKVT-UPXXN-H2Y7Z";
apiKey = "52131x665661ed305388bf2fce242889ee3774";
openCometChat() {
var isFullScreen = true;
CCCometChat.launchCometChat(isFullScreen, data => {
console.log("launch come chat data", data);
CCCometChat.getPlatform(currentplatform => {
console.log("getPlatform", currentplatform);
if (currentplatform.platform == "Android") {
console.log("platform data", data);
data = JSON.parse(data);
console.log("json parse data", data);
if (data.hasOwnProperty('userInfoCallback')) {
console.log("data.userInfoCallback", data.userInfoCallback);
console.log("data.userInfoCallback.push_channel", data.userInfoCallback.push_channel);
// this.checkFCM(data.userInfoCallback.push_channel);
this.fcm.subscribeToTopic(data.userInfoCallback.push_channel);
this.fcm.onNotification().subscribe(data => {
console.log("onNotification data", data);
this.notifyData = JSON.parse(data.data);
console.log('this.notifyData -> ' +JSON.stringify(this.notifyData));
this.message = this.notifyData.message.message;
console.log('this.message -> ' +JSON.stringify(this.message));
if(data.wasTapped){
console.log("Received in background");
console.log('background this.message -> ' +JSON.stringify(this.message));
} else {
console.log("Received in foreground");
let confirmAlert = this.alertCtrl.create({
title: 'New Notification',
message: this.message,
buttons: [{
text: 'Ignore',
role: 'cancel'
}, {
text: 'View',
handler: () => {
//TODO: Your logic here
console.log("ok clicked");
}
}]
});
confirmAlert.present();
}
// if (data.wasTapped) {
// console.log("Received in background" + JSON.stringify(data));
// } else {
// console.log("Received in foreground" + JSON.stringify(data));
// };
});
} else if (data.hasOwnProperty('chatroomInfoCallback')) {
console.log("data.chatroomInfoCallback", data.chatroomInfoCallback);
console.log("data.chatroomInfoCallback.push_channel", data.chatroomInfoCallback.push_channel);
if (data.chatroomInfoCallback.hasOwnProperty('action') && data.chatroomInfoCallback.action != "" && data.chatroomInfoCallback.action == "join") {
// this.checkFCM(data.chatroomInfoCallback.push_channel);
this.fcm.subscribeToTopic(data.chatroomInfoCallback.push_channel);
this.fcm.onNotification().subscribe(data => {
console.log("onNotification data", data);
if (data.wasTapped) {
console.log("Received in background" + JSON.stringify(data));
} else {
console.log("Received in foreground" + JSON.stringify(data));
};
});
}
}
} else {
data = JSON.stringify(data);
data = JSON.parse(data);
if (data.hasOwnProperty('userInfoCallback')) {
this.fcm.subscribeToTopic(data.userInfoCallback.push_channel);
this.fcm.onNotification().subscribe(data => {
if (data.wasTapped) {
console.log("Received in background" + JSON.stringify(data));
} else {
console.log("Received in foreground" + JSON.stringify(data));
};
});
} else if (data.hasOwnProperty('chatroomInfoCallback')) {
if (data.chatroomInfoCallback.hasOwnProperty('action') && data.chatroomInfoCallback.action != "" && data.chatroomInfoCallback.action == "join") {
this.fcm.subscribeToTopic(data.chatroomInfoCallback.push_channel);
this.fcm.onNotification().subscribe(data => {
if (data.wasTapped) {
console.log("Received in background" + JSON.stringify(data));
} else {
console.log("Received in foreground" + JSON.stringify(data));
};
});
}
}
}
});
}, data => {
});
}
Как решитьвыше 'fcm' неопределенная ошибка?Пожалуйста, дайте здесь ответ как можно скорее, это будет очень признательно.