@ohos-ports/react-native-fbsdk-next 13.4.3-beta.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 (284) hide show
  1. package/LICENSE +21 -0
  2. package/README.md +943 -0
  3. package/android/build.gradle +57 -0
  4. package/android/src/main/AndroidManifest.xml +46 -0
  5. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBAccessTokenModule.java +151 -0
  6. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBActivityEventListener.java +40 -0
  7. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppEventsLoggerModule.java +414 -0
  8. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBAppLinkModule.java +86 -0
  9. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBGameRequestDialogModule.java +94 -0
  10. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBGraphRequestModule.java +283 -0
  11. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginButtonManager.java +83 -0
  12. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBLoginManagerModule.java +171 -0
  13. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBMessageDialogModule.java +111 -0
  14. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBProfileModule.java +68 -0
  15. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBSDKCallbackManagerBaseJavaModule.java +41 -0
  16. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBSDKPackage.java +60 -0
  17. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBSendButtonManager.java +51 -0
  18. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBSettingsModule.java +95 -0
  19. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBShareButtonManager.java +53 -0
  20. package/android/src/main/java/com/facebook/reactnative/androidsdk/FBShareDialogModule.java +107 -0
  21. package/android/src/main/java/com/facebook/reactnative/androidsdk/RCTLoginButton.java +126 -0
  22. package/android/src/main/java/com/facebook/reactnative/androidsdk/RCTLoginButtonEvent.java +27 -0
  23. package/android/src/main/java/com/facebook/reactnative/androidsdk/ReactNativeFacebookSDKCallback.java +58 -0
  24. package/android/src/main/java/com/facebook/reactnative/androidsdk/Utility.java +283 -0
  25. package/app.plugin.js +1 -0
  26. package/expo-module.config.json +10 -0
  27. package/ios/ExpoAdapterFBSDKNext/FacebookAppDelegate.swift +21 -0
  28. package/ios/ExpoAdapterFBSDKNext.podspec +33 -0
  29. package/ios/RCTFBSDK/core/RCTConvert+FBSDKAccessToken.h +27 -0
  30. package/ios/RCTFBSDK/core/RCTConvert+FBSDKAccessToken.m +41 -0
  31. package/ios/RCTFBSDK/core/RCTFBSDKAEMReporter.m +30 -0
  32. package/ios/RCTFBSDK/core/RCTFBSDKAccessToken.h +24 -0
  33. package/ios/RCTFBSDK/core/RCTFBSDKAccessToken.m +115 -0
  34. package/ios/RCTFBSDK/core/RCTFBSDKAppEvents.h +24 -0
  35. package/ios/RCTFBSDK/core/RCTFBSDKAppEvents.m +251 -0
  36. package/ios/RCTFBSDK/core/RCTFBSDKAppLink.h +24 -0
  37. package/ios/RCTFBSDK/core/RCTFBSDKAppLink.m +52 -0
  38. package/ios/RCTFBSDK/core/RCTFBSDKAuthenticationToken.h +6 -0
  39. package/ios/RCTFBSDK/core/RCTFBSDKAuthenticationToken.m +35 -0
  40. package/ios/RCTFBSDK/core/RCTFBSDKGraphRequestConnectionContainer.h +50 -0
  41. package/ios/RCTFBSDK/core/RCTFBSDKGraphRequestConnectionContainer.m +124 -0
  42. package/ios/RCTFBSDK/core/RCTFBSDKGraphRequestManager.h +25 -0
  43. package/ios/RCTFBSDK/core/RCTFBSDKGraphRequestManager.m +43 -0
  44. package/ios/RCTFBSDK/core/RCTFBSDKProfile.h +6 -0
  45. package/ios/RCTFBSDK/core/RCTFBSDKProfile.m +58 -0
  46. package/ios/RCTFBSDK/core/RCTFBSDKSettings.h +14 -0
  47. package/ios/RCTFBSDK/core/RCTFBSDKSettings.m +80 -0
  48. package/ios/RCTFBSDK/login/RCTConvert+FBSDKLogin.h +28 -0
  49. package/ios/RCTFBSDK/login/RCTConvert+FBSDKLogin.m +35 -0
  50. package/ios/RCTFBSDK/login/RCTFBSDKLoginButtonManager.h +25 -0
  51. package/ios/RCTFBSDK/login/RCTFBSDKLoginButtonManager.m +73 -0
  52. package/ios/RCTFBSDK/login/RCTFBSDKLoginButtonView.h +12 -0
  53. package/ios/RCTFBSDK/login/RCTFBSDKLoginButtonView.m +57 -0
  54. package/ios/RCTFBSDK/login/RCTFBSDKLoginManager.h +22 -0
  55. package/ios/RCTFBSDK/login/RCTFBSDKLoginManager.m +154 -0
  56. package/ios/RCTFBSDK/share/RCTConvert+FBSDKSharingContent.h +29 -0
  57. package/ios/RCTFBSDK/share/RCTConvert+FBSDKSharingContent.m +111 -0
  58. package/ios/RCTFBSDK/share/RCTFBSDKGameRequestDialog.h +24 -0
  59. package/ios/RCTFBSDK/share/RCTFBSDKGameRequestDialog.m +134 -0
  60. package/ios/RCTFBSDK/share/RCTFBSDKMessageDialog.h +24 -0
  61. package/ios/RCTFBSDK/share/RCTFBSDKMessageDialog.m +116 -0
  62. package/ios/RCTFBSDK/share/RCTFBSDKSendButtonManager.h +25 -0
  63. package/ios/RCTFBSDK/share/RCTFBSDKSendButtonManager.m +39 -0
  64. package/ios/RCTFBSDK/share/RCTFBSDKShareButtonManager.h +23 -0
  65. package/ios/RCTFBSDK/share/RCTFBSDKShareButtonManager.m +39 -0
  66. package/ios/RCTFBSDK/share/RCTFBSDKShareDialog.h +24 -0
  67. package/ios/RCTFBSDK/share/RCTFBSDKShareDialog.m +134 -0
  68. package/ios/RCTFBSDK/share/RCTFBSDKShareHelper.h +21 -0
  69. package/ios/RCTFBSDK/share/RCTFBSDKShareHelper.m +32 -0
  70. package/ios/RCTFBSDK.xcodeproj/project.pbxproj +446 -0
  71. package/ios/RCTFBSDK.xcodeproj/project.xcworkspace/contents.xcworkspacedata +7 -0
  72. package/ios/RCTFBSDK.xcodeproj/project.xcworkspace/xcshareddata/IDEWorkspaceChecks.plist +8 -0
  73. package/jest/mocks/index.js +81 -0
  74. package/jest/setup.js +3 -0
  75. package/lib/commonjs/FBAEMReporter.js +39 -0
  76. package/lib/commonjs/FBAEMReporter.js.map +1 -0
  77. package/lib/commonjs/FBAccessToken.js +198 -0
  78. package/lib/commonjs/FBAccessToken.js.map +1 -0
  79. package/lib/commonjs/FBAppEventsLogger.js +221 -0
  80. package/lib/commonjs/FBAppEventsLogger.js.map +1 -0
  81. package/lib/commonjs/FBAppLink.js +36 -0
  82. package/lib/commonjs/FBAppLink.js.map +1 -0
  83. package/lib/commonjs/FBAuthenticationToken.js +55 -0
  84. package/lib/commonjs/FBAuthenticationToken.js.map +1 -0
  85. package/lib/commonjs/FBGameRequestDialog.js +45 -0
  86. package/lib/commonjs/FBGameRequestDialog.js.map +1 -0
  87. package/lib/commonjs/FBGraphRequest.js +66 -0
  88. package/lib/commonjs/FBGraphRequest.js.map +1 -0
  89. package/lib/commonjs/FBGraphRequestManager.js +96 -0
  90. package/lib/commonjs/FBGraphRequestManager.js.map +1 -0
  91. package/lib/commonjs/FBLoginButton.js +67 -0
  92. package/lib/commonjs/FBLoginButton.js.map +1 -0
  93. package/lib/commonjs/FBLoginManager.js +102 -0
  94. package/lib/commonjs/FBLoginManager.js.map +1 -0
  95. package/lib/commonjs/FBMessageDialog.js +51 -0
  96. package/lib/commonjs/FBMessageDialog.js.map +1 -0
  97. package/lib/commonjs/FBProfile.js +134 -0
  98. package/lib/commonjs/FBProfile.js.map +1 -0
  99. package/lib/commonjs/FBSendButton.js +48 -0
  100. package/lib/commonjs/FBSendButton.js.map +1 -0
  101. package/lib/commonjs/FBSettings.js +115 -0
  102. package/lib/commonjs/FBSettings.js.map +1 -0
  103. package/lib/commonjs/FBShareButton.js +48 -0
  104. package/lib/commonjs/FBShareButton.js.map +1 -0
  105. package/lib/commonjs/FBShareDialog.js +57 -0
  106. package/lib/commonjs/FBShareDialog.js.map +1 -0
  107. package/lib/commonjs/index.js +323 -0
  108. package/lib/commonjs/index.js.map +1 -0
  109. package/lib/commonjs/models/FBAppGroupCreationContent.js +2 -0
  110. package/lib/commonjs/models/FBAppGroupCreationContent.js.map +1 -0
  111. package/lib/commonjs/models/FBGameRequestContent.js +2 -0
  112. package/lib/commonjs/models/FBGameRequestContent.js.map +1 -0
  113. package/lib/commonjs/models/FBSDKCallback.js +2 -0
  114. package/lib/commonjs/models/FBSDKCallback.js.map +1 -0
  115. package/lib/commonjs/models/FBShareContent.js +6 -0
  116. package/lib/commonjs/models/FBShareContent.js.map +1 -0
  117. package/lib/commonjs/models/FBShareLinkContent.js +6 -0
  118. package/lib/commonjs/models/FBShareLinkContent.js.map +1 -0
  119. package/lib/commonjs/models/FBSharePhoto.js +2 -0
  120. package/lib/commonjs/models/FBSharePhoto.js.map +1 -0
  121. package/lib/commonjs/models/FBSharePhotoContent.js +6 -0
  122. package/lib/commonjs/models/FBSharePhotoContent.js.map +1 -0
  123. package/lib/commonjs/models/FBShareVideo.js +2 -0
  124. package/lib/commonjs/models/FBShareVideo.js.map +1 -0
  125. package/lib/commonjs/models/FBShareVideoContent.js +6 -0
  126. package/lib/commonjs/models/FBShareVideoContent.js.map +1 -0
  127. package/lib/commonjs/util/validate.js +180 -0
  128. package/lib/commonjs/util/validate.js.map +1 -0
  129. package/lib/commonjs/utils/index.js +2 -0
  130. package/lib/commonjs/utils/index.js.map +1 -0
  131. package/lib/module/FBAEMReporter.js +34 -0
  132. package/lib/module/FBAEMReporter.js.map +1 -0
  133. package/lib/module/FBAccessToken.js +191 -0
  134. package/lib/module/FBAccessToken.js.map +1 -0
  135. package/lib/module/FBAppEventsLogger.js +215 -0
  136. package/lib/module/FBAppEventsLogger.js.map +1 -0
  137. package/lib/module/FBAppLink.js +29 -0
  138. package/lib/module/FBAppLink.js.map +1 -0
  139. package/lib/module/FBAuthenticationToken.js +48 -0
  140. package/lib/module/FBAuthenticationToken.js.map +1 -0
  141. package/lib/module/FBGameRequestDialog.js +39 -0
  142. package/lib/module/FBGameRequestDialog.js.map +1 -0
  143. package/lib/module/FBGraphRequest.js +60 -0
  144. package/lib/module/FBGraphRequest.js.map +1 -0
  145. package/lib/module/FBGraphRequestManager.js +90 -0
  146. package/lib/module/FBGraphRequestManager.js.map +1 -0
  147. package/lib/module/FBLoginButton.js +62 -0
  148. package/lib/module/FBLoginButton.js.map +1 -0
  149. package/lib/module/FBLoginManager.js +97 -0
  150. package/lib/module/FBLoginManager.js.map +1 -0
  151. package/lib/module/FBMessageDialog.js +45 -0
  152. package/lib/module/FBMessageDialog.js.map +1 -0
  153. package/lib/module/FBProfile.js +127 -0
  154. package/lib/module/FBProfile.js.map +1 -0
  155. package/lib/module/FBSendButton.js +41 -0
  156. package/lib/module/FBSendButton.js.map +1 -0
  157. package/lib/module/FBSettings.js +108 -0
  158. package/lib/module/FBSettings.js.map +1 -0
  159. package/lib/module/FBShareButton.js +41 -0
  160. package/lib/module/FBShareButton.js.map +1 -0
  161. package/lib/module/FBShareDialog.js +51 -0
  162. package/lib/module/FBShareDialog.js.map +1 -0
  163. package/lib/module/index.js +44 -0
  164. package/lib/module/index.js.map +1 -0
  165. package/lib/module/models/FBAppGroupCreationContent.js +2 -0
  166. package/lib/module/models/FBAppGroupCreationContent.js.map +1 -0
  167. package/lib/module/models/FBGameRequestContent.js +2 -0
  168. package/lib/module/models/FBGameRequestContent.js.map +1 -0
  169. package/lib/module/models/FBSDKCallback.js +2 -0
  170. package/lib/module/models/FBSDKCallback.js.map +1 -0
  171. package/lib/module/models/FBShareContent.js +2 -0
  172. package/lib/module/models/FBShareContent.js.map +1 -0
  173. package/lib/module/models/FBShareLinkContent.js +2 -0
  174. package/lib/module/models/FBShareLinkContent.js.map +1 -0
  175. package/lib/module/models/FBSharePhoto.js +2 -0
  176. package/lib/module/models/FBSharePhoto.js.map +1 -0
  177. package/lib/module/models/FBSharePhotoContent.js +2 -0
  178. package/lib/module/models/FBSharePhotoContent.js.map +1 -0
  179. package/lib/module/models/FBShareVideo.js +2 -0
  180. package/lib/module/models/FBShareVideo.js.map +1 -0
  181. package/lib/module/models/FBShareVideoContent.js +2 -0
  182. package/lib/module/models/FBShareVideoContent.js.map +1 -0
  183. package/lib/module/util/validate.js +157 -0
  184. package/lib/module/util/validate.js.map +1 -0
  185. package/lib/module/utils/index.js +2 -0
  186. package/lib/module/utils/index.js.map +1 -0
  187. package/lib/typescript/FBAEMReporter.d.ts +21 -0
  188. package/lib/typescript/FBAEMReporter.d.ts.map +1 -0
  189. package/lib/typescript/FBAccessToken.d.ts +118 -0
  190. package/lib/typescript/FBAccessToken.d.ts.map +1 -0
  191. package/lib/typescript/FBAppEventsLogger.d.ts +201 -0
  192. package/lib/typescript/FBAppEventsLogger.d.ts.map +1 -0
  193. package/lib/typescript/FBAppLink.d.ts +5 -0
  194. package/lib/typescript/FBAppLink.d.ts.map +1 -0
  195. package/lib/typescript/FBAuthenticationToken.d.ts +29 -0
  196. package/lib/typescript/FBAuthenticationToken.d.ts.map +1 -0
  197. package/lib/typescript/FBGameRequestDialog.d.ts +39 -0
  198. package/lib/typescript/FBGameRequestDialog.d.ts.map +1 -0
  199. package/lib/typescript/FBGraphRequest.d.ts +70 -0
  200. package/lib/typescript/FBGraphRequest.d.ts.map +1 -0
  201. package/lib/typescript/FBGraphRequestManager.d.ts +51 -0
  202. package/lib/typescript/FBGraphRequestManager.d.ts.map +1 -0
  203. package/lib/typescript/FBLoginButton.d.ts +92 -0
  204. package/lib/typescript/FBLoginButton.d.ts.map +1 -0
  205. package/lib/typescript/FBLoginManager.d.ts +77 -0
  206. package/lib/typescript/FBLoginManager.d.ts.map +1 -0
  207. package/lib/typescript/FBMessageDialog.d.ts +42 -0
  208. package/lib/typescript/FBMessageDialog.d.ts.map +1 -0
  209. package/lib/typescript/FBProfile.d.ts +127 -0
  210. package/lib/typescript/FBProfile.d.ts.map +1 -0
  211. package/lib/typescript/FBSendButton.d.ts +42 -0
  212. package/lib/typescript/FBSendButton.d.ts.map +1 -0
  213. package/lib/typescript/FBSettings.d.ts +49 -0
  214. package/lib/typescript/FBSettings.d.ts.map +1 -0
  215. package/lib/typescript/FBShareButton.d.ts +42 -0
  216. package/lib/typescript/FBShareButton.d.ts.map +1 -0
  217. package/lib/typescript/FBShareDialog.d.ts +69 -0
  218. package/lib/typescript/FBShareDialog.d.ts.map +1 -0
  219. package/lib/typescript/index.d.ts +43 -0
  220. package/lib/typescript/index.d.ts.map +1 -0
  221. package/lib/typescript/models/FBAppGroupCreationContent.d.ts +43 -0
  222. package/lib/typescript/models/FBAppGroupCreationContent.d.ts.map +1 -0
  223. package/lib/typescript/models/FBGameRequestContent.d.ts +63 -0
  224. package/lib/typescript/models/FBGameRequestContent.d.ts.map +1 -0
  225. package/lib/typescript/models/FBSDKCallback.d.ts +4 -0
  226. package/lib/typescript/models/FBSDKCallback.d.ts.map +1 -0
  227. package/lib/typescript/models/FBShareContent.d.ts +48 -0
  228. package/lib/typescript/models/FBShareContent.d.ts.map +1 -0
  229. package/lib/typescript/models/FBShareLinkContent.d.ts +65 -0
  230. package/lib/typescript/models/FBShareLinkContent.d.ts.map +1 -0
  231. package/lib/typescript/models/FBSharePhoto.d.ts +43 -0
  232. package/lib/typescript/models/FBSharePhoto.d.ts.map +1 -0
  233. package/lib/typescript/models/FBSharePhotoContent.d.ts +45 -0
  234. package/lib/typescript/models/FBSharePhotoContent.d.ts.map +1 -0
  235. package/lib/typescript/models/FBShareVideo.d.ts +31 -0
  236. package/lib/typescript/models/FBShareVideo.d.ts.map +1 -0
  237. package/lib/typescript/models/FBShareVideoContent.d.ts +58 -0
  238. package/lib/typescript/models/FBShareVideoContent.d.ts.map +1 -0
  239. package/lib/typescript/util/validate.d.ts +62 -0
  240. package/lib/typescript/util/validate.d.ts.map +1 -0
  241. package/lib/typescript/utils/index.d.ts +2 -0
  242. package/lib/typescript/utils/index.d.ts.map +1 -0
  243. package/package.json +155 -0
  244. package/plugin/build/config.d.ts +53 -0
  245. package/plugin/build/config.js +46 -0
  246. package/plugin/build/withFacebook.d.ts +4 -0
  247. package/plugin/build/withFacebook.js +59 -0
  248. package/plugin/build/withFacebookAndroid.d.ts +6 -0
  249. package/plugin/build/withFacebookAndroid.js +197 -0
  250. package/plugin/build/withFacebookIOS.d.ts +15 -0
  251. package/plugin/build/withFacebookIOS.js +163 -0
  252. package/plugin/build/withSKAdNetworkIdentifiers.d.ts +9 -0
  253. package/plugin/build/withSKAdNetworkIdentifiers.js +36 -0
  254. package/plugin/tsconfig.json +9 -0
  255. package/react-native-fbsdk-next.podspec +34 -0
  256. package/src/FBAEMReporter.ts +44 -0
  257. package/src/FBAccessToken.ts +222 -0
  258. package/src/FBAppEventsLogger.ts +375 -0
  259. package/src/FBAppLink.ts +30 -0
  260. package/src/FBAuthenticationToken.ts +61 -0
  261. package/src/FBGameRequestDialog.ts +49 -0
  262. package/src/FBGraphRequest.ts +89 -0
  263. package/src/FBGraphRequestManager.ts +117 -0
  264. package/src/FBLoginButton.tsx +152 -0
  265. package/src/FBLoginManager.ts +133 -0
  266. package/src/FBMessageDialog.ts +53 -0
  267. package/src/FBProfile.ts +166 -0
  268. package/src/FBSendButton.tsx +61 -0
  269. package/src/FBSettings.ts +122 -0
  270. package/src/FBShareButton.tsx +61 -0
  271. package/src/FBShareDialog.ts +96 -0
  272. package/src/index.ts +85 -0
  273. package/src/models/FBAppGroupCreationContent.ts +48 -0
  274. package/src/models/FBGameRequestContent.ts +81 -0
  275. package/src/models/FBSDKCallback.ts +3 -0
  276. package/src/models/FBShareContent.ts +54 -0
  277. package/src/models/FBShareLinkContent.ts +71 -0
  278. package/src/models/FBSharePhoto.ts +45 -0
  279. package/src/models/FBSharePhotoContent.ts +48 -0
  280. package/src/models/FBShareVideo.ts +31 -0
  281. package/src/models/FBShareVideoContent.ts +64 -0
  282. package/src/util/validate.ts +167 -0
  283. package/src/utils/index.ts +1 -0
  284. package/tsconfig.json +103 -0
