@onekeyfe/react-native-jpush 0.0.0-stage → 6.7.0-alpha.435

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 (173) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +23 -2
  3. package/ReactNativeJpush.podspec +66 -0
  4. package/android/CMakeLists.txt +24 -0
  5. package/android/build.gradle +143 -0
  6. package/android/gradle.properties +4 -0
  7. package/android/src/main/AndroidManifest.xml +143 -0
  8. package/android/src/main/cpp/cpp-adapter.cpp +6 -0
  9. package/android/src/main/java/cn/android/service/JTransitActivity.java +19 -0
  10. package/android/src/main/java/cn/jiguang/android/BuildConfig.java +10 -0
  11. package/android/src/main/java/cn/jiguang/android/IDataShare.java +190 -0
  12. package/android/src/main/java/cn/jiguang/api/BaseLogger.java +82 -0
  13. package/android/src/main/java/cn/jiguang/api/JAction.java +22 -0
  14. package/android/src/main/java/cn/jiguang/api/JActionExtra.java +21 -0
  15. package/android/src/main/java/cn/jiguang/api/JAnalyticsAction.java +11 -0
  16. package/android/src/main/java/cn/jiguang/api/JCoreInterface.java +228 -0
  17. package/android/src/main/java/cn/jiguang/api/JCoreManager.java +156 -0
  18. package/android/src/main/java/cn/jiguang/api/JDispatchAction.java +66 -0
  19. package/android/src/main/java/cn/jiguang/api/MultiSpHelper.java +114 -0
  20. package/android/src/main/java/cn/jiguang/api/ReportCallBack.java +9 -0
  21. package/android/src/main/java/cn/jiguang/api/SdkType.java +13 -0
  22. package/android/src/main/java/cn/jiguang/api/utils/JCollectionAuth.java +23 -0
  23. package/android/src/main/java/cn/jiguang/core/JCoreCrypto.java +545 -0
  24. package/android/src/main/java/cn/jiguang/core/JCoreStorage.java +737 -0
  25. package/android/src/main/java/cn/jiguang/core/JCoreTcpEngine.java +1394 -0
  26. package/android/src/main/java/cn/jiguang/core/JCoreWireCodec.java +1716 -0
  27. package/android/src/main/java/cn/jiguang/internal/ActionManager.java +63 -0
  28. package/android/src/main/java/cn/jiguang/internal/JConstants.java +61 -0
  29. package/android/src/main/java/cn/jiguang/internal/JCoreHelperAction.java +12 -0
  30. package/android/src/main/java/cn/jiguang/internal/JCoreInternalHelper.java +102 -0
  31. package/android/src/main/java/cn/jiguang/net/DefaultHostVerifier.java +40 -0
  32. package/android/src/main/java/cn/jiguang/net/HttpRequest.java +78 -0
  33. package/android/src/main/java/cn/jiguang/net/HttpResponse.java +48 -0
  34. package/android/src/main/java/cn/jiguang/net/HttpUtils.java +106 -0
  35. package/android/src/main/java/cn/jiguang/plugins/core/JCoreModule.java +91 -0
  36. package/android/src/main/java/cn/jiguang/plugins/core/JCorePackage.java +27 -0
  37. package/android/src/main/java/cn/jiguang/plugins/push/JPushModule.java +773 -0
  38. package/android/src/main/java/cn/jiguang/plugins/push/JPushPackage.java +25 -0
  39. package/android/src/main/java/cn/jiguang/plugins/push/common/JConstants.java +88 -0
  40. package/android/src/main/java/cn/jiguang/plugins/push/common/JLogger.java +122 -0
  41. package/android/src/main/java/cn/jiguang/plugins/push/helper/JPushHelper.java +710 -0
  42. package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushBroadcastReceiver.java +37 -0
  43. package/android/src/main/java/cn/jiguang/plugins/push/receiver/JPushModuleReceiver.java +264 -0
  44. package/android/src/main/java/cn/jiguang/plugins/service/JCoreModuleService.java +7 -0
  45. package/android/src/main/java/cn/jpush/android/api/BasicPushNotificationBuilder.java +83 -0
  46. package/android/src/main/java/cn/jpush/android/api/CallBackParams.java +50 -0
  47. package/android/src/main/java/cn/jpush/android/api/CmdMessage.java +33 -0
  48. package/android/src/main/java/cn/jpush/android/api/CustomMessage.java +28 -0
  49. package/android/src/main/java/cn/jpush/android/api/CustomPushNotificationBuilder.java +81 -0
  50. package/android/src/main/java/cn/jpush/android/api/DefaultPushNotificationBuilder.java +90 -0
  51. package/android/src/main/java/cn/jpush/android/api/InAppSlotParams.java +65 -0
  52. package/android/src/main/java/cn/jpush/android/api/InstrumentedActivity.java +17 -0
  53. package/android/src/main/java/cn/jpush/android/api/InstrumentedListActivity.java +17 -0
  54. package/android/src/main/java/cn/jpush/android/api/JPushInterface.java +488 -0
  55. package/android/src/main/java/cn/jpush/android/api/JPushMessage.java +121 -0
  56. package/android/src/main/java/cn/jpush/android/api/JThirdPlatFormInterface.java +147 -0
  57. package/android/src/main/java/cn/jpush/android/api/MultiActionsNotificationBuilder.java +72 -0
  58. package/android/src/main/java/cn/jpush/android/api/NotificationCustomButton.java +50 -0
  59. package/android/src/main/java/cn/jpush/android/api/NotificationMessage.java +67 -0
  60. package/android/src/main/java/cn/jpush/android/api/PushNotificationBuilder.java +13 -0
  61. package/android/src/main/java/cn/jpush/android/api/TagAliasCallback.java +8 -0
  62. package/android/src/main/java/cn/jpush/android/data/JPushCollectControl.java +96 -0
  63. package/android/src/main/java/cn/jpush/android/data/JPushConfig.java +79 -0
  64. package/android/src/main/java/cn/jpush/android/data/JPushConfigEx.java +41 -0
  65. package/android/src/main/java/cn/jpush/android/data/JPushLocalNotification.java +155 -0
  66. package/android/src/main/java/cn/jpush/android/helper/JCoreHelper.java +70 -0
  67. package/android/src/main/java/cn/jpush/android/helper/Logger.java +82 -0
  68. package/android/src/main/java/cn/jpush/android/local/ActionHelper.java +1198 -0
  69. package/android/src/main/java/cn/jpush/android/local/ActivityLifeCallBack.java +47 -0
  70. package/android/src/main/java/cn/jpush/android/local/JPushAction.java +67 -0
  71. package/android/src/main/java/cn/jpush/android/local/JPushConstants.java +34 -0
  72. package/android/src/main/java/cn/jpush/android/local/JPushResponse.java +26 -0
  73. package/android/src/main/java/cn/jpush/android/local/ProxyActivityAction.java +34 -0
  74. package/android/src/main/java/cn/jpush/android/service/AlarmReceiver.java +15 -0
  75. package/android/src/main/java/cn/jpush/android/service/BActivity.java +19 -0
  76. package/android/src/main/java/cn/jpush/android/service/DActivity.java +19 -0
  77. package/android/src/main/java/cn/jpush/android/service/DaemonService.java +17 -0
  78. package/android/src/main/java/cn/jpush/android/service/DataProvider.java +136 -0
  79. package/android/src/main/java/cn/jpush/android/service/DataShare.java +129 -0
  80. package/android/src/main/java/cn/jpush/android/service/DownloadProvider.java +139 -0
  81. package/android/src/main/java/cn/jpush/android/service/InitProvider.java +48 -0
  82. package/android/src/main/java/cn/jpush/android/service/JCommonService.java +79 -0
  83. package/android/src/main/java/cn/jpush/android/service/JNotifyActivity.java +28 -0
  84. package/android/src/main/java/cn/jpush/android/service/JPushMessageReceiver.java +93 -0
  85. package/android/src/main/java/cn/jpush/android/service/PushReceiver.java +26 -0
  86. package/android/src/main/java/cn/jpush/android/service/PushService.java +28 -0
  87. package/android/src/main/java/cn/jpush/android/service/SchedulerReceiver.java +17 -0
  88. package/android/src/main/java/cn/jpush/android/service/TagAliasReceiver.java +11 -0
  89. package/android/src/main/java/cn/jpush/android/service/WakedResultReceiver.java +24 -0
  90. package/android/src/main/java/cn/jpush/android/ui/FullScreenView.java +11 -0
  91. package/android/src/main/java/cn/jpush/android/ui/PopWinActivity.java +16 -0
  92. package/android/src/main/java/cn/jpush/android/ui/PushActivity.java +27 -0
  93. package/android/src/main/java/cn/jpush/android/ui/RoundedImageView.java +63 -0
  94. package/android/src/main/java/cn/jpush/android/ui/ShadowViewCard.java +56 -0
  95. package/android/src/main/java/cn/jpush/android/ups/ICallbackResult.java +5 -0
  96. package/android/src/main/java/cn/jpush/android/ups/JPushUPSManager.java +37 -0
  97. package/android/src/main/java/cn/jpush/android/ups/TokenResult.java +47 -0
  98. package/android/src/main/java/cn/jpush/android/ups/UPSRegisterCallBack.java +4 -0
  99. package/android/src/main/java/cn/jpush/android/ups/UPSTurnCallBack.java +4 -0
  100. package/android/src/main/java/cn/jpush/android/ups/UPSUnRegisterCallBack.java +4 -0
  101. package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpush.kt +455 -0
  102. package/android/src/main/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushPackage.kt +50 -0
  103. package/android/src/main/res/values/jpush_string.xml +7 -0
  104. package/android/src/main/res/values/jpush_style.xml +22 -0
  105. package/android/src/test/java/com/margelo/nitro/reactnativejpush/ReactNativeJpushProtocolTest.java +1016 -0
  106. package/ios/ReactNativeJpush.swift +522 -0
  107. package/ios/bridge/RCTJCoreModule.h +5 -0
  108. package/ios/bridge/RCTJCoreModule.m +31 -0
  109. package/ios/bridge/RCTJPushEventQueue.h +14 -0
  110. package/ios/bridge/RCTJPushEventQueue.m +23 -0
  111. package/ios/bridge/RCTJPushModule.h +37 -0
  112. package/ios/bridge/RCTJPushModule.m +1165 -0
  113. package/ios/include/JCOREService.h +3 -0
  114. package/ios/include/JGCOREAPI.h +14 -0
  115. package/ios/include/JGInforCollectionAuth.h +17 -0
  116. package/ios/include/JGInforCollectionAuthItems.h +2 -0
  117. package/ios/include/JGPushNotificationTrigger.h +2 -0
  118. package/ios/include/JPUSHService.h +359 -0
  119. package/ios/jcore/JCOREConfiguration.h +141 -0
  120. package/ios/jcore/JCOREConfiguration.m +703 -0
  121. package/ios/jcore/JCORECrypto.h +73 -0
  122. package/ios/jcore/JCORECrypto.m +649 -0
  123. package/ios/jcore/JCORESisResolver.h +56 -0
  124. package/ios/jcore/JCORESisResolver.m +525 -0
  125. package/ios/jcore/JCORETcpSession.h +42 -0
  126. package/ios/jcore/JCORETcpSession.m +956 -0
  127. package/ios/jcore/JCOREWireProtocol.h +274 -0
  128. package/ios/jcore/JCOREWireProtocol.m +1453 -0
  129. package/ios/jpush/JPUSHModels.m +214 -0
  130. package/ios/jpush/JPUSHNotificationManager.h +34 -0
  131. package/ios/jpush/JPUSHNotificationManager.m +360 -0
  132. package/ios/jpush/JPUSHService.m +794 -0
  133. package/ios/tests/ReactNativeJpushTests.m +148 -0
  134. package/lib/module/ReactNativeJpush.nitro.js +4 -0
  135. package/lib/module/ReactNativeJpush.nitro.js.map +1 -0
  136. package/lib/module/index.js +801 -0
  137. package/lib/module/index.js.map +1 -0
  138. package/lib/module/package.json +1 -0
  139. package/lib/typescript/package.json +1 -0
  140. package/lib/typescript/src/ReactNativeJpush.nitro.d.ts +60 -0
  141. package/lib/typescript/src/ReactNativeJpush.nitro.d.ts.map +1 -0
  142. package/lib/typescript/src/index.d.ts +235 -0
  143. package/lib/typescript/src/index.d.ts.map +1 -0
  144. package/nitro.json +23 -0
  145. package/nitrogen/generated/android/c++/JFunc_void_bool.hpp +75 -0
  146. package/nitrogen/generated/android/c++/JFunc_void_std__string_std__string.hpp +76 -0
  147. package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.cpp +310 -0
  148. package/nitrogen/generated/android/c++/JHybridReactNativeJpushSpec.hpp +115 -0
  149. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_bool.kt +78 -0
  150. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/Func_void_std__string_std__string.kt +78 -0
  151. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/HybridReactNativeJpushSpec.kt +274 -0
  152. package/nitrogen/generated/android/kotlin/com/margelo/nitro/reactnativejpush/reactnativejpushOnLoad.kt +35 -0
  153. package/nitrogen/generated/android/reactnativejpush+autolinking.cmake +81 -0
  154. package/nitrogen/generated/android/reactnativejpush+autolinking.gradle +27 -0
  155. package/nitrogen/generated/android/reactnativejpushOnLoad.cpp +58 -0
  156. package/nitrogen/generated/android/reactnativejpushOnLoad.hpp +34 -0
  157. package/nitrogen/generated/ios/ReactNativeJpush+autolinking.rb +62 -0
  158. package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.cpp +49 -0
  159. package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Bridge.hpp +147 -0
  160. package/nitrogen/generated/ios/ReactNativeJpush-Swift-Cxx-Umbrella.hpp +46 -0
  161. package/nitrogen/generated/ios/ReactNativeJpushAutolinking.mm +33 -0
  162. package/nitrogen/generated/ios/ReactNativeJpushAutolinking.swift +26 -0
  163. package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.cpp +11 -0
  164. package/nitrogen/generated/ios/c++/HybridReactNativeJpushSpecSwift.hpp +402 -0
  165. package/nitrogen/generated/ios/swift/Func_void_bool.swift +46 -0
  166. package/nitrogen/generated/ios/swift/Func_void_std__string_std__string.swift +46 -0
  167. package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec.swift +107 -0
  168. package/nitrogen/generated/ios/swift/HybridReactNativeJpushSpec_cxx.swift +723 -0
  169. package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.cpp +73 -0
  170. package/nitrogen/generated/shared/c++/HybridReactNativeJpushSpec.hpp +116 -0
  171. package/package.json +173 -4
  172. package/src/ReactNativeJpush.nitro.ts +93 -0
  173. package/src/index.tsx +1090 -0
