@doorstepai/dropoff-sdk 1.0.3 → 1.0.4

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (35) hide show
  1. package/android/build.gradle +1 -1
  2. package/android/src/main/java/com/doorstepai/dropoffsdk/DoorstepAIModule.kt +3 -1
  3. package/ios/DoorstepAI.swift +2 -0
  4. package/ios/DoorstepDropoffSDK.xcframework/Info.plist +5 -5
  5. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/DoorstepDropoffSDK.framework/DoorstepDropoffSDK +0 -0
  6. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/DoorstepDropoffSDK.framework/Info.plist +0 -0
  7. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/arm64-apple-ios.abi.json +72 -29
  8. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/arm64-apple-ios.private.swiftinterface +2 -1
  9. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/arm64-apple-ios.swiftinterface +2 -1
  10. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/DoorstepDropoffSDK.framework/_CodeSignature/CodeResources +9 -9
  11. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Info.plist +1 -1
  12. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Resources/DWARF/DoorstepDropoffSDK +0 -0
  13. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/DoorstepDropoffSDK.yml +521 -520
  14. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/DoorstepDropoffSDK +0 -0
  15. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Info.plist +0 -0
  16. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/arm64-apple-ios-simulator.abi.json +72 -29
  17. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/arm64-apple-ios-simulator.private.swiftinterface +2 -1
  18. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/arm64-apple-ios-simulator.swiftinterface +2 -1
  19. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/x86_64-apple-ios-simulator.abi.json +72 -29
  20. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/x86_64-apple-ios-simulator.private.swiftinterface +2 -1
  21. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/Modules/DoorstepDropoffSDK.swiftmodule/x86_64-apple-ios-simulator.swiftinterface +2 -1
  22. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/DoorstepDropoffSDK.framework/_CodeSignature/CodeResources +17 -17
  23. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Info.plist +1 -1
  24. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Resources/DWARF/DoorstepDropoffSDK +0 -0
  25. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Resources/Relocations/aarch64/DoorstepDropoffSDK.yml +699 -698
  26. package/ios/DoorstepDropoffSDK.xcframework/ios-arm64_x86_64-simulator/dSYMs/DoorstepDropoffSDK.framework.dSYM/Contents/Resources/Relocations/x86_64/DoorstepDropoffSDK.yml +698 -697
  27. package/lib/module/DoorstepAI.js.map +1 -1
  28. package/lib/module/RootDoorstepAI.js +40 -3
  29. package/lib/module/RootDoorstepAI.js.map +1 -1
  30. package/lib/typescript/src/DoorstepAI.d.ts +1 -0
  31. package/lib/typescript/src/DoorstepAI.d.ts.map +1 -1
  32. package/lib/typescript/src/RootDoorstepAI.d.ts.map +1 -1
  33. package/package.json +4 -3
  34. package/src/DoorstepAI.tsx +1 -0
  35. package/src/RootDoorstepAI.tsx +54 -2
