ShareContent.cs 14 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565
  1. using System;
  2. using LitJson;
  3. using UnityEngine;
  4. using System.Collections;
  5. using System.Collections.Generic;
  6. namespace cn.sharesdk.unity3d {
  7. public class ShareContent : MonoBehaviour
  8. {
  9. Hashtable shareParams = new Hashtable();
  10. Hashtable customizeShareParams = new Hashtable();
  11. public void SetHidePlatforms(String[] hidePlatformList) {
  12. shareParams["hidePlatformList"] = String.Join (",", hidePlatformList);
  13. }
  14. public void SetTitle(string title) {
  15. shareParams["title"] = title;
  16. }
  17. public void SetText(string text) {
  18. shareParams["text"] = text;
  19. }
  20. public void SetUrl(string url) {
  21. shareParams["url"] = url;
  22. }
  23. public void SetImagePath(string imagePath) {
  24. #if UNITY_ANDROID
  25. shareParams["imagePath"] = imagePath;
  26. #elif UNITY_IPHONE
  27. shareParams["imageUrl"] = imagePath;
  28. #endif
  29. }
  30. public void SetImageUrl(string imageUrl) {
  31. shareParams["imageUrl"] = imageUrl;
  32. }
  33. public void SetImageArray(string[] imageArray) {
  34. shareParams["imageArray"] = String.Join(",", imageArray);
  35. }
  36. public void SetShareType(int shareType) {
  37. #if UNITY_ANDROID
  38. if (shareType == 0) {
  39. shareType = 1;
  40. } else if(shareType == 10) {
  41. shareType = 11;
  42. }
  43. #endif
  44. shareParams["shareType"] = shareType;
  45. }
  46. public void SetTitleUrl(string titleUrl) {
  47. shareParams["titleUrl"] = titleUrl;
  48. }
  49. public void SetComment(string comment) {
  50. shareParams["comment"] = comment;
  51. }
  52. public void SetSite(String site) {
  53. shareParams["site"] = site;
  54. }
  55. public void SetSiteUrl(string siteUrl) {
  56. shareParams["siteUrl"] = siteUrl;
  57. }
  58. public void SetAddress(string address) {
  59. shareParams["address"] = address;
  60. }
  61. public void SetFilePath(string filePath) {
  62. shareParams["filePath"] = filePath;
  63. }
  64. public void SetMusicUrl(string musicUrl) {
  65. shareParams["musicUrl"] = musicUrl;
  66. }
  67. public void SetLatitude(string latitude) {
  68. shareParams["latitude"] = latitude;
  69. }
  70. public void SetLongitude(string longitude) {
  71. shareParams["longitude"] = longitude;
  72. }
  73. public void SetSource(string source) {
  74. #if UNITY_ANDROID
  75. shareParams["url"] = source;
  76. #elif UNITY_IPHONE
  77. shareParams["source"] = source;
  78. #endif
  79. }
  80. public void SetAuthor(string author) {
  81. #if UNITY_ANDROID
  82. shareParams["address"] = author;
  83. #elif UNITY_IPHONE
  84. shareParams["author"] = author;
  85. #endif
  86. }
  87. public void SetSnapAttachmentUrl(string attachmentUrl) {
  88. shareParams["attachmentUrl"] = attachmentUrl;
  89. }
  90. public void setSnapStickerAnimated(int stickerAnimated) {
  91. #if UNITY_IPHONE
  92. shareParams["stickerAnimated"] = stickerAnimated;
  93. #endif
  94. }
  95. public void setSnapStickerRotation(float rotation) {
  96. #if UNITY_IPHONE
  97. shareParams["stickerRotation"] = rotation;
  98. #endif
  99. }
  100. public void setSnapStickerImage(string image) {
  101. #if UNITY_IPHONE
  102. shareParams["stickerImage"] = image;
  103. #endif
  104. }
  105. public void SetLinkURL(string linkUrl) {
  106. shareParams["linkUrl"] = linkUrl;
  107. }
  108. public void SetOpenID(string openID) {
  109. shareParams["openID"] = openID;
  110. }
  111. public void SetReceiverOpenID(string receiverOpenID) {
  112. shareParams["receiverOpenID"] = receiverOpenID;
  113. }
  114. public void SetLocalIdentifier(string localIdentifier) {
  115. shareParams["localIdentifier"] = localIdentifier;
  116. }
  117. public void SetTagsArray(string[] tagsArray) {
  118. shareParams["tagsArray"] = tagsArray;
  119. }
  120. public void SetExtraInfo(string extraInfo) {
  121. shareParams["extraInfo"] = extraInfo;
  122. }
  123. public void SetSafetyLevel(int safetyLevel) {
  124. shareParams["safetyLevel"] = safetyLevel;
  125. }
  126. public void SetContentType(int contentType) {
  127. shareParams["contentType"] = contentType;
  128. }
  129. public void SetHidden(bool hidden) {
  130. shareParams["hidden"] = hidden;
  131. }
  132. public void SetIsPublic(bool isPublic) {
  133. shareParams["isPublic"] = isPublic;
  134. }
  135. public void SetIsFriend(bool isFriend) {
  136. shareParams["isFriend"] = isFriend;
  137. }
  138. public void SetIsFamily(bool isFamily) {
  139. shareParams["isFamily"] = isFamily;
  140. }
  141. public void SetFriendsOnly(bool friendsOnly) {
  142. #if UNITY_ANDROID
  143. shareParams["isFriend"] = friendsOnly;
  144. #elif UNITY_IPHONE
  145. shareParams["friendsOnly"] = friendsOnly;
  146. #endif
  147. }
  148. public void SetGroupID(string groupID) {
  149. shareParams["groupID"] = groupID;
  150. }
  151. public void SetAudioPath(string audioPath) {
  152. #if UNITY_ANDROID
  153. shareParams["filePath"] = audioPath;
  154. #elif UNITY_IPHONE
  155. shareParams["audioPath"] = audioPath;
  156. #endif
  157. }
  158. public void SetVideoPath(string videoPath) {
  159. #if UNITY_ANDROID
  160. shareParams["filePath"] = videoPath;
  161. #elif UNITY_IPHONE
  162. shareParams["videoPath"] = videoPath;
  163. #endif
  164. }
  165. public void SetNotebook(string notebook) {
  166. shareParams["notebook"] = notebook;
  167. }
  168. public void SetTags(string tags) {
  169. shareParams["tags"] = tags;
  170. }
  171. public void SetPrivateStatus(int status) {
  172. shareParams["privateStatus"] = status;
  173. }
  174. public void SetObjectID(string objectId) {
  175. shareParams["objectId"] = objectId;
  176. }
  177. public void SetAlbumID(string albumId) {
  178. shareParams["AlbumID"] = albumId;
  179. }
  180. public void SetEmotionPath(string emotionPath) {
  181. shareParams["emotionPath"] = emotionPath;
  182. }
  183. public void SetExtInfoPath(string extInfoPath) {
  184. shareParams["extInfoPath"] = extInfoPath;
  185. }
  186. public void SetSourceFileExtension(string sourceFileExtension) {
  187. shareParams["sourceFileExtension"] = sourceFileExtension;
  188. }
  189. public void SetAssetLocalIds(string assetLocalIds) {
  190. shareParams["assetLocalIds"] = assetLocalIds;
  191. }
  192. public void SetAssetLocalIdsArray(string[] assetLocalIdsArray) {
  193. shareParams["asset_localIds"] = assetLocalIdsArray;
  194. }
  195. public void SetDouyinHashtag(string douyin_hashtag) {
  196. shareParams["douyin_hashtag"] = douyin_hashtag;
  197. }
  198. public void SetTiktokHashtag(string tiktok_hashtag) {
  199. shareParams["tiktok_hashtag"] = tiktok_hashtag;
  200. }
  201. public void SetTiktok_extraInfo(Dictionary<string,string> tiktok_extraInfo) {
  202. shareParams["tiktok_extraInfo"] = tiktok_extraInfo;
  203. }
  204. public void SetDouyin_shareActionMode(int shareActionMode) {
  205. shareParams["shareActionMode"] = shareActionMode;
  206. }
  207. public void SetDouyin_extraInfo(Dictionary<string, string> douyin_extraInfo) {
  208. shareParams["douyin_extraInfo"] = douyin_extraInfo;
  209. }
  210. public void SetSourceFilePath(string sourceFilePath) {
  211. shareParams["sourceFilePath"] = sourceFilePath;
  212. }
  213. public void SetThumbImageUrl(string thumbImageUrl) {
  214. shareParams["thumbImageUrl"] = thumbImageUrl;
  215. }
  216. public void SetUrlDescription(string urlDescription) {
  217. shareParams["urlDescription"] = urlDescription;
  218. }
  219. public void SetBoard(string SetBoard) {
  220. shareParams["SetBoard"] = SetBoard;
  221. }
  222. public void SetMenuX(float menuX) {
  223. shareParams["menuX"] = menuX;
  224. }
  225. public void SetMenuY(float menuY) {
  226. shareParams["menuY"] = menuY;
  227. }
  228. public void SetVisibility(string visibility) {
  229. shareParams["visibility"] = visibility;
  230. }
  231. public void SetBlogName(string blogName) {
  232. shareParams["blogName"] = blogName;
  233. }
  234. public void SetMediaDataPath(string mediaDataPath) {
  235. shareParams["mediaDataPath"] = mediaDataPath;
  236. }
  237. public void SetRecipients(string recipients) {
  238. shareParams["recipients"] = recipients;
  239. }
  240. public void SetCCRecipients(string ccRecipients) {
  241. shareParams["ccRecipients"] = ccRecipients;
  242. }
  243. public void SetBCCRecipients(string bccRecipients) {
  244. shareParams["bccRecipients"] = bccRecipients;
  245. }
  246. public void SetAttachmentPath(string attachmentPath) {
  247. shareParams["attachmentPath"] = attachmentPath;
  248. }
  249. public void SetDesc(string desc) {
  250. shareParams["desc"] = desc;
  251. }
  252. public void SetIsPrivateFromSource(bool isPrivateFromSource) {
  253. shareParams["isPrivateFromSource"] = isPrivateFromSource;
  254. }
  255. public void SetResolveFinalUrl(bool resolveFinalUrl) {
  256. shareParams["resolveFinalUrl"] = resolveFinalUrl;
  257. }
  258. public void SetFolderId(int folderId) {
  259. shareParams["folderId"] = folderId;
  260. }
  261. public void SetTweetID(string tweetID) {
  262. shareParams["tweetID"] = tweetID;
  263. }
  264. public void SetToUserID(string toUserID) {
  265. shareParams["toUserID"] = toUserID;
  266. }
  267. public void SetPermission(string permission) {
  268. shareParams["permission"] = permission;
  269. }
  270. public void SetEnableShare(bool enableShare) {
  271. shareParams["enableShare"] = enableShare;
  272. }
  273. public void SetImageWidth(float imageWidth) {
  274. shareParams["imageWidth"] = imageWidth;
  275. }
  276. public void SetImageHeight(float imageHeight) {
  277. shareParams["imageHeight"] = imageHeight;
  278. }
  279. public void SetAppButtonTitle(string appButtonTitle) {
  280. shareParams["appButtonTitle"] = appButtonTitle;
  281. }
  282. public void SetAndroidExecParam(Hashtable androidExecParam) {
  283. shareParams["androidExecParam"] = androidExecParam;
  284. }
  285. public void SetAndroidMarkParam(string androidMarkParam) {
  286. shareParams["androidMarkParam"] = androidMarkParam;
  287. }
  288. public void SetIphoneExecParam(Hashtable iphoneExecParam) {
  289. shareParams["iphoneExecParam"] = iphoneExecParam;
  290. }
  291. public void SetIphoneMarkParam(string iphoneMarkParam) {
  292. shareParams["iphoneMarkParam"] = iphoneMarkParam;
  293. }
  294. public void SetIpadExecParam(Hashtable ipadExecParam) {
  295. shareParams["ipadExecParam"] = ipadExecParam;
  296. }
  297. public void SetIpadMarkParam(string ipadMarkParam) {
  298. shareParams["ipadMarkParam"] = ipadMarkParam;
  299. }
  300. public void SetTemplateArgs(Hashtable templateArgs) {
  301. shareParams["templateArgs"] = templateArgs;
  302. }
  303. public void SetTemplateId(string templateId) {
  304. shareParams["templateId"] = templateId;
  305. }
  306. public void SetFacebookHashtag(string hashtag) {
  307. #if UNITY_ANDROID
  308. shareParams["HASHTAG"] = hashtag;
  309. #elif UNITY_IPHONE
  310. shareParams["hashtag"] = hashtag;
  311. #endif
  312. }
  313. public void SetFacebookAssetsArray(string[] imageAsset, string videoAsset) {
  314. #if UNITY_IPHONE
  315. if (imageAsset != null) {
  316. shareParams["facebook_imageasset"] = String.Join(",",imageAsset);
  317. }
  318. if (videoAsset != null) {
  319. shareParams["facebook_videoasset"] = videoAsset;
  320. }
  321. #endif
  322. }
  323. public void SetFacebookQuote(string quote) {
  324. #if UNITY_ANDROID
  325. shareParams["QUOTE"] = quote;
  326. #elif UNITY_IPHONE
  327. shareParams["quote"] = quote;
  328. #endif
  329. }
  330. public void setFacebookShareType(int type) {
  331. shareParams["facebook_shareType"] = type;
  332. }
  333. public void setFacebookShareTypes(int[] type) {
  334. shareParams["facebook_shareTypes"] = type;
  335. }
  336. public void SetMessengerGif(string gif) {
  337. shareParams["gif"] = gif;
  338. }
  339. public void SetEnableClientShare(bool enable) {
  340. shareParams["clientShare"] = enable;
  341. }
  342. public void SetEnableSinaWeiboAPIShare(bool enable) {
  343. shareParams["apiShare"] = enable;
  344. }
  345. public void SetEnableAdvancedInterfaceShare(bool enalble) {
  346. shareParams["advancedShare"] = enalble;
  347. }
  348. public void SetSinaShareEnableShareToStory(bool enalble) {
  349. shareParams["isShareToStory"] = enalble;
  350. }
  351. public void SetMiniProgramUserName(string userName) {
  352. shareParams["wxUserName"] = userName;
  353. }
  354. public void SetMiniProgramAppID(string appID) {
  355. #if UNITY_ANDROID
  356. shareParams["mini_program_appid"] = appID;
  357. #elif UNITY_IPHONE
  358. shareParams["qqMiniProgramAppID"] = appID;
  359. #endif
  360. }
  361. public void SetMiniProgramPath(string path) {
  362. shareParams["wxPath"] = path;
  363. #if UNITY_ANDROID
  364. shareParams["mini_program_path"] = path;
  365. #elif UNITY_IPHONE
  366. shareParams["qqMiniProgramPath"] = path;
  367. #endif
  368. }
  369. public void SetMiniProgramWithShareTicket(bool enalble) {
  370. shareParams ["wxWithShareTicket"] = enalble;
  371. }
  372. public void SetMiniProgramType(int type) {
  373. shareParams ["wxMiniProgramType"] = type;
  374. shareParams["qqMiniprogramType"] = type;
  375. }
  376. public void SetQQMiniProgramType(string type) {
  377. shareParams["mini_program_type"] = type;
  378. }
  379. public void SetMiniProgramHdThumbImage(string hdThumbImage) {
  380. shareParams ["wxMiniProgramHdThumbImage"] = hdThumbImage;
  381. #if UNITY_IPHONE
  382. shareParams["qqMiniProgramHdThumbImage"] = hdThumbImage;
  383. #endif
  384. }
  385. public void SetMiniProgramWebpageUrl(string webpageUrl) {
  386. shareParams["qqMiniProgramWebpageUrl"] = webpageUrl;
  387. }
  388. public void SetSubreddit(string subreddit) {
  389. shareParams["sr"] = subreddit;
  390. }
  391. public void SetSinaLinkCard(bool enable) {
  392. shareParams["sina_linkCard"] = enable;
  393. }
  394. public void SetSinaCardTitle(string title) {
  395. shareParams["sina_cardTitle"] = title;
  396. }
  397. public void SetSinaCardSummary(string summary) {
  398. #if UNITY_ANDROID
  399. shareParams["lc_summary"] = summary;
  400. #elif UNITY_IPHONE
  401. shareParams["sina_cardSummary"] = summary;
  402. #endif
  403. }
  404. public void SetSinaCardImageAndroid(JsonData jsonobject) {
  405. shareParams["lc_image"] = jsonobject;
  406. }
  407. public void SetSinaCardTypeAndroid(string type) {
  408. shareParams["lc_object_type"] = type;
  409. }
  410. public void SetSinaCardDisplayNameAndroid(string displayname) {
  411. shareParams["lc_display_name"] = displayname;
  412. }
  413. public void SetSinaCardCreateAtAndroid(string createtime) {
  414. shareParams["lc_create_at"] = createtime;
  415. }
  416. public void SetSinaCardURLAndroid(string url) {
  417. shareParams["lc_url"] = url;
  418. }
  419. /// <summary>
  420. /// 抖音视频9.0及其以上版本系统需要传的activity
  421. /// <summary>
  422. #if UNITY_ANDROID
  423. public void SetActivity(AndroidJavaObject activity) {
  424. shareParams["activity"] = activity;
  425. }
  426. #endif
  427. /// <summary>
  428. /// 不同平台分享不同内容
  429. /// <summary>
  430. public void SetShareContentCustomize(PlatformType platform, ShareContent content) {
  431. customizeShareParams [(int)platform] = content.GetShareParamsStr();
  432. }
  433. public string GetShareParamsStr() {
  434. if (customizeShareParams.Count > 0) {
  435. shareParams["customizeShareParams"] = customizeShareParams;
  436. }
  437. String jsonStr = MiniJSON.jsonEncode (shareParams);
  438. return jsonStr;
  439. }
  440. public Hashtable GetShareParams() {
  441. if (customizeShareParams.Count > 0) {
  442. shareParams["customizeShareParams"] = customizeShareParams;
  443. }
  444. String jsonStr = MiniJSON.jsonEncode (shareParams);
  445. return shareParams;
  446. }
  447. }
  448. }