@@ -0,0 +1,274 @@
1
+ #import <Foundation/Foundation.h>
2
+
3
+ NS_ASSUME_NONNULL_BEGIN
4
+
5
+ typedef NS_ENUM(uint8_t, JCOREWireCommand) {
6
+ JCOREWireCommandRegister = 0,
7
+ JCOREWireCommandLogin = 1,
8
+ JCOREWireCommandHeartbeat = 2,
9
+ JCOREWireCommandPushMessage = 3,
10
+ JCOREWireCommandMessageAck = 4,
11
+ JCOREWireCommandIdcRedirect = 10,
12
+ JCOREWireCommandDeviceToken = 13,
13
+ JCOREWireCommandCtrlCommand = 25,
14
+ JCOREWireCommandMobileNumber = 26,
15
+ JCOREWireCommandTagOperation = 28,
16
+ JCOREWireCommandAliasOperation = 29,
17
+ JCOREWireCommandPushCtrl = 30,
18
+ JCOREWireCommandVoipToken = 33,
19
+ JCOREWireCommandPropertyOperation = 38,
20
+ JCOREWireCommandLiveActivity = 39,
21
+ };
22
+
23
+ @interface JCOREWireFrame : NSObject
24
+
25
+ @property (nonatomic, assign) uint8_t version;
26
+ @property (nonatomic, assign) uint8_t command;
27
+ @property (nonatomic, assign) uint8_t algorithm;
28
+ @property (nonatomic, assign) uint8_t flags;
29
+ @property (nonatomic, assign) uint16_t requestId;
30
+ @property (nonatomic, assign) uint32_t sessionId;
31
+ @property (nonatomic, assign) uint64_t uid;
32
+ @property (nonatomic, assign) uint16_t statusCode;
33
+ @property (nonatomic, strong, nullable) NSData *bodyData;
34
+
35
+ @end
36
+
37
+ @interface JCORERegisterResponse : NSObject
38
+
39
+ @property (nonatomic, assign) uint16_t statusCode;
40
+ @property (nonatomic, assign) uint64_t uid;
41
+ @property (nonatomic, copy, nullable) NSString *password;
42
+ @property (nonatomic, copy, nullable) NSString *registrationID;
43
+ @property (nonatomic, copy, nullable) NSString *deviceID;
44
+
45
+ @end
46
+
47
+ @interface JCORELoginResponse : NSObject
48
+
49
+ @property (nonatomic, assign) uint16_t statusCode;
50
+ @property (nonatomic, assign) uint32_t sessionId;
51
+ @property (nonatomic, assign) uint16_t serverVersion;
52
+ @property (nonatomic, copy, nullable) NSString *errorMessage;
53
+ @property (nonatomic, assign) uint32_t serverTimestamp;
54
+ @property (nonatomic, assign) int8_t idc;
55
+
56
+ @end
57
+
58
+ @interface JCOREPushEnvelope : NSObject
59
+
60
+ @property (nonatomic, assign) uint8_t messageType;
61
+ @property (nonatomic, assign) uint64_t messageId;
62
+ @property (nonatomic, copy, nullable) NSString *content;
63
+ @property (nonatomic, copy, nullable) NSDictionary *jsonPayload;
64
+
65
+ @end
66
+
67
+ @interface JCORECtrlEnvelope : NSObject
68
+
69
+ @property (nonatomic, assign) uint64_t requestId;
70
+ @property (nonatomic, copy, nullable) NSString *rawJson;
71
+ @property (nonatomic, copy, nullable) NSDictionary *jsonPayload;
72
+
73
+ @end
74
+
75
+ @interface JCORELiveActivityResponse : NSObject
76
+
77
+ @property (nonatomic, assign) uint16_t statusCode;
78
+ @property (nonatomic, assign) NSInteger mappedErrorCode;
79
+ @property (nonatomic, copy, nullable) NSString *alias;
80
+
81
+ @end
82
+
83
+ @interface JCOREWireProtocol : NSObject
84
+
85
+ // Outbound Client -> Server (24-byte header)
86
+ + (nullable NSData *)encodeClientFrameWithCommand:(uint8_t)command
87
+ version:(uint8_t)version
88
+ requestId:(uint16_t)requestId
89
+ sessionId:(uint32_t)sessionId
90
+ uid:(uint64_t)uid
91
+ algorithm:(uint8_t)algorithm
92
+ bodyData:(nullable NSData *)bodyData;
93
+
94
+ + (nullable NSData *)encodeFrameWithCommand:(uint8_t)command
95
+ version:(uint8_t)version
96
+ requestId:(uint16_t)requestId
97
+ sessionId:(uint32_t)sessionId
98
+ uid:(uint64_t)uid
99
+ bodyData:(nullable NSData *)bodyData;
100
+
101
+ // Inbound Server -> Client (20-byte header)
102
+ + (nullable NSData *)encodeServerFrameWithCommand:(uint8_t)command
103
+ version:(uint8_t)version
104
+ requestId:(uint16_t)requestId
105
+ uid:(uint64_t)uid
106
+ algorithm:(uint8_t)algorithm
107
+ statusCode:(uint16_t)statusCode
108
+ bodyData:(nullable NSData *)bodyData;
109
+
110
+ + (nullable NSData *)encodeFrameWithCommand:(uint8_t)command
111
+ version:(uint8_t)version
112
+ requestId:(uint16_t)requestId
113
+ sessionId:(uint32_t)sessionId
114
+ uid:(uint64_t)uid
115
+ statusCode:(uint16_t)statusCode
116
+ bodyData:(nullable NSData *)bodyData;
117
+
118
+ // Stream Decoders
119
+ + (NSArray<JCOREWireFrame *> *)decodeServerFramesFromStreamBuffer:(NSMutableData *)streamBuffer
120
+ defaultUid:(uint64_t)defaultUid;
121
+
122
+ + (NSArray<JCOREWireFrame *> *)decodeClientFramesFromStreamBuffer:(NSMutableData *)streamBuffer;
123
+
124
+ + (NSArray<JCOREWireFrame *> *)decodeFramesFromStreamBuffer:(NSMutableData *)streamBuffer
125
+ uid:(uint64_t)uid;
126
+
127
+ // Register (cmd = 0, ver = 30)
128
+ + (NSData *)buildRegisterPayloadWithAppKey:(NSString *)appKey
129
+ channel:(NSString *)channel
130
+ bundleIdHash:(NSString *)bundleId;
131
+
132
+ + (NSData *)buildRegisterResponsePayloadWithStatusCode:(uint16_t)statusCode
133
+ uid:(uint64_t)uid
134
+ password:(nullable NSString *)password
135
+ registrationID:(nullable NSString *)registrationID
136
+ deviceID:(nullable NSString *)deviceID;
137
+
138
+ + (NSData *)buildRegisterResponsePayloadWithUid:(uint64_t)uid
139
+ password:(NSString *)password
140
+ registrationID:(NSString *)registrationID;
141
+
142
+ + (nullable JCORERegisterResponse *)parseRegisterResponse:(JCOREWireFrame *)frame;
143
+
144
+ // Login (cmd = 1, ver = 27)
145
+ + (NSData *)buildLoginPayloadWithPassword:(NSString *)password
146
+ appKey:(NSString *)appKey;
147
+
148
+ + (NSData *)buildLoginResponsePayloadWithStatusCode:(uint16_t)statusCode
149
+ sessionId:(uint32_t)sessionId
150
+ serverVersion:(uint16_t)serverVersion
151
+ errorMessage:(nullable NSString *)errorMessage
152
+ serverTimestamp:(uint32_t)serverTimestamp
153
+ idc:(int8_t)idc;
154
+
155
+ + (NSData *)buildLoginResponsePayloadWithSessionId:(uint32_t)sessionId
156
+ serverVersion:(uint16_t)serverVersion
157
+ serverTimestamp:(uint32_t)serverTimestamp;
158
+
159
+ + (nullable JCORELoginResponse *)parseLoginResponse:(JCOREWireFrame *)frame;
160
+
161
+ // Heartbeat (cmd = 2, ver = 8)
162
+ + (NSData *)buildHeartbeatPayloadWithPushStopped:(BOOL)pushStopped;
163
+
164
+ // PushMessage (cmd = 3, ver = 4) & MessageReceipt (cmd = 4, ver = 3)
165
+ + (NSData *)buildPushMessagePayloadWithMessageType:(uint8_t)messageType
166
+ messageId:(uint64_t)messageId
167
+ content:(NSString *)content;
168
+
169
+ + (nullable JCOREPushEnvelope *)parsePushEnvelope:(JCOREWireFrame *)frame;
170
+
171
+ + (NSData *)buildMessageAckPayloadWithMessageType:(uint8_t)messageType
172
+ messageId:(uint64_t)messageId;
173
+
174
+ + (NSData *)buildMessageAckPayloadWithStatusCode:(uint16_t)statusCode
175
+ messageType:(uint8_t)messageType
176
+ messageId:(uint64_t)messageId
177
+ msgData:(nullable NSString *)msgData;
178
+
179
+ + (BOOL)parseMessageAckFrame:(JCOREWireFrame *)frame
180
+ outMessageType:(uint8_t *_Nullable)outMessageType
181
+ outMessageId:(uint64_t *_Nullable)outMessageId;
182
+
183
+ // DeviceToken (cmd = 13, ver = 3)
184
+ + (NSData *)buildDeviceTokenPayloadWithTokenHex:(NSString *)tokenHex;
185
+ + (nullable NSString *)parseDeviceTokenFromFrame:(JCOREWireFrame *)frame;
186
+
187
+ // VoIP Token (cmd = 33, ver = 2)
188
+ + (NSData *)buildVoipTokenPayloadWithTokenHex:(NSString *)tokenHex;
189
+ + (nullable NSString *)parseVoipTokenFromFrame:(JCOREWireFrame *)frame;
190
+
191
+ // LiveActivity Token (cmd = 39, ver = 1)
192
+ + (NSData *)buildLiveActivityPayloadWithTokenHex:(NSString *)tokenHex
193
+ aliasOrAttributesType:(NSString *)aliasOrAttributesType
194
+ isPushToken:(BOOL)isPushToken;
195
+
196
+ + (NSData *)buildLiveActivityResponsePayloadWithStatusCode:(uint16_t)statusCode
197
+ alias:(nullable NSString *)alias;
198
+
199
+ + (nullable JCORELiveActivityResponse *)parseLiveActivityResponse:(JCOREWireFrame *)frame;
200
+ + (NSInteger)mapLiveActivityStatusCode:(uint16_t)statusCode;
201
+
202
+ // CtrlCommand (cmd = 25, ver = 1)
203
+ + (NSData *)buildCtrlCommandPayloadWithRequestId:(uint64_t)requestId
204
+ jsonPayload:(NSDictionary *)jsonPayload;
205
+ + (nullable JCORECtrlEnvelope *)parseCtrlEnvelope:(JCOREWireFrame *)frame;
206
+ + (NSData *)buildCtrlAckPayloadWithStatusCode:(uint16_t)statusCode
207
+ requestId:(uint64_t)requestId;
208
+
209
+ // User Property / MobileNumber / SDKVersion (cmd = 26, ver = 0)
210
+ + (NSData *)buildMobileNumberPayload:(NSString *)mobileNumber;
211
+ + (nullable NSString *)parseMobileNumberFromFrame:(JCOREWireFrame *)frame;
212
+ + (NSData *)buildSdkVersionPropertyPayload:(NSString *)sdkVersion;
213
+
214
+ // Tags (cmd = 28, ver = 1) & Alias (cmd = 29, ver = 1)
215
+ + (NSData *)buildTagOperationPayloadWithOperator:(NSString *)opString
216
+ tags:(nullable NSArray<NSString *> *)tags
217
+ currPage:(NSInteger)currPage;
218
+
219
+ + (NSData *)buildAliasOperationPayloadWithOperator:(NSString *)opString
220
+ alias:(nullable NSString *)alias;
221
+
222
+ // User Properties (cmd = 38, ver = 1)
223
+ + (NSData *)buildUserPropertiesPayloadWithOperator:(NSString *)opString
224
+ properties:(nullable NSDictionary *)properties;
225
+
226
+ + (NSData *)buildUserPropertiesResponsePayloadWithStatusCode:(uint16_t)statusCode
227
+ jsonPayload:(nullable NSDictionary *)jsonPayload;
228
+
229
+ + (NSData *)buildJsonCommandPayload:(NSDictionary *)payload;
230
+ + (nullable NSDictionary *)parseJsonBodyFromFrame:(JCOREWireFrame *)frame;
231
+
232
+ // Push Control / Notification State (cmd = 30, ver = 1)
233
+ + (NSData *)buildPushControlPayloadWithStopped:(BOOL)stopped;
234
+
235
+ @end
236
+
237
+ @interface JCOREHttpReporter : NSObject
238
+
239
+ + (instancetype)shared;
240
+
241
+ + (NSDictionary *)buildReportEnvelopeWithContentItems:(NSArray<NSDictionary *> *)items;
242
+
243
+ + (nullable NSURLRequest *)buildHttpReportRequestWithURL:(NSURL *)url
244
+ contentItems:(NSArray<NSDictionary *> *)items
245
+ uid:(uint64_t)uid
246
+ password:(NSString *)password
247
+ appKey:(NSString *)appKey
248
+ outAesKey:(NSString *_Nullable *_Nullable)outAesKey;
249
+
250
+ + (nullable NSDictionary *)verifyAndDecryptHttpReportBody:(NSData *)bodyData
251
+ authorizationHeader:(NSString *)authHeader
252
+ expectedUid:(uint64_t)expectedUid
253
+ password:(NSString *)password;
254
+
255
+ + (nullable NSURLRequest *)buildBadgeReportRequestWithBaseURL:(nullable NSURL *)baseURL
256
+ badgeValue:(NSInteger)badgeValue
257
+ uid:(uint64_t)uid
258
+ appKey:(NSString *)appKey
259
+ outAesKey16:(NSString *_Nullable *_Nullable)outAesKey16;
260
+
261
+ + (nullable NSDictionary *)verifyAndDecryptBadgeReportHeaders:(NSDictionary<NSString *, NSString *> *)headers
262
+ bodyString:(nullable NSString *)bodyString
263
+ appKey:(NSString *)appKey
264
+ aesKey16:(nullable NSString *)aesKey16;
265
+
266
+ - (void)sendHttpReportItems:(NSArray<NSDictionary *> *)items
267
+ completion:(nullable void (^)(BOOL success, NSInteger statusCode))completion;
268
+
269
+ - (void)reportBadgeValue:(NSInteger)badgeValue
270
+ completion:(nullable void (^)(BOOL success, NSInteger statusCode))completion;
271
+
272
+ @end
273
+
274
+ NS_ASSUME_NONNULL_END