@onekeyfe/react-native-jpush 0.0.0-stage → 6.7.0-22

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 (183) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +56 -2
  3. package/ReactNativeJpush.podspec +66 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +144 -0
  6. package/android/fcm/build.gradle +36 -0
  7. package/android/fcm/consumer-rules.pro +2 -0
  8. package/android/fcm/src/main/AndroidManifest.xml +25 -0
  9. package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmInitProvider.java +25 -0
  10. package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmMessagingService.java +84 -0
  11. package/android/fcm/src/main/java/com/onekey/jpush/fcm/FcmPushManager.java +69 -0
  12. package/android/fcm/src/test/java/com/onekey/jpush/fcm/FcmAdapterTest.java +684 -0
  13. package/android/fcm/src/test/java/com/onekey/jpush/fcm/FcmManifestTest.java +54 -0
  14. package/android/gradle.properties +4 -0
  15. package/android/src/main/AndroidManifest.xml +143 -0
  16. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  17. package/android/src/main/java/cn/android/service/JTransitActivity.java +19 -0
  18. package/android/src/main/java/cn/jiguang/android/BuildConfig.java +10 -0
  19. package/android/src/main/java/cn/jiguang/android/IDataShare.java +190 -0
  20. package/android/src/main/java/cn/jiguang/api/BaseLogger.java +82 -0
  21. package/android/src/main/java/cn/jiguang/api/JAction.java +22 -0
  22. package/android/src/main/java/cn/jiguang/api/JActionExtra.java +21 -0
  23. package/android/src/main/java/cn/jiguang/api/JAnalyticsAction.java +11 -0
  24. package/android/src/main/java/cn/jiguang/api/JCoreInterface.java +228 -0
  25. package/android/src/main/java/cn/jiguang/api/JCoreManager.java +156 -0
  26. package/android/src/main/java/cn/jiguang/api/JDispatchAction.java +66 -0
  27. package/android/src/main/java/cn/jiguang/api/MultiSpHelper.java +114 -0
  28. package/android/src/main/java/cn/jiguang/api/ReportCallBack.java +9 -0
  29. package/android/src/main/java/cn/jiguang/api/SdkType.java +13 -0
  30. package/android/src/main/java/cn/jiguang/api/utils/JCollectionAuth.java +28 -0
  31. package/android/src/main/java/cn/jiguang/core/JCoreCrypto.java +545 -0
  32. package/android/src/main/java/cn/jiguang/core/JCoreStorage.java +737 -0
  33. package/android/src/main/java/cn/jiguang/core/JCoreTcpEngine.java +1395 -0
  34. package/android/src/main/java/cn/jiguang/core/JCoreWireCodec.java +1716 -0
  35. package/android/src/main/java/cn/jiguang/internal/ActionManager.java +63 -0
  36. package/android/src/main/java/cn/jiguang/internal/JConstants.java +61 -0
  37. package/android/src/main/java/cn/jiguang/internal/JCoreHelperAction.java +12 -0
  38. package/android/src/main/java/cn/jiguang/internal/JCoreInternalHelper.java +102 -0
  39. package/android/src/main/java/cn/jiguang/net/DefaultHostVerifier.java +40 -0
  40. package/android/src/main/java/cn/jiguang/net/HttpRequest.java +78 -0
  41. package/android/src/main/java/cn/jiguang/net/HttpResponse.java +48 -0
  42. package/android/src/main/java/cn/jiguang/net/HttpUtils.java +106 -0
  43. package/android/src/main/java/cn/jiguang/plugins/core/JCoreModule.java +91 -0
  44. package/android/src/main/java/cn/jiguang/plugins/core/JCorePackage.java +27 -0
  45. package/android/src/main/java/cn/jiguang/plugins/push/JPushModule.java +773 -0
  46. package/android/src/main/java/cn/jiguang/plugins/push/JPushPackage.java +25 -0
  47. package/android/src/main/java/cn/jiguang/plugins/push/common/JConstants.java +88 -0
  48. package/android/src/main/java/cn/jiguang/plugins/push/common/JLogger.java +122 -0
  49. package/android/src/main/java/cn/jiguang/plugins/push/helper/JPushHelper.java +710 -0
  50. package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushBroadcastReceiver.java +37 -0
  51. package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushModuleReceiver.java +264 -0
  52. package/android/src/main/java/cn/jiguang/plugins/service/JCoreModuleService.java +7 -0
  53. package/android/src/main/java/cn/jpush/android/api/BasicPushNotificationBuilder.java +83 -0
  54. package/android/src/main/java/cn/jpush/android/api/CallBackParams.java +50 -0
  55. package/android/src/main/java/cn/jpush/android/api/CmdMessage.java +33 -0
  56. package/android/src/main/java/cn/jpush/android/api/CustomMessage.java +28 -0
  57. package/android/src/main/java/cn/jpush/android/api/CustomPushNotificationBuilder.java +81 -0
  58. package/android/src/main/java/cn/jpush/android/api/DefaultPushNotificationBuilder.java +90 -0
  59. package/android/src/main/java/cn/jpush/android/api/InAppSlotParams.java +65 -0
  60. package/android/src/main/java/cn/jpush/android/api/InstrumentedActivity.java +17 -0
  61. package/android/src/main/java/cn/jpush/android/api/InstrumentedListActivity.java +17 -0
  62. package/android/src/main/java/cn/jpush/android/api/JPushInterface.java +490 -0
  63. package/android/src/main/java/cn/jpush/android/api/JPushMessage.java +121 -0
  64. package/android/src/main/java/cn/jpush/android/api/JThirdPlatFormInterface.java +247 -0
  65. package/android/src/main/java/cn/jpush/android/api/MultiActionsNotificationBuilder.java +72 -0
  66. package/android/src/main/java/cn/jpush/android/api/NotificationCustomButton.java +50 -0
  67. package/android/src/main/java/cn/jpush/android/api/NotificationMessage.java +67 -0
  68. package/android/src/main/java/cn/jpush/android/api/PushNotificationBuilder.java +13 -0
  69. package/android/src/main/java/cn/jpush/android/api/TagAliasCallback.java +8 -0
  70. package/android/src/main/java/cn/jpush/android/data/JPushCollectControl.java +96 -0
  71. package/android/src/main/java/cn/jpush/android/data/JPushConfig.java +79 -0
  72. package/android/src/main/java/cn/jpush/android/data/JPushConfigEx.java +41 -0
  73. package/android/src/main/java/cn/jpush/android/data/JPushLocalNotification.java +155 -0
  74. package/android/src/main/java/cn/jpush/android/helper/JCoreHelper.java +70 -0
  75. package/android/src/main/java/cn/jpush/android/helper/Logger.java +82 -0
  76. package/android/src/main/java/cn/jpush/android/local/ActionHelper.java +1293 -0
  77. package/android/src/main/java/cn/jpush/android/local/ActivityLifeCallBack.java +47 -0
  78. package/android/src/main/java/cn/jpush/android/local/JPushAction.java +67 -0
  79. package/android/src/main/java/cn/jpush/android/local/JPushConstants.java +34 -0
  80. package/android/src/main/java/cn/jpush/android/local/JPushResponse.java +26 -0
  81. package/android/src/main/java/cn/jpush/android/local/ProxyActivityAction.java +34 -0
  82. package/android/src/main/java/cn/jpush/android/service/AlarmReceiver.java +15 -0
  83. package/android/src/main/java/cn/jpush/android/service/BActivity.java +19 -0
  84. package/android/src/main/java/cn/jpush/android/service/DActivity.java +19 -0
  85. package/android/src/main/java/cn/jpush/android/service/DaemonService.java +17 -0
  86. package/android/src/main/java/cn/jpush/android/service/DataProvider.java +136 -0
  87. package/android/src/main/java/cn/jpush/android/service/DataShare.java +129 -0
  88. package/android/src/main/java/cn/jpush/android/service/DownloadProvider.java +139 -0
  89. package/android/src/main/java/cn/jpush/android/service/InitProvider.java +48 -0
  90. package/android/src/main/java/cn/jpush/android/service/JCommonService.java +79 -0
  91. package/android/src/main/java/cn/jpush/android/service/JNotifyActivity.java +28 -0
  92. package/android/src/main/java/cn/jpush/android/service/JPushMessageReceiver.java +94 -0
  93. package/android/src/main/java/cn/jpush/android/service/PushReceiver.java +26 -0
  94. package/android/src/main/java/cn/jpush/android/service/PushService.java +28 -0
  95. package/android/src/main/java/cn/jpush/android/service/SchedulerReceiver.java +17 -0
  96. package/android/src/main/java/cn/jpush/android/service/TagAliasReceiver.java +11 -0
  97. package/android/src/main/java/cn/jpush/android/service/WakedResultReceiver.java +24 -0
  98. package/android/src/main/java/cn/jpush/android/ui/FullScreenView.java +11 -0
  99. package/android/src/main/java/cn/jpush/android/ui/PopWinActivity.java +16 -0
  100. package/android/src/main/java/cn/jpush/android/ui/PushActivity.java +27 -0
  101. package/android/src/main/java/cn/jpush/android/ui/RoundedImageView.java +63 -0
  102. package/android/src/main/java/cn/jpush/android/ui/ShadowViewCard.java +56 -0
  103. package/android/src/main/java/cn/jpush/android/ups/ICallbackResult.java +5 -0
  104. package/android/src/main/java/cn/jpush/android/ups/JPushUPSManager.java +37 -0
  105. package/android/src/main/java/cn/jpush/android/ups/TokenResult.java +47 -0
  106. package/android/src/main/java/cn/jpush/android/ups/UPSRegisterCallBack.java +4 -0
  107. package/android/src/main/java/cn/jpush/android/ups/UPSTurnCallBack.java +4 -0
  108. package/android/src/main/java/cn/jpush/android/ups/UPSUnRegisterCallBack.java +4 -0
  109. package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpush.kt +455 -0
  110. package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushPackage.kt +50 -0
  111. package/android/src/main/res/values/jpush_string.xml +7 -0
  112. package/android/src/main/res/values/jpush_style.xml +22 -0
  113. package/android/src/test/java/com/margelo/nitro/reactnativejpush/JPushCloudHandshakeTest.java +110 -0
  114. package/android/src/test/java/com/margelo/nitro/reactnativejpush/JPushHandshakeFailureTest.java +73 -0
  115. package/android/src/test/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushProtocolTest.java +908 -0
  116. package/ios/ReactNativeJpush.swift +522 -0
  117. package/ios/bridge/RCTJCoreModule.h +5 -0
  118. package/ios/bridge/RCTJCoreModule.m +31 -0
  119. package/ios/bridge/RCTJPushEventQueue.h +14 -0
  120. package/ios/bridge/RCTJPushEventQueue.m +23 -0
  121. package/ios/bridge/RCTJPushModule.h +37 -0
  122. package/ios/bridge/RCTJPushModule.m +1165 -0
  123. package/ios/include/JCOREService.h +3 -0
  124. package/ios/include/JGCOREAPI.h +14 -0
  125. package/ios/include/JGInforCollectionAuth.h +17 -0
  126. package/ios/include/JGInforCollectionAuthItems.h +2 -0
  127. package/ios/include/JGPushNotificationTrigger.h +2 -0
  128. package/ios/include/JPUSHService.h +359 -0
  129. package/ios/jcore/JCOREConfiguration.h +141 -0
  130. package/ios/jcore/JCOREConfiguration.m +703 -0
  131. package/ios/jcore/JCORECrypto.h +73 -0
  132. package/ios/jcore/JCORECrypto.m +649 -0
  133. package/ios/jcore/JCORESisResolver.h +56 -0
  134. package/ios/jcore/JCORESisResolver.m +525 -0
  135. package/ios/jcore/JCORETcpSession.h +42 -0
  136. package/ios/jcore/JCORETcpSession.m +956 -0
  137. package/ios/jcore/JCOREWireProtocol.h +274 -0
  138. package/ios/jcore/JCOREWireProtocol.m +1453 -0
  139. package/ios/jpush/JPUSHModels.m +214 -0
  140. package/ios/jpush/JPUSHNotificationManager.h +34 -0
  141. package/ios/jpush/JPUSHNotificationManager.m +360 -0
  142. package/ios/jpush/JPUSHService.m +794 -0
  143. package/ios/tests/ReactNativeJpushTests.m +148 -0
  144. package/lib/module/ReactNativeJpush.nitro.js +4 -0
  145. package/lib/module/ReactNativeJpush.nitro.js.map +1 -0
  146. package/lib/module/index.js +801 -0
  147. package/lib/module/index.js.map +1 -0
  148. package/lib/module/package.json +1 -0
  149. package/lib/typescript/package.json +1 -0
  150. package/lib/typescript/src/ReactNativeJpush.nitro.d.ts +60 -0
  151. package/lib/typescript/src/ReactNativeJpush.nitro.d.ts.map +1 -0
  152. package/lib/typescript/src/index.d.ts +235 -0
  153. package/lib/typescript/src/index.d.ts.map +1 -0
  154. package/nitro.json +23 -0
  155. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  156. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +76 -0
  157. package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.cpp +310 -0
  158. package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.hpp +115 -0
  159. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_bool.kt +78 -0
  160. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_std__string_std__string.kt +78 -0
  161. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/HybridReactNativeJpushSpec.kt +274 -0
  162. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/reactnativejpushOnLoad.kt +35 -0
  163. package/nitrogen/generated/android/reactnativejpush+autolinking.cmake +81 -0
  164. package/nitrogen/generated/android/reactnativejpush+autolinking.gradle +27 -0
  165. package/nitrogen/generated/android/reactnativejpushOnLoad.cpp +58 -0
  166. package/nitrogen/generated/android/reactnativejpushOnLoad.hpp +34 -0
  167. package/nitrogen/generated/ios/ReactNativeJpush+autolinking.rb +62 -0
  168. package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.cpp +49 -0
  169. package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.hpp +147 -0
  170. package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Umbrella.hpp +46 -0
  171. package/nitrogen/generated/ios/ReactNativeJpushAutolinking.mm +33 -0
  172. package/nitrogen/generated/ios/ReactNativeJpushAutolinking.swift +26 -0
  173. package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.cpp +11 -0
  174. package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.hpp +402 -0
  175. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  176. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +46 -0
  177. package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec.swift +107 -0
  178. package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec_cxx.swift +723 -0
  179. package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.cpp +73 -0
  180. package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.hpp +116 -0
  181. package/package.json +174 -4
  182. package/src/ReactNativeJpush.nitro.ts +93 -0
  183. package/src/index.tsx +1090 -0