@@ -1 +1 @@
1
- {"version":3,"names":["NativeModules","Platform","DoorstepAI","DoorstepAIModule","isInitialized","init","OS","console","log","error","setApiKey","apiKey","startDeliveryByPlaceID","placeID","then","catch","startDeliveryByPlusCode","plusCode","startDeliveryByAddress","address","stopDelivery","newEvent","eventName"],"sourceRoot":"../../src","sources":["DoorstepAI.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,MAAM;EAAEC;AAAW,CAAC,GAAGF,aAAa;AAUpC,MAAMG,gBAAgB,CAAC;EACrB,OAAOC,aAAa,GAAG,KAAK;EAE5B,aAAaC,IAAIA,CAAA,EAAkB;IACjC,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,IAAI,CAACF,aAAa,EAAE;QACtB;MACF;MACA,IAAI;QACF,MAAMF,UAAU,CAACG,IAAI,CAAC,CAAC;QACvBE,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACvC,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdF,OAAO,CAACE,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;QACxD,MAAMA,KAAK;MACb;IACF;EACF;EAEA,OAAOC,SAASA,CAACC,MAAc,EAAE;IAC/BJ,OAAO,CAACC,GAAG,CAACN,UAAU,CAAC;IACvBA,UAAU,CAACQ,SAAS,CAACC,MAAM,CAAC;EAC9B;EAEA,aAAaC,sBAAsBA,CAACC,OAAe,EAAE;IACnDX,UAAU,CAACU,sBAAsB,CAACC,OAAO,CAAC,CACvCC,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CAAC;EACN;EAEA,OAAOO,uBAAuBA,CAACC,QAAgB,EAAE;IAC/Cf,UAAU,CAACc,uBAAuB,CAACC,QAAQ,CAAC,CACzCH,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CAAC;EACN;EAEA,OAAOS,sBAAsBA,CAACC,OAAoB,EAAE;IAClDjB,UAAU,CAACgB,sBAAsB,CAACC,OAAO,CAAC,CACvCL,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CAAC;EACN;EAEA,OAAOW,YAAYA,CAAA,EAAG;IACpBlB,UAAU,CAACkB,YAAY,CAAC,CAAC,CACtBN,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAClD,CAAC,CAAC;EACN;EAEA,OAAOY,QAAQA,CAACC,SAAiB,EAAE;IACjCpB,UAAU,CAACmB,QAAQ,CAACC,SAAS,CAAC,CAC3BR,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;IACxC,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;IAC/C,CAAC,CAAC;EACN;AACF;AAEA,SAASN,gBAAgB,IAAID,UAAU","ignoreList":[]}
1
+ {"version":3,"names":["NativeModules","Platform","DoorstepAI","DoorstepAIModule","isInitialized","init","OS","console","log","error","setApiKey","apiKey","startDeliveryByPlaceID","placeID","then","catch","startDeliveryByPlusCode","plusCode","startDeliveryByAddress","address","stopDelivery","newEvent","eventName"],"sourceRoot":"../../src","sources":["DoorstepAI.tsx"],"mappings":";;AAAA,SAASA,aAAa,EAAEC,QAAQ,QAAQ,cAAc;AACtD,MAAM;EAAEC;AAAW,CAAC,GAAGF,aAAa;AAWpC,MAAMG,gBAAgB,CAAC;EACrB,OAAOC,aAAa,GAAG,KAAK;EAE5B,aAAaC,IAAIA,CAAA,EAAkB;IACjC,IAAIJ,QAAQ,CAACK,EAAE,KAAK,SAAS,EAAE;MAC7B,IAAI,IAAI,CAACF,aAAa,EAAE;QACtB;MACF;MACA,IAAI;QACF,MAAMF,UAAU,CAACG,IAAI,CAAC,CAAC;QACvBE,OAAO,CAACC,GAAG,CAAC,wBAAwB,CAAC;MACvC,CAAC,CAAC,OAAOC,KAAK,EAAE;QACdF,OAAO,CAACE,KAAK,CAAC,kCAAkC,EAAEA,KAAK,CAAC;QACxD,MAAMA,KAAK;MACb;IACF;EACF;EAEA,OAAOC,SAASA,CAACC,MAAc,EAAE;IAC/BJ,OAAO,CAACC,GAAG,CAACN,UAAU,CAAC;IACvBA,UAAU,CAACQ,SAAS,CAACC,MAAM,CAAC;EAC9B;EAEA,aAAaC,sBAAsBA,CAACC,OAAe,EAAE;IACnDX,UAAU,CAACU,sBAAsB,CAACC,OAAO,CAAC,CACvCC,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CAAC;EACN;EAEA,OAAOO,uBAAuBA,CAACC,QAAgB,EAAE;IAC/Cf,UAAU,CAACc,uBAAuB,CAACC,QAAQ,CAAC,CACzCH,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CAAC;EACN;EAEA,OAAOS,sBAAsBA,CAACC,OAAoB,EAAE;IAClDjB,UAAU,CAACgB,sBAAsB,CAACC,OAAO,CAAC,CACvCL,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,2BAA2B,EAAEA,KAAK,CAAC;IACnD,CAAC,CAAC;EACN;EAEA,OAAOW,YAAYA,CAAA,EAAG;IACpBlB,UAAU,CAACkB,YAAY,CAAC,CAAC,CACtBN,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,+BAA+B,CAAC;IAC9C,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,0BAA0B,EAAEA,KAAK,CAAC;IAClD,CAAC,CAAC;EACN;EAEA,OAAOY,QAAQA,CAACC,SAAiB,EAAE;IACjCpB,UAAU,CAACmB,QAAQ,CAACC,SAAS,CAAC,CAC3BR,IAAI,CAAC,MAAM;MACVP,OAAO,CAACC,GAAG,CAAC,yBAAyB,CAAC;IACxC,CAAC,CAAC,CACDO,KAAK,CAAEN,KAAU,IAAK;MACrBF,OAAO,CAACE,KAAK,CAAC,uBAAuB,EAAEA,KAAK,CAAC;IAC/C,CAAC,CAAC;EACN;AACF;AAEA,SAASN,gBAAgB,IAAID,UAAU","ignoreList":[]}
@@ -1,19 +1,56 @@
1
1
  "use strict";
2
2
 
3
- import { requireNativeComponent, View, Platform, StyleSheet } from 'react-native';
3
+ import { requireNativeComponent, View, Platform, StyleSheet, PermissionsAndroid } from 'react-native';
4
4
  import { useEffect } from 'react';
5
5
  import { DoorstepAI } from "./DoorstepAI.js";
6
6
  import { jsx as _jsx } from "react/jsx-runtime";
7
7
  const DoorstepAIView = requireNativeComponent('RootDoorstepAIView');
8
8
  export function RootDoorstepAI(props) {
9
9
  useEffect(() => {
10
- (async () => {
10
+ const initializeAndRequestPermissions = async () => {
11
+ // Initialize SDK
11
12
  if (Platform.OS === 'android') {
12
13
  await DoorstepAI.init();
13
14
  }
14
15
  DoorstepAI.setApiKey(props.apiKey);
15
- })();
16
+
17
+ // Request Permissions
18
+ if (Platform.OS === 'android') {
19
+ try {
20
+ const permissionsToRequest = [PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION, PermissionsAndroid.PERMISSIONS.ACTIVITY_RECOGNITION];
21
+ // Background location might be needed depending on SDK functionality
22
+ // permissionsToRequest.push(PermissionsAndroid.PERMISSIONS.ACCESS_BACKGROUND_LOCATION);
23
+
24
+ const granted = await PermissionsAndroid.requestMultiple(permissionsToRequest);
25
+ if (granted[PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION] === PermissionsAndroid.RESULTS.GRANTED && granted[PermissionsAndroid.PERMISSIONS.ACTIVITY_RECOGNITION] === PermissionsAndroid.RESULTS.GRANTED) {
26
+ console.log('Required Android permissions granted');
27
+ // Handle background location if requested
28
+ // if (granted[PermissionsAndroid.PERMISSIONS.ACCESS_BACKGROUND_LOCATION] === PermissionsAndroid.RESULTS.GRANTED) {
29
+ // console.log('Background location permission granted');
30
+ // } else {
31
+ // console.warn('Background location permission denied');
32
+ // }
33
+ } else {
34
+ console.warn('One or more required Android permissions denied');
35
+ // Handle permission denial (e.g., show a message to the user)
36
+ }
37
+ } catch (err) {
38
+ console.warn('Error requesting Android permissions:', err);
39
+ }
40
+ } else if (Platform.OS === 'ios') {
41
+ // On iOS, permissions are requested when features are used.
42
+ // Ensure you have added the necessary keys to your Info.plist:
43
+ // - NSLocationWhenInUseUsageDescription (required)
44
+ // - NSLocationAlwaysAndWhenInUseUsageDescription (if background location is needed)
45
+ // - NSMotionUsageDescription (required)
46
+ console.log('iOS: Ensure location and motion usage descriptions are in Info.plist');
47
+ }
48
+ };
49
+ initializeAndRequestPermissions();
16
50
  }, [props.apiKey]);
51
+
52
+ // On iOS, the native view might handle triggering permission prompts if needed.
53
+ // The main setup involves Info.plist configuration.
17
54
  return /*#__PURE__*/_jsx(View, {
18
55
  style: styles.container,
19
56
  children: Platform.OS === 'ios' ? /*#__PURE__*/_jsx(DoorstepAIView, {}) : null
@@ -1 +1 @@
1
- {"version":3,"names":["requireNativeComponent","View","Platform","StyleSheet","useEffect","DoorstepAI","jsx","_jsx","DoorstepAIView","RootDoorstepAI","props","OS","init","setApiKey","apiKey","style","styles","container","children","create","height","width"],"sourceRoot":"../../src","sources":["RootDoorstepAI.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,IAAI,EACJC,QAAQ,EACRC,UAAU,QACL,cAAc;AAErB,SAASC,SAAS,QAAQ,OAAO;AAEjC,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1C,MAAMC,cAAc,GAAGR,sBAAsB,CAAC,oBAAoB,CAAC;AACnE,OAAO,SAASS,cAAcA,CAACC,KAAyB,EAAE;EACxDN,SAAS,CAAC,MAAM;IACd,CAAC,YAAY;MACX,IAAIF,QAAQ,CAACS,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMN,UAAU,CAACO,IAAI,CAAC,CAAC;MACzB;MACAP,UAAU,CAACQ,SAAS,CAACH,KAAK,CAACI,MAAM,CAAC;IACpC,CAAC,EAAE,CAAC;EACN,CAAC,EAAE,CAACJ,KAAK,CAACI,MAAM,CAAC,CAAC;EAClB,oBACEP,IAAA,CAACN,IAAI;IAACc,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3BhB,QAAQ,CAACS,EAAE,KAAK,KAAK,gBAAGJ,IAAA,CAACC,cAAc,IAAE,CAAC,GAAG;EAAI,CAC9C,CAAC;AAEX;AAEA,MAAMQ,MAAM,GAAGb,UAAU,CAACgB,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
1
+ {"version":3,"names":["requireNativeComponent","View","Platform","StyleSheet","PermissionsAndroid","useEffect","DoorstepAI","jsx","_jsx","DoorstepAIView","RootDoorstepAI","props","initializeAndRequestPermissions","OS","init","setApiKey","apiKey","permissionsToRequest","PERMISSIONS","ACCESS_FINE_LOCATION","ACTIVITY_RECOGNITION","granted","requestMultiple","RESULTS","GRANTED","console","log","warn","err","style","styles","container","children","create","height","width"],"sourceRoot":"../../src","sources":["RootDoorstepAI.tsx"],"mappings":";;AAAA,SACEA,sBAAsB,EACtBC,IAAI,EACJC,QAAQ,EACRC,UAAU,EACVC,kBAAkB,QACb,cAAc;AAErB,SAASC,SAAS,QAAQ,OAAO;AAEjC,SAASC,UAAU,QAAQ,iBAAc;AAAC,SAAAC,GAAA,IAAAC,IAAA;AAE1C,MAAMC,cAAc,GAAGT,sBAAsB,CAAC,oBAAoB,CAAC;AACnE,OAAO,SAASU,cAAcA,CAACC,KAAyB,EAAE;EACxDN,SAAS,CAAC,MAAM;IACd,MAAMO,+BAA+B,GAAG,MAAAA,CAAA,KAAY;MAClD;MACA,IAAIV,QAAQ,CAACW,EAAE,KAAK,SAAS,EAAE;QAC7B,MAAMP,UAAU,CAACQ,IAAI,CAAC,CAAC;MACzB;MACAR,UAAU,CAACS,SAAS,CAACJ,KAAK,CAACK,MAAM,CAAC;;MAElC;MACA,IAAId,QAAQ,CAACW,EAAE,KAAK,SAAS,EAAE;QAC7B,IAAI;UACF,MAAMI,oBAAoB,GAAG,CAC3Bb,kBAAkB,CAACc,WAAW,CAACC,oBAAoB,EACnDf,kBAAkB,CAACc,WAAW,CAACE,oBAAoB,CACpD;UACD;UACA;;UAEA,MAAMC,OAAO,GAAG,MAAMjB,kBAAkB,CAACkB,eAAe,CACtDL,oBACF,CAAC;UAED,IACEI,OAAO,CAACjB,kBAAkB,CAACc,WAAW,CAACC,oBAAoB,CAAC,KAC1Df,kBAAkB,CAACmB,OAAO,CAACC,OAAO,IACpCH,OAAO,CAACjB,kBAAkB,CAACc,WAAW,CAACE,oBAAoB,CAAC,KAC1DhB,kBAAkB,CAACmB,OAAO,CAACC,OAAO,EACpC;YACAC,OAAO,CAACC,GAAG,CAAC,sCAAsC,CAAC;YACnD;YACA;YACA;YACA;YACA;YACA;UACF,CAAC,MAAM;YACLD,OAAO,CAACE,IAAI,CAAC,iDAAiD,CAAC;YAC/D;UACF;QACF,CAAC,CAAC,OAAOC,GAAG,EAAE;UACZH,OAAO,CAACE,IAAI,CAAC,uCAAuC,EAAEC,GAAG,CAAC;QAC5D;MACF,CAAC,MAAM,IAAI1B,QAAQ,CAACW,EAAE,KAAK,KAAK,EAAE;QAChC;QACA;QACA;QACA;QACA;QACAY,OAAO,CAACC,GAAG,CACT,sEACF,CAAC;MACH;IACF,CAAC;IAEDd,+BAA+B,CAAC,CAAC;EACnC,CAAC,EAAE,CAACD,KAAK,CAACK,MAAM,CAAC,CAAC;;EAElB;EACA;EACA,oBACER,IAAA,CAACP,IAAI;IAAC4B,KAAK,EAAEC,MAAM,CAACC,SAAU;IAAAC,QAAA,EAC3B9B,QAAQ,CAACW,EAAE,KAAK,KAAK,gBAAGL,IAAA,CAACC,cAAc,IAAE,CAAC,GAAG;EAAI,CAC9C,CAAC;AAEX;AAEA,MAAMqB,MAAM,GAAG3B,UAAU,CAAC8B,MAAM,CAAC;EAC/BF,SAAS,EAAE;IACTG,MAAM,EAAE,CAAC;IACTC,KAAK,EAAE;EACT;AACF,CAAC,CAAC","ignoreList":[]}
@@ -1,6 +1,7 @@
1
1
  type AddressType = {
2
2
  streetNumber: string;
3
3
  route: string;
4
+ subPremise: string;
4
5
  locality: string;
5
6
  administrativeAreaLevel1: string;
6
7
  postalCode: string;
@@ -1 +1 @@
1
- {"version":3,"file":"DoorstepAI.d.ts","sourceRoot":"","sources":["../../../src/DoorstepAI.tsx"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,cAAM,gBAAgB;IACpB,MAAM,CAAC,aAAa,UAAS;WAEhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM;WAKlB,sBAAsB,CAAC,OAAO,EAAE,MAAM;IAUnD,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAU/C,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW;IAUlD,MAAM,CAAC,YAAY;IAUnB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;CASlC;AAED,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,CAAC"}
1
+ {"version":3,"file":"DoorstepAI.d.ts","sourceRoot":"","sources":["../../../src/DoorstepAI.tsx"],"names":[],"mappings":"AAGA,KAAK,WAAW,GAAG;IACjB,YAAY,EAAE,MAAM,CAAC;IACrB,KAAK,EAAE,MAAM,CAAC;IACd,UAAU,EAAE,MAAM,CAAC;IACnB,QAAQ,EAAE,MAAM,CAAC;IACjB,wBAAwB,EAAE,MAAM,CAAC;IACjC,UAAU,EAAE,MAAM,CAAC;CACpB,CAAC;AAEF,cAAM,gBAAgB;IACpB,MAAM,CAAC,aAAa,UAAS;WAEhB,IAAI,IAAI,OAAO,CAAC,IAAI,CAAC;IAelC,MAAM,CAAC,SAAS,CAAC,MAAM,EAAE,MAAM;WAKlB,sBAAsB,CAAC,OAAO,EAAE,MAAM;IAUnD,MAAM,CAAC,uBAAuB,CAAC,QAAQ,EAAE,MAAM;IAU/C,MAAM,CAAC,sBAAsB,CAAC,OAAO,EAAE,WAAW;IAUlD,MAAM,CAAC,YAAY;IAUnB,MAAM,CAAC,QAAQ,CAAC,SAAS,EAAE,MAAM;CASlC;AAED,OAAO,EAAE,gBAAgB,IAAI,UAAU,EAAE,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"RootDoorstepAI.d.ts","sourceRoot":"","sources":["../../../src/RootDoorstepAI.tsx"],"names":[],"mappings":"AAYA,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,2CAcvD"}
1
+ {"version":3,"file":"RootDoorstepAI.d.ts","sourceRoot":"","sources":["../../../src/RootDoorstepAI.tsx"],"names":[],"mappings":"AAaA,wBAAgB,cAAc,CAAC,KAAK,EAAE;IAAE,MAAM,EAAE,MAAM,CAAA;CAAE,2CAiEvD"}
package/package.json CHANGED
@@ -1,10 +1,9 @@
1
1
  {
2
2
  "name": "@doorstepai/dropoff-sdk",
3
- "version": "1.0.3",
3
+ "version": "1.0.4",
4
4
  "description": "doorstep.ai dropoff sdk for React Native",
5
5
  "source": "./src/index.tsx",
6
6
  "main": "./lib/module/index.js",
7
- "private": false,
8
7
  "exports": {
9
8
  ".": {
10
9
  "types": "./lib/typescript/src/index.d.ts",
@@ -50,7 +49,6 @@
50
49
  "url": "git+https://github.com/doorstep-ai/DoorstepAIDropoffReactNativeSDK"
51
50
  },
52
51
  "author": "Doing Doorstep Better, Inc. (Sheel Patel)",
53
-
54
52
  "homepage": "https://github.com/doorstep-ai/DoorstepAIDropoffReactNativeSDK#readme",
55
53
  "publishConfig": {
56
54
  "registry": "https://registry.npmjs.org/"
@@ -150,5 +148,8 @@
150
148
  "type": "legacy-module",
151
149
  "languages": "kotlin-swift",
152
150
  "version": "0.49.2"
151
+ },
152
+ "dependencies": {
153
+ "react-native-dotenv": "^3.4.11"
153
154
  }
154
155
  }
@@ -4,6 +4,7 @@ const { DoorstepAI } = NativeModules;
4
4
  type AddressType = {
5
5
  streetNumber: string;
6
6
  route: string;
7
+ subPremise: string;
7
8
  locality: string;
8
9
  administrativeAreaLevel1: string;
9
10
  postalCode: string;
@@ -3,6 +3,7 @@ import {
3
3
  View,
4
4
  Platform,
5
5
  StyleSheet,
6
+ PermissionsAndroid,
6
7
  } from 'react-native';
7
8
 
8
9
  import { useEffect } from 'react';
@@ -12,13 +13,64 @@ import { DoorstepAI } from './DoorstepAI';
12
13
  const DoorstepAIView = requireNativeComponent('RootDoorstepAIView');
13
14
  export function RootDoorstepAI(props: { apiKey: string }) {
14
15
  useEffect(() => {
15
- (async () => {
16
+ const initializeAndRequestPermissions = async () => {
17
+ // Initialize SDK
16
18
  if (Platform.OS === 'android') {
17
19
  await DoorstepAI.init();
18
20
  }
19
21
  DoorstepAI.setApiKey(props.apiKey);
20
- })();
22
+
23
+ // Request Permissions
24
+ if (Platform.OS === 'android') {
25
+ try {
26
+ const permissionsToRequest = [
27
+ PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION,
28
+ PermissionsAndroid.PERMISSIONS.ACTIVITY_RECOGNITION,
29
+ ];
30
+ // Background location might be needed depending on SDK functionality
31
+ // permissionsToRequest.push(PermissionsAndroid.PERMISSIONS.ACCESS_BACKGROUND_LOCATION);
32
+
33
+ const granted = await PermissionsAndroid.requestMultiple(
34
+ permissionsToRequest,
35
+ );
36
+
37
+ if (
38
+ granted[PermissionsAndroid.PERMISSIONS.ACCESS_FINE_LOCATION] ===
39
+ PermissionsAndroid.RESULTS.GRANTED &&
40
+ granted[PermissionsAndroid.PERMISSIONS.ACTIVITY_RECOGNITION] ===
41
+ PermissionsAndroid.RESULTS.GRANTED
42
+ ) {
43
+ console.log('Required Android permissions granted');
44
+ // Handle background location if requested
45
+ // if (granted[PermissionsAndroid.PERMISSIONS.ACCESS_BACKGROUND_LOCATION] === PermissionsAndroid.RESULTS.GRANTED) {
46
+ // console.log('Background location permission granted');
47
+ // } else {
48
+ // console.warn('Background location permission denied');
49
+ // }
50
+ } else {
51
+ console.warn('One or more required Android permissions denied');
52
+ // Handle permission denial (e.g., show a message to the user)
53
+ }
54
+ } catch (err) {
55
+ console.warn('Error requesting Android permissions:', err);
56
+ }
57
+ } else if (Platform.OS === 'ios') {
58
+ // On iOS, permissions are requested when features are used.
59
+ // Ensure you have added the necessary keys to your Info.plist:
60
+ // - NSLocationWhenInUseUsageDescription (required)
61
+ // - NSLocationAlwaysAndWhenInUseUsageDescription (if background location is needed)
62
+ // - NSMotionUsageDescription (required)
63
+ console.log(
64
+ 'iOS: Ensure location and motion usage descriptions are in Info.plist',
65
+ );
66
+ }
67
+ };
68
+
69
+ initializeAndRequestPermissions();
21
70
  }, [props.apiKey]);
71
+
72
+ // On iOS, the native view might handle triggering permission prompts if needed.
73
+ // The main setup involves Info.plist configuration.
22
74
  return (
23
75
  <View style={styles.container}>
24
76
  {Platform.OS === 'ios' ? <DoorstepAIView /> : null}