                 return
             }
             let tagsArray = [tag]
-            self.push.subscribeToTags(tagsArray: tagsArray as NSArray, completionHandler: { (response, statusCode, error) -> Void in
+            BMSPushClient.sharedInstance.subscribeToTags(tagsArray: tagsArray as NSArray, completionHandler: { (response, statusCode, error) -> Void in
                 
                 if error.isEmpty {
                     

    
            
            if CDVBMSPush.pushUserId.isEmpty{
                self.push.registerWithDeviceToken(deviceToken) { (response, statusCode, error) -> Void in
                    
                    if error.isEmpty {
                        

                return
            }
            let tagsArray = [tag]
            BMSPushClient.sharedInstance.unsubscribeFromTags(tagsArray, completionHandler: { (response, statusCode, error) -> Void in
                if error.isEmpty{
                    let pluginResult = CDVPluginResult(status: CDVCommandStatus_OK, messageAsArray:[response!.description])
                    // call success callback
