'm trying to implement Mesibo on a angular 2+ app. it doesn’t have a lot of docs samples for angular also an npm package is not available, currently, I am converting the JS code on the documentation to typescript for angular implementation.
I successfully connect on Mesibo SDK now facing an error on MesiboListener. how can i apply this to my ts file. Thanks!
I create mesibo.js file in my assets then paste the mesibo js functions and import it on the inde.html
<!DOCTYPE html>
<html lang="en">
<head>
<meta charset="utf-8" />
<title>MesiboSample</title>
<base href="/" />
<meta name="viewport" content="width=device-width, initial-scale=1" />
<link rel="icon" type="image/x-icon" href="favicon.ico" />
**<script src="assets/mesibo.js" type="text/javascript"></script>**
</head>
<body>
<app-root></app-root>
</body>
</html>
on app.ts i declare the Mesibo and initialize it on nOnInit
declare var Mesibo: any;
api: any;
profile: any
token = '54a7499f41b57ff53564260e9a8bceca4599********';
app_id = '****';
ngOnInit(): void {
this.api = new Mesibo();
this.api.addListener(this.MesiboListener());
this.api.setAppName(this.app_id);
this.api.setAccessToken(this.token);
this.api.setDatabase("mesibo");
this.api.start();
this.profile = this.api.getProfile('2677684');
console.log(this.profile)
let m = this.profile.newMessage();
m.message = "Hello angular";
m.send();
}
MesiboListener(){
this.api.MesiboListener.prototype.prototype.Mesibo_onConnectionStatus = function(status:any, value: any) {
console.log("Mesibo_onConnectionStatus: " + status);
}
this.api.prototype.Mesibo_onMessageStatus = function(m: any) {
console.log("Mesibo_onMessageStatus: from "
+ m.peer + " status: " + m.status);
}
this.api.prototype.Mesibo_onMessage = function(m: any) {
console.log("Mesibo_onMessage: from " + m.peer);
}
}
I successfully connect on mesibo sdk. my problem is the MesiboListener how to declare it. on this implementation this.api.MesiboListener.prototype is undefined. thanks guys!
You are not defining MesiboListener
correctly.
Please change your code as below. We also uploaded basic sample with Angular 13 on https://github.com/mesibo/samples/tree/master/js/angular
ngOnInit(): void {
this.api = new Mesibo();
this.api.addListener(this);
this.api.setAppName(this.app_id);
this.api.setAccessToken(this.token);
this.api.setDatabase("mesibo");
this.api.start();
}
Mesibo_onConnectionStatus(status, value) {
console.log("Mesibo_onConnectionStatus: " + status);
}
Mesibo_onMessageStatus = function(m) {
console.log("Mesibo_onMessageStatus: from " + m.peer + " status: " + m.status + " id: " + m.mid);
}
Mesibo_onMessage = function(m) {
console.log("Mesibo_onMessage: from " + m.peer + " id: " + m.mid + " msg: " + m.message);
}