@alerkstar wrote:
I working on ApiRTC & Ionic 3 application and face the following problem.
I referred this [example][1] , which is a single page app.
But I want to navigate between pages when receiving various signals.
For instance, I am on Messages Page, and let’s say I received a incoming call.
At that time, I want to go to the chatReceivePage.
My codes are implemented as follows.Messages Page
declare var apiRTC; export class MessagesPage { user_data = {}; conversations = []; constructor( public navCtrl: NavController, public navParams: NavParams, public modalCtrl: ModalController, public events: Events, public apirtcProvider: ApiRtcProvider) { events.subscribe('getUserData_callback', (data) => { this.conversations = apirtcProvider.conversations; }); this.apiRTCSessionReadyHandler(); } apiRTCSessionReadyHandler(){ apiRTC.addEventListener("receiveData" , this.receiveDataHandler); apiRTC.addEventListener("incomingCall", this.apirtcProvider.incomingCallHandler); apiRTC.addEventListener("userMediaError", this.apirtcProvider.userMediaErrorHandler); apiRTC.addEventListener("remoteStreamAdded", this.apirtcProvider.remoteStreamAddedHandler); apiRTC.addEventListener("userMediaSuccess", this.apirtcProvider.userMediaSuccessHandler); apiRTC.addEventListener("hangup", this.apirtcProvider.hangupHandler); } }apiRTC provider
declare var iosrtc; declare var apiRTC; declare var apiCC; export class ApiRtcProvider { url = "root_url"; user_main = {}; user_data = {}; conversations = []; friends = []; conversation_offset: number = 0; iosrtc: any; apiRTC : any; apiCC: any; distantNumber:any; webRTCClient:any; state:any; constructor(public http: Http, private event: Events, public platform: Platform ){ } apiRTCInit(){ apiRTC.init({ onReady: this.sessionReadyHandler, apiKey: "APIKEY", apiCCId : my apiCCID }); } sessionReadyHandler(){ console.log("SessionReadyHandler", "api-rtc.ts"); apiRTC = apiRTC; apiRTC.addEventListener("receiveData" , this.receiveDataHandler); apiRTC.addEventListener("incomingCall", this.incomingCallHandler); apiRTC.addEventListener("userMediaError", this.userMediaErrorHandler); apiRTC.addEventListener("remoteStreamAdded", this.remoteStreamAddedHandler); apiRTC.addEventListener("userMediaSuccess", this.userMediaSuccessHandler); apiRTC.addEventListener("hangup", this.hangupHandler); apiCC = apiCC; webRTCClient = this.apiCC.session.createWebRTCClient({}); webRTCClient.setUserAcceptOnIncomingCall(true); } incomingCallHandler(e) { this.event.publish('gotoIncomingPage', data); //Or we can do other things to navigate another pages //I can't use any data of Ionic at this moment:( } }Main problem is that Ionic handler(or data) is not recognized in the apiRTC event handler though it’s defined in a Ionic provider or elsewhere.
How can I navigate other pages when apiRTC events has been fired?
Any help will be appreciate.
Thank you.
[1]: https://github.com/apizee/ApiRTC-ionic
Posts: 1
Participants: 1