2.0.3 • Published 4 months ago

servisofts-background-location v2.0.3

Weekly downloads
-
License
ISC
Repository
github
Last release
4 months ago

Install dependecy

    npm install --save servisofts-background-location

Link to react native

    npx react-native link

IOS

   cd ios && pod install

add to Info.plist

    <key>NSLocationAlwaysAndWhenInUseUsageDescription</key>
	<string>This is needed to get location updates in the background</string>
	
    <key>NSLocationWhenInUseUsageDescription</key>
	<string>This is needed to get location updates when in use</string>
    
    <key>UIBackgroundModes</key>
	<array>
        ...
		<string>fetch</string>
		<string>location</string>
		
	</array>

Android

add permission in AndroidManifest.xml

	<uses-permission android:name="android.permission.INTERNET" />
	<uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.READ_EXTERNAL_STORAGE" />
	<uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
	<uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" />
	<uses-permission android:name="android.permission.FOREGROUND_SERVICE" />
	<uses-permission android:name="android.permission.ACCESS_BACKGROUND_LOCATION"/>
	<uses-permission android:name="android.permission.VIBRATE" />
	<uses-permission android:name="android.permission.RECEIVE_BOOT_COMPLETED" />

add this lines in AndroidManifest.xml

<application >
    ...

	<service android:name="com.servisofts.background.location.SSBL_Service" android:enabled="true" android:exported="true" />
		<service android:name="com.servisofts.background.location.SSBL_event" android:enabled="true" android:exported="true"/>
		<receiver android:name="com.servisofts.background.location.SSBL_BootUpReceiver"
			android:enabled="true"
            android:exported="true"
			android:permission="android.permission.RECEIVE_BOOT_COMPLETED">
			<intent-filter>
				<action android:name="android.intent.action.BOOT_COMPLETED" />
				<category android:name="android.intent.category.DEFAULT" />
			</intent-filter>
		</receiver>

</application>

Usage

in app initEmitter

    
    import { SBLocation } from 'servisofts-background-location';
    
    ...

    const App = (props) => {
        SBLocation.initEmitter((data) => {
            if (data?.type == "locationChange") {
                console.log(data);
                //Send http to server
            }
            return true;
        })

    ...
    

Start

          SBLocation.start({
            nombre: "Title notification",
            label: "Body notification",
            minTime: 1000, 
            minDistance: 1 
          });

Stop

        SBLocation.stop();
2.0.3

4 months ago

2.0.2

6 months ago

2.0.1

7 months ago

1.0.4

11 months ago

1.0.2

2 years ago

1.0.1

2 years ago

1.0.0

2 years ago