Background use of the bluetoothLE plugin


The service I want to do is the following :

A BLE button emits data all the time. When I press this button it emits the same data for 100ms but the value of a characteristic goes from 0 to 1.

I have several questions because it is still unclear for me …

1. Which method should I use ? (process cycle to check if button a was pressed)
Currently I connect to the (connect ()) button and then I use discover () to use read () and subscribe (). Unfortunately I don’t know the difference between read and subscribe because they return the same thing.
Should I do a loop like setInterval to check if my value has changed ?

2.How to make the below process run in the background indefinitely on iOS and Android?
Currently I have put the different permissions for Android in the manifest and checked the different permissions in Xcode for iOS.
Should I use another plugin as a complement ?

Thanks a lot for your answers!