@@ -0,0 +1,73 @@
1
+ ///
2
+ /// HybridReactNativeJpushSpec.cpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #include "HybridReactNativeJpushSpec.hpp"
9
+
10
+ namespace margelo::nitro::reactnativejpush {
11
+
12
+ void HybridReactNativeJpushSpec::loadHybridMethods() {
13
+ // load base methods/properties
14
+ HybridObject::loadHybridMethods();
15
+ // load custom methods/properties
16
+ registerHybrids(this, [](Prototype& prototype) {
17
+ prototype.registerHybridMethod("setDebugMode", &HybridReactNativeJpushSpec::setDebugMode);
18
+ prototype.registerHybridMethod("initPush", &HybridReactNativeJpushSpec::initPush);
19
+ prototype.registerHybridMethod("setupWithConfig", &HybridReactNativeJpushSpec::setupWithConfig);
20
+ prototype.registerHybridMethod("loadJS", &HybridReactNativeJpushSpec::loadJS);
21
+ prototype.registerHybridMethod("stopPush", &HybridReactNativeJpushSpec::stopPush);
22
+ prototype.registerHybridMethod("resumePush", &HybridReactNativeJpushSpec::resumePush);
23
+ prototype.registerHybridMethod("isPushStopped", &HybridReactNativeJpushSpec::isPushStopped);
24
+ prototype.registerHybridMethod("getRegistrationID", &HybridReactNativeJpushSpec::getRegistrationID);
25
+ prototype.registerHybridMethod("isNotificationEnabled", &HybridReactNativeJpushSpec::isNotificationEnabled);
26
+ prototype.registerHybridMethod("addTags", &HybridReactNativeJpushSpec::addTags);
27
+ prototype.registerHybridMethod("setTags", &HybridReactNativeJpushSpec::setTags);
28
+ prototype.registerHybridMethod("deleteTags", &HybridReactNativeJpushSpec::deleteTags);
29
+ prototype.registerHybridMethod("cleanTags", &HybridReactNativeJpushSpec::cleanTags);
30
+ prototype.registerHybridMethod("getAllTags", &HybridReactNativeJpushSpec::getAllTags);
31
+ prototype.registerHybridMethod("checkTagBindState", &HybridReactNativeJpushSpec::checkTagBindState);
32
+ prototype.registerHybridMethod("setAlias", &HybridReactNativeJpushSpec::setAlias);
33
+ prototype.registerHybridMethod("deleteAlias", &HybridReactNativeJpushSpec::deleteAlias);
34
+ prototype.registerHybridMethod("getAlias", &HybridReactNativeJpushSpec::getAlias);
35
+ prototype.registerHybridMethod("setProperties", &HybridReactNativeJpushSpec::setProperties);
36
+ prototype.registerHybridMethod("deleteProperties", &HybridReactNativeJpushSpec::deleteProperties);
37
+ prototype.registerHybridMethod("cleanProperties", &HybridReactNativeJpushSpec::cleanProperties);
38
+ prototype.registerHybridMethod("setBadge", &HybridReactNativeJpushSpec::setBadge);
39
+ prototype.registerHybridMethod("setMobileNumber", &HybridReactNativeJpushSpec::setMobileNumber);
40
+ prototype.registerHybridMethod("initCrashHandler", &HybridReactNativeJpushSpec::initCrashHandler);
41
+ prototype.registerHybridMethod("setPowerSaveMode", &HybridReactNativeJpushSpec::setPowerSaveMode);
42
+ prototype.registerHybridMethod("addLocalNotification", &HybridReactNativeJpushSpec::addLocalNotification);
43
+ prototype.registerHybridMethod("removeLocalNotification", &HybridReactNativeJpushSpec::removeLocalNotification);
44
+ prototype.registerHybridMethod("clearLocalNotifications", &HybridReactNativeJpushSpec::clearLocalNotifications);
45
+ prototype.registerHybridMethod("clearAllNotifications", &HybridReactNativeJpushSpec::clearAllNotifications);
46
+ prototype.registerHybridMethod("clearNotificationById", &HybridReactNativeJpushSpec::clearNotificationById);
47
+ prototype.registerHybridMethod("requestPermission", &HybridReactNativeJpushSpec::requestPermission);
48
+ prototype.registerHybridMethod("setPushTime", &HybridReactNativeJpushSpec::setPushTime);
49
+ prototype.registerHybridMethod("setSilenceTime", &HybridReactNativeJpushSpec::setSilenceTime);
50
+ prototype.registerHybridMethod("setLatestNotificationNumber", &HybridReactNativeJpushSpec::setLatestNotificationNumber);
51
+ prototype.registerHybridMethod("setChannel", &HybridReactNativeJpushSpec::setChannel);
52
+ prototype.registerHybridMethod("setChannelAndSound", &HybridReactNativeJpushSpec::setChannelAndSound);
53
+ prototype.registerHybridMethod("setLinkMergeEnable", &HybridReactNativeJpushSpec::setLinkMergeEnable);
54
+ prototype.registerHybridMethod("setSmartPushEnable", &HybridReactNativeJpushSpec::setSmartPushEnable);
55
+ prototype.registerHybridMethod("setDataInsightsEnable", &HybridReactNativeJpushSpec::setDataInsightsEnable);
56
+ prototype.registerHybridMethod("setGeofenceEnable", &HybridReactNativeJpushSpec::setGeofenceEnable);
57
+ prototype.registerHybridMethod("setBackgroundEnable", &HybridReactNativeJpushSpec::setBackgroundEnable);
58
+ prototype.registerHybridMethod("setMaxGeofenceNumber", &HybridReactNativeJpushSpec::setMaxGeofenceNumber);
59
+ prototype.registerHybridMethod("deleteGeofence", &HybridReactNativeJpushSpec::deleteGeofence);
60
+ prototype.registerHybridMethod("pageEnterTo", &HybridReactNativeJpushSpec::pageEnterTo);
61
+ prototype.registerHybridMethod("pageLeave", &HybridReactNativeJpushSpec::pageLeave);
62
+ prototype.registerHybridMethod("setCollectControl", &HybridReactNativeJpushSpec::setCollectControl);
63
+ prototype.registerHybridMethod("setAuth", &HybridReactNativeJpushSpec::setAuth);
64
+ prototype.registerHybridMethod("setCountryCode", &HybridReactNativeJpushSpec::setCountryCode);
65
+ prototype.registerHybridMethod("enableAutoWakeup", &HybridReactNativeJpushSpec::enableAutoWakeup);
66
+ prototype.registerHybridMethod("enableSDKLocalLog", &HybridReactNativeJpushSpec::enableSDKLocalLog);
67
+ prototype.registerHybridMethod("readNewLogs", &HybridReactNativeJpushSpec::readNewLogs);
68
+ prototype.registerHybridMethod("addEventListener", &HybridReactNativeJpushSpec::addEventListener);
69
+ prototype.registerHybridMethod("removeEventListener", &HybridReactNativeJpushSpec::removeEventListener);
70
+ });
71
+ }
72
+
73
+ } // namespace margelo::nitro::reactnativejpush
@@ -0,0 +1,116 @@
1
+ ///
2
+ /// HybridReactNativeJpushSpec.hpp
3
+ /// This file was generated by nitrogen. DO NOT MODIFY THIS FILE.
4
+ /// https://github.com/mrousavy/nitro
5
+ /// Copyright © Marc Rousavy @ Margelo
6
+ ///
7
+
8
+ #pragma once
9
+
10
+ #if __has_include(<NitroModules/HybridObject.hpp>)
11
+ #include <NitroModules/HybridObject.hpp>
12
+ #else
13
+ #error NitroModules cannot be found! Are you sure you installed NitroModules properly?
14
+ #endif
15
+
16
+
17
+
18
+ #include <string>
19
+ #include <functional>
20
+ #include <vector>
21
+
22
+ namespace margelo::nitro::reactnativejpush {
23
+
24
+ using namespace margelo::nitro;
25
+
26
+ /**
27
+ * An abstract base class for `ReactNativeJpush`
28
+ * Inherit this class to create instances of `HybridReactNativeJpushSpec` in C++.
29
+ * You must explicitly call `HybridObject`'s constructor yourself, because it is virtual.
30
+ * @example
31
+ * ```cpp
32
+ * class HybridReactNativeJpush: public HybridReactNativeJpushSpec {
33
+ * public:
34
+ * HybridReactNativeJpush(...): HybridObject(TAG) { ... }
35
+ * // ...
36
+ * };
37
+ * ```
38
+ */
39
+ class HybridReactNativeJpushSpec: public virtual HybridObject {
40
+ public:
41
+ // Constructor
42
+ explicit HybridReactNativeJpushSpec(): HybridObject(TAG) { }
43
+
44
+ // Destructor
45
+ ~HybridReactNativeJpushSpec() override = default;
46
+
47
+ public:
48
+ // Properties
49
+
50
+
51
+ public:
52
+ // Methods
53
+ virtual void setDebugMode(bool enable) = 0;
54
+ virtual void initPush() = 0;
55
+ virtual void setupWithConfig(const std::string& appKey, const std::string& channel, bool production) = 0;
56
+ virtual void loadJS() = 0;
57
+ virtual void stopPush() = 0;
58
+ virtual void resumePush() = 0;
59
+ virtual bool isPushStopped() = 0;
60
+ virtual std::string getRegistrationID() = 0;
61
+ virtual void isNotificationEnabled(const std::function<void(bool /* enabled */)>& callback) = 0;
62
+ virtual void addTags(double sequence, const std::vector<std::string>& tags) = 0;
63
+ virtual void setTags(double sequence, const std::vector<std::string>& tags) = 0;
64
+ virtual void deleteTags(double sequence, const std::vector<std::string>& tags) = 0;
65
+ virtual void cleanTags(double sequence) = 0;
66
+ virtual void getAllTags(double sequence) = 0;
67
+ virtual void checkTagBindState(double sequence, const std::string& tag) = 0;
68
+ virtual void setAlias(double sequence, const std::string& alias) = 0;
69
+ virtual void deleteAlias(double sequence) = 0;
70
+ virtual void getAlias(double sequence) = 0;
71
+ virtual void setProperties(double sequence, const std::string& propertiesJson) = 0;
72
+ virtual void deleteProperties(double sequence, const std::vector<std::string>& keys) = 0;
73
+ virtual void cleanProperties(double sequence) = 0;
74
+ virtual void setBadge(double badge, double appBadge) = 0;
75
+ virtual void setMobileNumber(double sequence, const std::string& mobileNumber) = 0;
76
+ virtual void initCrashHandler() = 0;
77
+ virtual void setPowerSaveMode(bool enable) = 0;
78
+ virtual void addLocalNotification(const std::string& messageID, const std::string& title, const std::string& content, const std::string& broadcastTime, const std::string& extrasJson) = 0;
79
+ virtual void removeLocalNotification(const std::string& messageID) = 0;
80
+ virtual void clearLocalNotifications() = 0;
81
+ virtual void clearAllNotifications() = 0;
82
+ virtual void clearNotificationById(double notificationId) = 0;
83
+ virtual void requestPermission() = 0;
84
+ virtual void setPushTime(const std::vector<double>& days, double startHour, double endHour) = 0;
85
+ virtual void setSilenceTime(double startHour, double startMinute, double endHour, double endMinute) = 0;
86
+ virtual void setLatestNotificationNumber(double maxNumber) = 0;
87
+ virtual void setChannel(const std::string& channel) = 0;
88
+ virtual void setChannelAndSound(const std::string& channel, const std::string& channelId, const std::string& sound) = 0;
89
+ virtual void setLinkMergeEnable(bool enable) = 0;
90
+ virtual void setSmartPushEnable(bool enable) = 0;
91
+ virtual void setDataInsightsEnable(bool enable) = 0;
92
+ virtual void setGeofenceEnable(bool enable) = 0;
93
+ virtual void setBackgroundEnable(bool enable) = 0;
94
+ virtual void setMaxGeofenceNumber(double maxNumber) = 0;
95
+ virtual void deleteGeofence(const std::string& geoFenceID) = 0;
96
+ virtual void pageEnterTo(const std::string& pageName) = 0;
97
+ virtual void pageLeave(const std::string& pageName) = 0;
98
+ virtual void setCollectControl(bool imei, bool imsi, bool mac, bool wifi, bool bssid, bool ssid, bool cell, bool gps) = 0;
99
+ virtual void setAuth(bool auth) = 0;
100
+ virtual void setCountryCode(const std::string& code) = 0;
101
+ virtual void enableAutoWakeup(bool enable) = 0;
102
+ virtual void enableSDKLocalLog(bool enable, bool uploadJgToServer) = 0;
103
+ virtual std::string readNewLogs() = 0;
104
+ virtual double addEventListener(const std::function<void(const std::string& /* eventName */, const std::string& /* payloadJson */)>& callback) = 0;
105
+ virtual void removeEventListener(double id) = 0;
106
+
107
+ protected:
108
+ // Hybrid Setup
109
+ void loadHybridMethods() override;
110
+
111
+ protected:
112
+ // Tag for logging
113
+ static constexpr auto TAG = "ReactNativeJpush";
114
+ };
115
+
116
+ } // namespace margelo::nitro::reactnativejpush
package/package.json CHANGED
@@ -1,6 +1,176 @@
1
1
  {
2
2
  "name": "@onekeyfe/react-native-jpush",
3
- "version": "0.0.0-stage",
4
- "stub": true,
5
- "description": "Temporary package placeholder for staged publishing"
6
- }
3
+ "version": "6.7.0-22",
4
+ "description": "Clean-room JPush and JCore React Native Nitro module for OneKey",
5
+ "main": "./lib/module/index.js",
6
+ "types": "./lib/typescript/src/index.d.ts",
7
+ "exports": {
8
+ ".": {
9
+ "source": "./src/index.tsx",
10
+ "types": "./lib/typescript/src/index.d.ts",
11
+ "default": "./lib/module/index.js"
12
+ },
13
+ "./package.json": "./package.json"
14
+ },
15
+ "files": [
16
+ "src",
17
+ "lib",
18
+ "android",
19
+ "ios",
20
+ "cpp",
21
+ "nitrogen",
22
+ "nitro.json",
23
+ "*.podspec",
24
+ "react-native.config.js",
25
+ "!ios/build",
26
+ "!android/build",
27
+ "!android/fcm/build",
28
+ "!android/gradle",
29
+ "!android/gradlew",
30
+ "!android/gradlew.bat",
31
+ "!android/local.properties",
32
+ "!**/__tests__",
33
+ "!**/__fixtures__",
34
+ "!**/__mocks__",
35
+ "!**/.*"
36
+ ],
37
+ "scripts": {
38
+ "clean": "del-cli android/build example/android/build example/android/app/build example/ios/build lib",
39
+ "prepare": "bob build",
40
+ "nitrogen": "nitrogen",
41
+ "typecheck": "tsc",
42
+ "lint": "eslint \"**/*.{js,ts,tsx}\"",
43
+ "test": "jest",
44
+ "test:ios": "python3 scripts/test_ios_sdk.py",
45
+ "test:android": "python3 scripts/test_android_sdk.py",
46
+ "test:live": "python3 scripts/test_live_jpush_e2e.py",
47
+ "verify:clean": "python3 scripts/verify_clean_sdk.py",
48
+ "release": "yarn prepare && npm whoami && npm publish --access public"
49
+ },
50
+ "keywords": [
51
+ "react-native",
52
+ "ios",
53
+ "android"
54
+ ],
55
+ "repository": {
56
+ "type": "git",
57
+ "url": "git+https://github.com/OneKeyHQ/app-modules.git",
58
+ "directory": "native-modules/react-native-jpush"
59
+ },
60
+ "author": "onekeyfe <huanming@onekey.so> (https://github.com/OneKeyHQ/app-modules)",
61
+ "license": "MIT",
62
+ "bugs": {
63
+ "url": "https://github.com/OneKeyHQ/app-modules/issues"
64
+ },
65
+ "homepage": "https://github.com/OneKeyHQ/app-modules/tree/main/native-modules/react-native-jpush#readme",
66
+ "publishConfig": {
67
+ "registry": "https://registry.npmjs.org/"
68
+ },
69
+ "devDependencies": {
70
+ "@commitlint/config-conventional": "^19.8.1",
71
+ "@eslint/compat": "^1.3.2",
72
+ "@eslint/eslintrc": "^3.3.1",
73
+ "@eslint/js": "^9.35.0",
74
+ "@react-native/babel-preset": "0.88.0",
75
+ "@react-native/eslint-config": "0.88.0",
76
+ "@release-it/conventional-changelog": "^10.0.1",
77
+ "@types/jest": "^29.5.14",
78
+ "@types/react": "^19.3.0",
79
+ "commitlint": "^19.8.1",
80
+ "del-cli": "^6.0.0",
81
+ "eslint": "^9.35.0",
82
+ "eslint-config-prettier": "^10.1.8",
83
+ "eslint-plugin-prettier": "^5.5.4",
84
+ "jest": "^29.7.0",
85
+ "lefthook": "^2.0.3",
86
+ "nitrogen": "0.37.0",
87
+ "prettier": "^2.8.8",
88
+ "react": "19.3.0",
89
+ "react-native": "patch:react-native@npm%3A0.88.0#~/.yarn/patches/react-native-npm-0.88.0-60c6201dd2.patch",
90
+ "react-native-builder-bob": "^0.40.13",
91
+ "react-native-nitro-modules": "0.37.0",
92
+ "release-it": "^19.0.4",
93
+ "turbo": "^2.5.6",
94
+ "typescript": "^5.9.2"
95
+ },
96
+ "peerDependencies": {
97
+ "@onekeyfe/react-native-native-logger": "6.7.0-22",
98
+ "react": "*",
99
+ "react-native": "*",
100
+ "react-native-nitro-modules": "0.37.0"
101
+ },
102
+ "react-native-builder-bob": {
103
+ "source": "src",
104
+ "output": "lib",
105
+ "targets": [
106
+ [
107
+ "custom",
108
+ {
109
+ "script": "nitrogen",
110
+ "clean": "nitrogen/"
111
+ }
112
+ ],
113
+ [
114
+ "module",
115
+ {
116
+ "esm": true
117
+ }
118
+ ],
119
+ [
120
+ "typescript",
121
+ {
122
+ "project": "tsconfig.build.json"
123
+ }
124
+ ]
125
+ ]
126
+ },
127
+ "prettier": {
128
+ "quoteProps": "consistent",
129
+ "singleQuote": true,
130
+ "tabWidth": 2,
131
+ "trailingComma": "es5",
132
+ "useTabs": false
133
+ },
134
+ "jest": {
135
+ "preset": "@react-native/jest-preset",
136
+ "modulePathIgnorePatterns": [
137
+ "<rootDir>/example/node_modules",
138
+ "<rootDir>/lib/"
139
+ ]
140
+ },
141
+ "commitlint": {
142
+ "extends": [
143
+ "@commitlint/config-conventional"
144
+ ]
145
+ },
146
+ "release-it": {
147
+ "git": {
148
+ "commitMessage": "chore: release ${version}",
149
+ "tagName": "v${version}"
150
+ },
151
+ "npm": {
152
+ "publish": true
153
+ },
154
+ "github": {
155
+ "release": true
156
+ },
157
+ "plugins": {
158
+ "@release-it/conventional-changelog": {
159
+ "preset": {
160
+ "name": "angular"
161
+ }
162
+ }
163
+ }
164
+ },
165
+ "create-react-native-library": {
166
+ "type": "nitro-module",
167
+ "languages": "kotlin-swift",
168
+ "tools": [
169
+ "eslint",
170
+ "jest",
171
+ "lefthook",
172
+ "release-it"
173
+ ],
174
+ "version": "0.56.0"
175
+ }
176
+ }
@@ -0,0 +1,93 @@
1
+ import type { HybridObject } from 'react-native-nitro-modules';
2
+
3
+ export interface ReactNativeJpush
4
+ extends HybridObject<{ ios: 'swift'; android: 'kotlin' }> {
5
+ setDebugMode(enable: boolean): void;
6
+ initPush(): void;
7
+ setupWithConfig(appKey: string, channel: string, production: boolean): void;
8
+ loadJS(): void;
9
+ stopPush(): void;
10
+ resumePush(): void;
11
+ isPushStopped(): boolean;
12
+ getRegistrationID(): string;
13
+ isNotificationEnabled(callback: (enabled: boolean) => void): void;
14
+
15
+ addTags(sequence: number, tags: string[]): void;
16
+ setTags(sequence: number, tags: string[]): void;
17
+ deleteTags(sequence: number, tags: string[]): void;
18
+ cleanTags(sequence: number): void;
19
+ getAllTags(sequence: number): void;
20
+ checkTagBindState(sequence: number, tag: string): void;
21
+
22
+ setAlias(sequence: number, alias: string): void;
23
+ deleteAlias(sequence: number): void;
24
+ getAlias(sequence: number): void;
25
+
26
+ setProperties(sequence: number, propertiesJson: string): void;
27
+ deleteProperties(sequence: number, keys: string[]): void;
28
+ cleanProperties(sequence: number): void;
29
+
30
+ setBadge(badge: number, appBadge: number): void;
31
+ setMobileNumber(sequence: number, mobileNumber: string): void;
32
+ initCrashHandler(): void;
33
+ setPowerSaveMode(enable: boolean): void;
34
+
35
+ addLocalNotification(
36
+ messageID: string,
37
+ title: string,
38
+ content: string,
39
+ broadcastTime: string,
40
+ extrasJson: string
41
+ ): void;
42
+ removeLocalNotification(messageID: string): void;
43
+ clearLocalNotifications(): void;
44
+ clearAllNotifications(): void;
45
+ clearNotificationById(notificationId: number): void;
46
+
47
+ requestPermission(): void;
48
+ setPushTime(
49
+ days: number[],
50
+ startHour: number,
51
+ endHour: number
52
+ ): void;
53
+ setSilenceTime(
54
+ startHour: number,
55
+ startMinute: number,
56
+ endHour: number,
57
+ endMinute: number
58
+ ): void;
59
+ setLatestNotificationNumber(maxNumber: number): void;
60
+ setChannel(channel: string): void;
61
+ setChannelAndSound(channel: string, channelId: string, sound: string): void;
62
+
63
+ setLinkMergeEnable(enable: boolean): void;
64
+ setSmartPushEnable(enable: boolean): void;
65
+ setDataInsightsEnable(enable: boolean): void;
66
+ setGeofenceEnable(enable: boolean): void;
67
+ setBackgroundEnable(enable: boolean): void;
68
+ setMaxGeofenceNumber(maxNumber: number): void;
69
+ deleteGeofence(geoFenceID: string): void;
70
+ pageEnterTo(pageName: string): void;
71
+ pageLeave(pageName: string): void;
72
+ setCollectControl(
73
+ imei: boolean,
74
+ imsi: boolean,
75
+ mac: boolean,
76
+ wifi: boolean,
77
+ bssid: boolean,
78
+ ssid: boolean,
79
+ cell: boolean,
80
+ gps: boolean
81
+ ): void;
82
+
83
+ setAuth(auth: boolean): void;
84
+ setCountryCode(code: string): void;
85
+ enableAutoWakeup(enable: boolean): void;
86
+ enableSDKLocalLog(enable: boolean, uploadJgToServer: boolean): void;
87
+ readNewLogs(): string;
88
+
89
+ addEventListener(
90
+ callback: (eventName: string, payloadJson: string) => void
91
+ ): number;
92
+ removeEventListener(id: number): void;
93
+ }