react-native-expo-moengage 1.0.0

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 (47) hide show
  1. package/CHANGELOG.md +5 -0
  2. package/LICENSE.txt +8 -0
  3. package/README.md +38 -0
  4. package/android/build.gradle +53 -0
  5. package/android/src/main/AndroidManifest.xml +6 -0
  6. package/android/src/main/java/expo/modules/moengage/MoEExpoFireBaseMessagingService.kt +56 -0
  7. package/android/src/main/java/expo/modules/moengage/MoEngageApplicationLifecycleListener.kt +31 -0
  8. package/android/src/main/java/expo/modules/moengage/MoEngagePackage.kt +12 -0
  9. package/android/src/main/java/expo/modules/moengage/internal/Constants.kt +4 -0
  10. package/android/user-agent.gradle +15 -0
  11. package/app.plugin.js +1 -0
  12. package/apple/ExpoAdapterMoEngage/MoEngageAppDelegate.swift +76 -0
  13. package/apple/ExpoAdapterMoEngage/MoEngageExpoPluginInfo.swift +5 -0
  14. package/apple/ExpoAdapterMoEngage.podspec +40 -0
  15. package/apple/PushTemplates/MainInterface.storyboard +29 -0
  16. package/apple/PushTemplates/MoEngageExpoPushTemplates-Info.plist +45 -0
  17. package/apple/PushTemplates/MoEngageExpoPushTemplates.entitlements +14 -0
  18. package/apple/PushTemplates/NotificationViewController.swift +14 -0
  19. package/apple/RichPush/MoEngageExpoRichPush-Info.plist +31 -0
  20. package/apple/RichPush/MoEngageExpoRichPush.entitlements +14 -0
  21. package/apple/RichPush/NotificationService.swift +20 -0
  22. package/build/android/constants.js +47 -0
  23. package/build/android/types.js +2 -0
  24. package/build/android/utils.js +80 -0
  25. package/build/android/withMoEngageAndroid.js +100 -0
  26. package/build/apple/constants.js +47 -0
  27. package/build/apple/index.js +72 -0
  28. package/build/apple/withDangerousMod.js +275 -0
  29. package/build/apple/withEntitlements.js +117 -0
  30. package/build/apple/withInfoPlist.js +91 -0
  31. package/build/apple/withXcodeProject.js +364 -0
  32. package/build/index.js +37 -0
  33. package/build/types.js +2 -0
  34. package/expo-module.config.json +18 -0
  35. package/package.json +69 -0
  36. package/src/android/constants.ts +52 -0
  37. package/src/android/types.ts +1 -0
  38. package/src/android/utils.ts +74 -0
  39. package/src/android/withMoEngageAndroid.ts +127 -0
  40. package/src/apple/constants.ts +48 -0
  41. package/src/apple/index.ts +38 -0
  42. package/src/apple/withDangerousMod.ts +265 -0
  43. package/src/apple/withEntitlements.ts +81 -0
  44. package/src/apple/withInfoPlist.ts +63 -0
  45. package/src/apple/withXcodeProject.ts +418 -0
  46. package/src/index.ts +52 -0
  47. package/src/types.ts +100 -0
package/src/types.ts ADDED
@@ -0,0 +1,100 @@
1
+ /**
2
+ * MoEngage Android configuration options
3
+ */
4
+ export interface MoEngageAndroidConfig {
5
+ /**
6
+ * Path to the Android configuration XML file
7
+ * @default "assets/moengage/android_initilisation_config.xml"
8
+ */
9
+ configFilePath: string;
10
+
11
+ /**
12
+ * Path to the small notification icon
13
+ */
14
+ smallIconPath?: string;
15
+
16
+ /**
17
+ * Path to the large notification icon
18
+ */
19
+ largeIconPath?: string;
20
+
21
+ /**
22
+ * Whether to disable MoEngage default backup file
23
+ * @default false
24
+ */
25
+ disableMoEngageDefaultBackupFile?: boolean;
26
+
27
+ /**
28
+ * Whether using the expo notification package for push notifications or not.
29
+ * @default false
30
+ */
31
+ isExpoNotificationIntegration?: boolean;
32
+
33
+ /**
34
+ * Whether to include MoEngage FirebaseMessagingService in the AndroidManifest.xml
35
+ * @default false
36
+ */
37
+ shouldIncludeMoEngageFirebaseMessagingService?: boolean;
38
+
39
+ /**
40
+ * Whether to include Firebase Messaging dependencies in the project
41
+ * @default false
42
+ */
43
+ includeFirebaseMessagingDependencies?: boolean;
44
+ }
45
+
46
+ /**
47
+ * MoEngage iOS configuration options
48
+ */
49
+ export interface MoEngageIosConfig {
50
+ /**
51
+ * Path to the MoEngage configuration plist file.
52
+ * The data in this plist file is added to the MoEngage key in application's Info.plist
53
+ * @default "assets/moengage/MoEngage-Config.plist"
54
+ */
55
+ configFilePath: string;
56
+
57
+ /**
58
+ * Whether to enable push notification impression tracking
59
+ * @default true
60
+ */
61
+ pushNotificationImpressionTrackingEnabled: boolean;
62
+
63
+ /**
64
+ * Whether to enable rich push notifications
65
+ * @default false
66
+ */
67
+ richPushNotificationEnabled: boolean;
68
+
69
+ /**
70
+ * Whether to enable push templates
71
+ * @default false
72
+ */
73
+ pushTemplatesEnabled: boolean;
74
+
75
+ /**
76
+ * Whether to enable device triggers
77
+ * @default false
78
+ */
79
+ deviceTriggerEnabled: boolean;
80
+
81
+ /**
82
+ * Path to the Live Activity target
83
+ */
84
+ liveActivityTargetPath?: string;
85
+ }
86
+
87
+ /**
88
+ * MoEngage plugin configuration
89
+ */
90
+ export interface MoEngagePluginProps {
91
+ /**
92
+ * Android-specific configuration options
93
+ */
94
+ android: MoEngageAndroidConfig;
95
+
96
+ /**
97
+ * iOS-specific configuration options
98
+ */
99
+ apple: MoEngageIosConfig;
100
+ }