In order to have socket works for Backand in Angular 1.x (without Backand's SDK) do the follow:
<script src="https://api.backand.com:4000/socket.io/socket.io.js"></script>
(function () {
'use strict';
angular.module('common.services')
.service('SocketService', ['Backand','$rootScope', SocketService]);
function SocketService(Backand, $rootScope) {
var self = this;
self.socket = {on: function(){}};
self.login = function(appName){
var url = 'https://api.backand.com:4000';
var token = 'bearer ' + Backand.getToken();
try{
self.socket = io.connect(url, {'forceNew':true });
self.socket.on('connect', function(){
console.log('connected');
self.socket.emit("login", token, '', appName);
});
self.socket.on('disconnect', function() {
console.log('disconnect');
});
self.socket.on('reconnecting', function() {
console.log('reconnecting');
});
}
catch(e){
console.error("error loading socket: ", e)
}
};
self.on = function (eventName, callback) {
self.socket.on(eventName, function () {
var args = arguments;
$rootScope.$apply(function () {
callback.apply(self.socket, args);
});
});
};
self.emit = function (eventName, data, callback) {
self.socket.emit(eventName, data, function () {
var args = arguments;
$rootScope.$apply(function () {
if (callback) {
callback.apply(self.socket, args);
}
});
})
}
}
})();
SocketService.login(appName);
SocketService.on('Your Event', function (data) {
//your code
})