@@ -0,0 +1,111 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import "RCTConvert+FBSDKSharingContent.h"
20
+
21
+ @implementation RCTConvert(FBSDKSharingContent)
22
+
23
+ #pragma mark - Class Methods
24
+
25
+ + (RCTFBSDKSharingContent)RCTFBSDKSharingContent:(id)json
26
+ {
27
+ NSDictionary *contentData = [self NSDictionary:json];
28
+ if (contentData) {
29
+ id<FBSDKSharingContent> content = nil;
30
+ // Build the right kind of content based on the specified content type
31
+ NSString *contentType = [self NSString:contentData[@"contentType"]];
32
+ if ([contentType isEqualToString:@"link"]) {
33
+ content = RCTBuildLinkContent(contentData);
34
+ } else if ([contentType isEqualToString:@"photo"]) {
35
+ content = RCTBuildPhotoContent(contentData);
36
+ } else if ([contentType isEqualToString:@"video"]) {
37
+ content = RCTBuildVideoContent(contentData);
38
+ } else {
39
+ return nil;
40
+ }
41
+ if (content) {
42
+ RCTAppendGenericContent(content, contentData[@"commonParameters"]);
43
+ }
44
+ return content;
45
+ } else {
46
+ return nil;
47
+ }
48
+ }
49
+
50
+ #pragma mark - Helper Methods
51
+
52
+ static void RCTAppendGenericContent(RCTFBSDKSharingContent contentObject, NSDictionary *contentData)
53
+ {
54
+ if (contentData) {
55
+ contentObject.peopleIDs = [RCTConvert NSStringArray:contentData[@"peopleIds"]];
56
+ contentObject.placeID = [RCTConvert NSString:contentData[@"placeId"]];
57
+ contentObject.ref = [RCTConvert NSString:contentData[@"ref"]];
58
+ contentObject.hashtag = [[FBSDKHashtag alloc] initWithString: [RCTConvert NSString:contentData[@"hashtag"]]];
59
+ }
60
+ }
61
+
62
+ static FBSDKShareLinkContent *RCTBuildLinkContent(NSDictionary *contentData)
63
+ {
64
+ FBSDKShareLinkContent *linkContent = [[FBSDKShareLinkContent alloc] init];
65
+ linkContent.contentURL = [RCTConvert NSURL:contentData[@"contentUrl"]];
66
+ linkContent.quote = [RCTConvert NSString:contentData[@"quote"]];
67
+ return linkContent;
68
+ }
69
+
70
+ static FBSDKSharePhotoContent *RCTBuildPhotoContent(NSDictionary *contentData)
71
+ {
72
+ NSArray *photoData = [RCTConvert NSArray:contentData[@"photos"]];
73
+ FBSDKSharePhotoContent *photoContent = [[FBSDKSharePhotoContent alloc] init];
74
+ NSMutableArray *photos = [[NSMutableArray alloc] init];
75
+ // Generate an FBSDKSharePhoto for each item in photoData
76
+ for (NSDictionary *p in photoData) {
77
+ FBSDKSharePhoto *photo = RCTBuildPhoto(p);
78
+ if (photo.image) {
79
+ [photos addObject:photo];
80
+ }
81
+ }
82
+ photoContent.photos = photos;
83
+ photoContent.contentURL = [RCTConvert NSURL:contentData[@"contentUrl"]];
84
+ return photoContent;
85
+ }
86
+
87
+ static FBSDKSharePhoto *RCTBuildPhoto(NSDictionary *photoData)
88
+ {
89
+ UIImage *image = [RCTConvert UIImage:photoData[@"imageUrl"]];
90
+ BOOL userGenerated = [RCTConvert BOOL:photoData[@"userGenerated"]];
91
+ FBSDKSharePhoto *photo =[ [FBSDKSharePhoto alloc] initWithImage:image isUserGenerated:userGenerated];
92
+ photo.caption = [RCTConvert NSString:photoData[@"caption"]];
93
+ return photo;
94
+ }
95
+
96
+ static FBSDKShareVideoContent *RCTBuildVideoContent(NSDictionary *contentData)
97
+ {
98
+ FBSDKShareVideoContent *videoContent = [[FBSDKShareVideoContent alloc] init];
99
+ NSDictionary *videoData = [RCTConvert NSDictionary:contentData[@"video"]];
100
+ NSURL *videoURL = [RCTConvert NSURL:videoData[@"localUrl"]];
101
+ FBSDKShareVideo *video = [[FBSDKShareVideo alloc] initWithVideoURL:videoURL previewPhoto:nil];
102
+ if (contentData[@"previewPhoto"]) {
103
+ FBSDKSharePhoto *previewPhoto = RCTBuildPhoto([RCTConvert NSDictionary:contentData[@"previewPhoto"]]);
104
+ video.previewPhoto = previewPhoto;
105
+ }
106
+ videoContent.video = video;
107
+ videoContent.contentURL = [RCTConvert NSURL:contentData[@"contentUrl"]];
108
+ return videoContent;
109
+ }
110
+
111
+ @end
@@ -0,0 +1,24 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import <React/RCTBridgeModule.h>
20
+
21
+ @import FBSDKGamingServicesKit;
22
+
23
+ @interface RCTFBSDKGameRequestDialog : NSObject <RCTBridgeModule>
24
+ @end
@@ -0,0 +1,134 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import "RCTFBSDKGameRequestDialog.h"
20
+
21
+ #import <React/RCTConvert.h>
22
+ #import <React/RCTUtils.h>
23
+
24
+ @implementation RCTConvert (FBSDKGameRequestDialog)
25
+
26
+ RCT_ENUM_CONVERTER(FBSDKGameRequestActionType, (@{
27
+ @"send": @(FBSDKGameRequestActionTypeSend),
28
+ @"askfor": @(FBSDKGameRequestActionTypeAskFor),
29
+ @"turn": @(FBSDKGameRequestActionTypeTurn),
30
+ }), FBSDKGameRequestActionTypeNone, unsignedIntegerValue)
31
+
32
+ RCT_ENUM_CONVERTER(FBSDKGameRequestFilter, (@{
33
+ @"app_users": @(FBSDKGameRequestFilterAppUsers),
34
+ @"app_non_users": @(FBSDKGameRequestFilterAppNonUsers),
35
+ }), FBSDKGameRequestActionTypeNone, unsignedIntegerValue)
36
+
37
+ + (FBSDKGameRequestContent *)FBSDKGameRequestContent:(id)json
38
+ {
39
+ NSDictionary *contentData = [self NSDictionary:json];
40
+ FBSDKGameRequestContent *content = [[FBSDKGameRequestContent alloc] init];
41
+ content.actionType = [RCTConvert FBSDKGameRequestActionType:RCTNilIfNull(contentData[@"actionType"])];
42
+ content.data = [RCTConvert NSString:RCTNilIfNull(contentData[@"data"])];
43
+ content.filters = [RCTConvert FBSDKGameRequestFilter:RCTNilIfNull(contentData[@"filters"])];
44
+ content.message = [RCTConvert NSString:contentData[@"message"]];
45
+ content.objectID = [RCTConvert NSString:RCTNilIfNull(contentData[@"objectId"])];
46
+ content.recipients = [RCTConvert NSStringArray:RCTNilIfNull(contentData[@"recipients"])];
47
+ content.recipientSuggestions = [RCTConvert NSStringArray:RCTNilIfNull(contentData[@"suggestions"])];
48
+ content.title = [RCTConvert NSString:RCTNilIfNull(contentData[@"title"])];
49
+ return content;
50
+ }
51
+
52
+ @end
53
+
54
+ @interface RCTFBSDKGameRequestDialog () <FBSDKGameRequestDialogDelegate>
55
+ @end
56
+
57
+ @implementation RCTFBSDKGameRequestDialog
58
+ {
59
+ FBSDKGameRequestDialog *_dialog;
60
+ RCTPromiseResolveBlock _showResolve;
61
+ RCTPromiseRejectBlock _showReject;
62
+ }
63
+
64
+ RCT_EXPORT_MODULE(FBGameRequestDialog);
65
+
66
+ - (dispatch_queue_t)methodQueue
67
+ {
68
+ return dispatch_get_main_queue();
69
+ }
70
+
71
+ #pragma mark - Object Lifecycle
72
+
73
+ - (instancetype)init
74
+ {
75
+ if ((self = [super init])) {
76
+ // Is no longer possible to initialize a dialog without content
77
+ FBSDKGameRequestContent *emptyContent = [[FBSDKGameRequestContent alloc] init];
78
+ _dialog = [[FBSDKGameRequestDialog alloc] initWithContent:emptyContent delegate:self];
79
+ }
80
+ return self;
81
+ }
82
+
83
+ + (BOOL)requiresMainQueueSetup
84
+ {
85
+ return YES;
86
+ }
87
+
88
+ #pragma mark - React Native Methods
89
+
90
+ RCT_EXPORT_METHOD(canShow:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
91
+ {
92
+ resolve([NSNumber numberWithBool:[_dialog canShow]]);
93
+ }
94
+
95
+ RCT_EXPORT_METHOD(show:(FBSDKGameRequestContent *)gameRequestContent
96
+ resolver:(RCTPromiseResolveBlock)resolve
97
+ rejecter:(RCTPromiseRejectBlock)reject)
98
+ {
99
+ _showResolve = resolve;
100
+ _showReject = reject;
101
+ [_dialog setContent:gameRequestContent];
102
+ [_dialog show];
103
+ }
104
+
105
+ #pragma mark - FBSDKSharingDelegate
106
+
107
+ - (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didCompleteWithResults:(NSDictionary *)results
108
+ {
109
+ if (_showResolve) {
110
+ _showResolve(results);
111
+ _showResolve = nil;
112
+ }
113
+ _showReject = nil;
114
+ }
115
+
116
+ - (void)gameRequestDialog:(FBSDKGameRequestDialog *)gameRequestDialog didFailWithError:(NSError *)error
117
+ {
118
+ if (_showReject) {
119
+ _showReject(@"FacebookSDK", @"Game Request Dialog encounters error.", error);
120
+ _showReject = nil;
121
+ }
122
+ _showResolve = nil;
123
+ }
124
+
125
+ - (void)gameRequestDialogDidCancel:(FBSDKGameRequestDialog *)gameRequestDialog
126
+ {
127
+ if (_showResolve) {
128
+ _showResolve(@{@"isCancelled": @YES});
129
+ _showResolve = nil;
130
+ }
131
+ _showReject = nil;
132
+ }
133
+
134
+ @end
@@ -0,0 +1,24 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import <React/RCTBridgeModule.h>
20
+
21
+ #import <FBSDKShareKit/FBSDKShareKit.h>
22
+
23
+ @interface RCTFBSDKMessageDialog : NSObject <RCTBridgeModule>
24
+ @end
@@ -0,0 +1,116 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import "RCTFBSDKMessageDialog.h"
20
+
21
+ #import <React/RCTUtils.h>
22
+
23
+ #import "RCTConvert+FBSDKSharingContent.h"
24
+
25
+ @interface RCTFBSDKMessageDialog () <FBSDKSharingDelegate>
26
+ @end
27
+
28
+ @implementation RCTFBSDKMessageDialog
29
+ {
30
+ FBSDKMessageDialog *_dialog;
31
+ RCTPromiseResolveBlock _showResolve;
32
+ RCTPromiseRejectBlock _showReject;
33
+ }
34
+
35
+ RCT_EXPORT_MODULE(FBMessageDialog);
36
+
37
+ - (dispatch_queue_t)methodQueue
38
+ {
39
+ return dispatch_get_main_queue();
40
+ }
41
+
42
+ #pragma mark - Object Lifecycle
43
+
44
+ - (instancetype)init
45
+ {
46
+ if ((self = [super init])) {
47
+ _dialog = [[FBSDKMessageDialog alloc] initWithContent:nil delegate:self];
48
+ }
49
+ return self;
50
+ }
51
+
52
+ + (BOOL)requiresMainQueueSetup
53
+ {
54
+ return YES;
55
+ }
56
+
57
+ #pragma mark - React Native Methods
58
+
59
+ RCT_EXPORT_METHOD(canShow:(RCTFBSDKSharingContent)content resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
60
+ {
61
+ _dialog.shareContent = content;
62
+ if ([_dialog canShow]) {
63
+ NSError *error;
64
+ if ([_dialog validateWithError:&error]) {
65
+ resolve(@YES);
66
+ } else {
67
+ reject(@"FacebookSDK", @"SharingContent is invalid", error);
68
+ }
69
+ } else {
70
+ resolve(@NO);
71
+ }
72
+ }
73
+
74
+ RCT_EXPORT_METHOD(show:(RCTFBSDKSharingContent)content resolver:(RCTPromiseResolveBlock)resolve rejecter:(RCTPromiseRejectBlock)reject)
75
+ {
76
+ _showResolve = resolve;
77
+ _showReject = reject;
78
+ _dialog.shareContent = content;
79
+ [_dialog show];
80
+ }
81
+
82
+ RCT_EXPORT_METHOD(setShouldFailOnDataError:(BOOL)shouldFailOnDataError)
83
+ {
84
+ _dialog.shouldFailOnDataError = shouldFailOnDataError;
85
+ }
86
+
87
+ #pragma mark - FBSDKSharingDelegate
88
+
89
+ - (void)sharer:(id<FBSDKSharing>)sharer didCompleteWithResults:(NSDictionary *)results
90
+ {
91
+ if (_showResolve) {
92
+ _showResolve(results);
93
+ _showResolve = nil;
94
+ }
95
+ _showReject = nil;
96
+ }
97
+
98
+ - (void)sharer:(id<FBSDKSharing>)sharer didFailWithError:(NSError *)error
99
+ {
100
+ if (_showReject) {
101
+ _showReject(@"FacebookSDK", @"MessageDialog encounters error", error);
102
+ _showReject = nil;
103
+ }
104
+ _showResolve = nil;
105
+ }
106
+
107
+ - (void)sharerDidCancel:(id<FBSDKSharing>)sharer
108
+ {
109
+ if (_showResolve) {
110
+ _showResolve( @{@"isCancelled": @YES});
111
+ _showResolve = nil;
112
+ }
113
+ _showReject = nil;
114
+ }
115
+
116
+ @end
@@ -0,0 +1,25 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import <React/RCTViewManager.h>
20
+
21
+ #import <FBSDKShareKit/FBSDKShareKit.h>
22
+
23
+ @interface RCTFBSDKSendButtonManager : RCTViewManager
24
+
25
+ @end
@@ -0,0 +1,39 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import "RCTFBSDKSendButtonManager.h"
20
+
21
+ #import "RCTConvert+FBSDKSharingContent.h"
22
+
23
+ @implementation RCTFBSDKSendButtonManager
24
+
25
+ RCT_EXPORT_MODULE(RCTFBSendButton)
26
+
27
+ #pragma mark - Object Lifecycle
28
+
29
+ - (UIView *)view
30
+ {
31
+ FBSDKSendButton *sendButton = [[FBSDKSendButton alloc] init];
32
+ return sendButton;
33
+ }
34
+
35
+ #pragma mark - Properties
36
+
37
+ RCT_EXPORT_VIEW_PROPERTY(shareContent, RCTFBSDKSharingContent)
38
+
39
+ @end
@@ -0,0 +1,23 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import <React/RCTViewManager.h>
20
+
21
+ @interface RCTFBSDKShareButtonManager : RCTViewManager
22
+
23
+ @end
@@ -0,0 +1,39 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import "RCTFBSDKShareButtonManager.h"
20
+
21
+ #import "RCTConvert+FBSDKSharingContent.h"
22
+
23
+ @implementation RCTFBSDKShareButtonManager
24
+
25
+ RCT_EXPORT_MODULE(RCTFBShareButton)
26
+
27
+ #pragma mark - Object Lifecycle
28
+
29
+ - (UIView *)view
30
+ {
31
+ FBSDKShareButton *shareButton = [[FBSDKShareButton alloc] init];
32
+ return shareButton;
33
+ }
34
+
35
+ #pragma mark - Properties
36
+
37
+ RCT_EXPORT_VIEW_PROPERTY(shareContent, RCTFBSDKSharingContent)
38
+
39
+ @end
@@ -0,0 +1,24 @@
1
+ // Copyright (c) 2015-present, Facebook, Inc. All rights reserved.
2
+ //
3
+ // You are hereby granted a non-exclusive, worldwide, royalty-free license to use,
4
+ // copy, modify, and distribute this software in source code or binary form for use
5
+ // in connection with the web services and APIs provided by Facebook.
6
+ //
7
+ // As with any software that integrates with the Facebook platform, your use of
8
+ // this software is subject to the Facebook Developer Principles and Policies
9
+ // [http://developers.facebook.com/policy/]. This copyright notice shall be
10
+ // included in all copies or substantial portions of the software.
11
+ //
12
+ // THE SOFTWARE IS PROVIDED "AS IS", WITHOUT WARRANTY OF ANY KIND, EXPRESS OR
13
+ // IMPLIED, INCLUDING BUT NOT LIMITED TO THE WARRANTIES OF MERCHANTABILITY, FITNESS
14
+ // FOR A PARTICULAR PURPOSE AND NONINFRINGEMENT. IN NO EVENT SHALL THE AUTHORS OR
15
+ // COPYRIGHT HOLDERS BE LIABLE FOR ANY CLAIM, DAMAGES OR OTHER LIABILITY, WHETHER
16
+ // IN AN ACTION OF CONTRACT, TORT OR OTHERWISE, ARISING FROM, OUT OF OR IN
17
+ // CONNECTION WITH THE SOFTWARE OR THE USE OR OTHER DEALINGS IN THE SOFTWARE.
18
+
19
+ #import <React/RCTBridgeModule.h>
20
+
21
+ #import <FBSDKShareKit/FBSDKShareKit.h>
22
+
23
+ @interface RCTFBSDKShareDialog : NSObject <RCTBridgeModule, FBSDKSharingDelegate>
24
+ @end