Demo.cs 33 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240241242243244245246247248249250251252253254255256257258259260261262263264265266267268269270271272273274275276277278279280281282283284285286287288289290291292293294295296297298299300301302303304305306307308309310311312313314315316317318319320321322323324325326327328329330331332333334335336337338339340341342343344345346347348349350351352353354355356357358359360361362363364365366367368369370371372373374375376377378379380381382383384385386387388389390391392393394395396397398399400401402403404405406407408409410411412413414415416417418419420421422423424425426427428429430431432433434435436437438439440441442443444445446447448449450451452453454455456457458459460461462463464465466467468469470471472473474475476477478479480481482483484485486487488489490491492493494495496497498499500501502503504505506507508509510511512513514515516517518519520521522523524525526527528529530531532533534535536537538539540541542543544545546547548549550551552553554555556557558559560561562563564565566567568569570571572573574575576577578579580581582583584585586587588589590591592593594595596597598599600601602603604605606607608609610611612613614615616617618619620621622623624625626627628629630631632633634635636637638639640641642643644645646647648649650651652653654655656657658659660661662663664665666667668669670671672673674675676677678679680681682683684685686687688689690691692693694695696697698699700701702703704705706707708709710711712713714715716717718719720721722723724725726727728729730731732733734735736737738739740741742743744745746747748749750751752753754755756757758759760761762763764765766767768769770771772773774775776777778779780781782783784785786787788789790791792793794795796797798799800
  1. using UnityEngine;
  2. using System;
  3. using System.Collections;
  4. using System.Collections.Generic;
  5. using cn.sharesdk.unity3d;
  6. using LitJson;
  7. public class Demo : MonoBehaviour {
  8. public GUISkin demoSkin;
  9. public ShareSDK ssdk;
  10. public MobSDK mobsdk;
  11. // Use this for initialization
  12. void Start ()
  13. {
  14. ssdk = gameObject.GetComponent<ShareSDK>();
  15. ssdk.authHandler = OnAuthResultHandler;
  16. ssdk.shareHandler = OnShareResultHandler;
  17. ssdk.showUserHandler = OnGetUserInfoResultHandler;
  18. ssdk.getFriendsHandler = OnGetFriendsResultHandler;
  19. ssdk.followFriendHandler = OnFollowFriendResultHandler;
  20. ssdk.clientValidForAndroidHandler = onIsClientValidForAndroid;
  21. mobsdk = gameObject.GetComponent<MobSDK>();
  22. #if UNITY_ANDROID
  23. //ShareSDKRestoreScene.setRestoreSceneListener(OnRestoreScene);
  24. #elif UNITY_IPHONE
  25. mobsdk.getPolicy = OnFollowGetPolicy;
  26. ssdk.wxRequestHandler = GetWXRequestTokenResultHandler;
  27. //ShareSDKRestoreScene.setRestoreSceneListener(OnRestoreScene);
  28. #endif
  29. }
  30. // Update is called once per frame
  31. void Update ()
  32. {
  33. if (Input.GetKeyDown(KeyCode.Escape)) {
  34. Application.Quit();
  35. }
  36. }
  37. void OnGUI ()
  38. {
  39. GUI.skin = demoSkin;
  40. float scale = 1.0f;
  41. if (Application.platform == RuntimePlatform.IPhonePlayer)
  42. {
  43. scale = Screen.width / 320;
  44. }
  45. //float btnWidth = 165 * scale;
  46. float btnWidth= Screen.width / 5 * 2;
  47. float btnWidth2 = btnWidth + 80 * scale;
  48. float btnHeight = Screen.height / 25;
  49. float btnTop = 30 * scale;
  50. float btnGap = 20 * scale;
  51. GUI.skin.button.fontSize = Convert.ToInt32(13 * scale);
  52. if (GUI.Button(new Rect((Screen.width - btnGap) / 2 - btnWidth, btnTop, btnWidth, btnHeight), "Authorize"))
  53. {
  54. print(ssdk == null);
  55. #if UNITY_ANDROID
  56. ssdk.Authorize(PlatformType.SinaWeibo);
  57. #elif UNITY_IPHONE
  58. ssdk.Authorize(PlatformType.Twitter);
  59. #endif
  60. }
  61. if (GUI.Button(new Rect((Screen.width - btnGap) / 2 + btnGap, btnTop, btnWidth, btnHeight), "Get User Info"))
  62. {
  63. //ssdk.GetUserInfo(PlatformType.Douyin);
  64. //print("share result :" + ssdk.GetUserInfo(PlatformType.WeChat));
  65. print("share result :" + ssdk.Authorize(PlatformType.WeChat));
  66. //print("share result : " + ssdk.GetUserInfo(PlatformType.GooglePlus));
  67. }
  68. btnTop += btnHeight + 20 * scale;
  69. if (GUI.Button(new Rect((Screen.width - btnGap) / 2 - btnWidth, btnTop, btnWidth, btnHeight), "Show Share Menu"))
  70. {
  71. ShareContent content = new ShareContent();
  72. // //(Android only) 隐藏九宫格里面不需要用到的平台(仅仅是不显示平台)
  73. // //(Android only) 也可以把jar包删除或者把Enabl属性e改成false(对应平台的全部功能将用不了)
  74. String[] platfsList = {((int)PlatformType.Facebook).ToString(), ((int)PlatformType.TencentWeibo).ToString()};
  75. content.SetHidePlatforms (platfsList);
  76. content.SetText("this is a test string.");
  77. content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  78. content.SetUrl("https://www.mob.com");
  79. content.SetTitle("test title");
  80. content.SetDouyin_shareActionMode(1);
  81. //(Android only) 针对Android绕过审核的多图分享,传图片String数组
  82. //String[] imageArray = {"/sdcard/test.jpg", "http://f1.webshare.mob.com/dimgs/1c950a7b02087bf41bc56f07f7d3572c11dfcf36.jpg", "/sdcard/test.jpg"};
  83. //content.SetImageArray (imageArray);
  84. //content.SetTitleUrl("https://www.baidu.com/");
  85. //content.SetSite("Test site params test test");
  86. //content.SetSiteUrl("https://www.baidu.com/");
  87. //content.SetUrl("https://www.baidu.com/");
  88. //content.SetComment("test description");
  89. //content.SetMusicUrl("http://i.y.qq.com/v8/playsong.html?hostuin=0&songid=&songmid=002x5Jje3eUkXT&_wv=1&source=qq&appshare=iphone&media_mid=002x5Jje3eUkXT");
  90. content.SetShareType(ContentType.Image);
  91. //不同平台分享不同内容
  92. //ShareContent customizeShareParams = new ShareContent();
  93. //customizeShareParams.SetText("Sina share content");
  94. //customizeShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  95. //customizeShareParams.SetShareType(ContentType.Text);
  96. //customizeShareParams.SetObjectID("SinaID");
  97. //content.SetShareContentCustomize(PlatformType.SinaWeibo, customizeShareParams);
  98. //KakaoTalk原生只支持分享链接
  99. ShareContent kakaoTalkCustomizeShareParams = new ShareContent();
  100. kakaoTalkCustomizeShareParams.SetUrl("http://www.mob.com");
  101. kakaoTalkCustomizeShareParams.SetShareType(ContentType.Webpage);
  102. kakaoTalkCustomizeShareParams.SetTemplateId("11820");
  103. content.SetShareContentCustomize(PlatformType.KakaoTalk, kakaoTalkCustomizeShareParams);
  104. //KakaoStory分享图片
  105. ShareContent kakaoStoryCustomizeShareParams = new ShareContent();
  106. kakaoStoryCustomizeShareParams.SetText("");
  107. kakaoStoryCustomizeShareParams.SetTitle("http://www.mob.com");
  108. kakaoStoryCustomizeShareParams.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  109. kakaoStoryCustomizeShareParams.SetUrl("");
  110. kakaoStoryCustomizeShareParams.SetPermission("0");
  111. kakaoStoryCustomizeShareParams.SetEnableShare(true);
  112. Hashtable androidExecParams = new Hashtable();
  113. androidExecParams["andParam1"] = "value1";
  114. androidExecParams["andParam2"] = "value2";
  115. kakaoStoryCustomizeShareParams.SetAndroidExecParam(androidExecParams);
  116. Hashtable iOSExecParams = new Hashtable();
  117. iOSExecParams["iosParam1"] = "value1";
  118. iOSExecParams["iosParam2"] = "value2";
  119. kakaoStoryCustomizeShareParams.SetIphoneExecParam(iOSExecParams);
  120. kakaoStoryCustomizeShareParams.SetShareType(ContentType.Image);
  121. content.SetShareContentCustomize(PlatformType.KakaoStory, kakaoStoryCustomizeShareParams);
  122. //TikTok分享多图
  123. String[] imageArray = { "http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg", "http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg" };
  124. ShareContent tiktokCustomizeShareParams = new ShareContent();
  125. tiktokCustomizeShareParams.SetImageArray(imageArray);
  126. tiktokCustomizeShareParams.SetShareType(ContentType.Image);
  127. content.SetShareContentCustomize(PlatformType.TikTok, tiktokCustomizeShareParams);
  128. #if UNITY_IPHONE
  129. //SnapChat分享图片
  130. ShareContent snapChatShareParams = new ShareContent();
  131. snapChatShareParams.SetTitle("https://www.mobtech.com");
  132. snapChatShareParams.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  133. snapChatShareParams.setSnapStickerImage("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  134. snapChatShareParams.setSnapStickerAnimated(0);
  135. snapChatShareParams.setSnapStickerRotation(0);
  136. snapChatShareParams.SetShareType(ContentType.Image);
  137. content.SetShareContentCustomize(PlatformType.SnapChat, snapChatShareParams);
  138. //快手SDK-分享私信
  139. ShareContent ksShareParams = new ShareContent();
  140. ksShareParams.SetTitle("title");
  141. ksShareParams.SetDesc("desc");
  142. ksShareParams.SetLinkURL("https://www.mob.com");
  143. ksShareParams.SetThumbImageUrl("http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
  144. ksShareParams.SetExtraInfo("message");
  145. ksShareParams.SetShareType(ContentType.Message);
  146. content.SetShareContentCustomize(PlatformType.KuaiShou, ksShareParams);
  147. #endif
  148. //抖音-分享系统视频
  149. //ShareContent dyShareParams = new ShareContent();
  150. //dyShareParams.SetAssetLocalIdsArray(); //此处应传入从相册取得的图片或者视频文件的Assetlocalidentifier集合
  151. //dyShareParams.SetDouyinHashtag("hastag");
  152. //Hashtable extraInfo = new Hashtable();
  153. //extraInfo["iosParam1"] = "value1";
  154. //extraInfo["iosParam2"] = "value2";
  155. //dyShareParams.SetDouyin_extraInfo(extraInfo);
  156. //dyShareParams.SetShareType(ContentType.Video);
  157. //content.SetShareContentCustomize(PlatformType.Douyin, dyShareParams);
  158. //Facebook分享图片
  159. ShareContent fbShareParams = new ShareContent();
  160. fbShareParams.SetText("text");
  161. fbShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  162. fbShareParams.setFacebookShareType(FacebookShareType.Native);
  163. fbShareParams.SetShareType(ContentType.Image);
  164. content.SetShareContentCustomize(PlatformType.Facebook, fbShareParams);
  165. //FacebookMessenger分享图片
  166. ShareContent messShareParams = new ShareContent();
  167. messShareParams.SetTitle("title");
  168. messShareParams.SetUrl("http://www.mob.com");
  169. messShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  170. messShareParams.SetShareType(ContentType.Image);
  171. content.SetShareContentCustomize(PlatformType.FacebookMessenger, messShareParams);
  172. //Instagram分享图片
  173. ShareContent insShareParams = new ShareContent();
  174. insShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  175. insShareParams.SetMenuX(0);
  176. insShareParams.SetMenuY(0);
  177. content.SetShareContentCustomize(PlatformType.Instagram, insShareParams);
  178. //LinkedIn分享链接
  179. ShareContent linkedInShareParams = new ShareContent();
  180. linkedInShareParams.SetTitle("title");
  181. linkedInShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  182. linkedInShareParams.SetUrl("http://www.mob.com");
  183. linkedInShareParams.SetTitle("title");
  184. linkedInShareParams.SetDesc("desc");
  185. linkedInShareParams.SetShareType(ContentType.Webpage);
  186. content.SetShareContentCustomize(PlatformType.LinkedIn, linkedInShareParams);
  187. //Instapaper分享链接
  188. ShareContent instapapaerShareParams = new ShareContent();
  189. instapapaerShareParams.SetTitle("title");
  190. instapapaerShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  191. instapapaerShareParams.SetUrl("http://www.mob.com");
  192. instapapaerShareParams.SetTitle("title");
  193. instapapaerShareParams.SetShareType(ContentType.Webpage);
  194. content.SetShareContentCustomize(PlatformType.Instapaper, instapapaerShareParams);
  195. //Pocket分享链接
  196. ShareContent pocketShareParams = new ShareContent();
  197. pocketShareParams.SetTitle("title");
  198. pocketShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  199. pocketShareParams.SetUrl("http://www.mob.com");
  200. pocketShareParams.SetTitle("title");
  201. pocketShareParams.SetShareType(ContentType.Webpage);
  202. content.SetShareContentCustomize(PlatformType.Pocket, pocketShareParams);
  203. //有道分享图片
  204. ShareContent youdaoShareParams = new ShareContent();
  205. youdaoShareParams.SetText("text");
  206. youdaoShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  207. youdaoShareParams.SetTitle("title");
  208. youdaoShareParams.SetSource("MOB");
  209. youdaoShareParams.SetAuthor("mob");
  210. content.SetShareContentCustomize(PlatformType.YouDaoNote, youdaoShareParams);
  211. #if UNITY_IPHONE
  212. //Dropbox分享图片
  213. ShareContent dropboxShareParams = new ShareContent();
  214. //dropboxShareParams.SetAttachmentPath("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  215. var files = System.IO.Directory.GetFiles(Application.dataPath, "cat.mp4", System.IO.SearchOption.AllDirectories);
  216. string filePath = files[0];
  217. dropboxShareParams.SetAttachmentPath(filePath);
  218. content.SetShareContentCustomize(PlatformType.Dropbox, dropboxShareParams);
  219. #endif
  220. //明道分享链接
  221. ShareContent mingdaoShareParams = new ShareContent();
  222. mingdaoShareParams.SetTitle("title");
  223. mingdaoShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  224. mingdaoShareParams.SetUrl("http://www.mob.com");
  225. mingdaoShareParams.SetTitle("title");
  226. mingdaoShareParams.SetShareType(ContentType.Webpage);
  227. content.SetShareContentCustomize(PlatformType.MingDao, mingdaoShareParams);
  228. //绿洲分享图片
  229. ShareContent oasisShareParams = new ShareContent();
  230. oasisShareParams.SetTitle("title");
  231. oasisShareParams.SetText("text");
  232. oasisShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  233. oasisShareParams.SetShareType(ContentType.Image);
  234. content.SetShareContentCustomize(PlatformType.Oasis, oasisShareParams);
  235. //telegram分享图片
  236. ShareContent telegramShareParams = new ShareContent();
  237. telegramShareParams.SetText("text");
  238. telegramShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  239. telegramShareParams.SetShareType(ContentType.Image);
  240. content.SetShareContentCustomize(PlatformType.Telegram, telegramShareParams);
  241. ////Tumblr分享视频
  242. //ShareContent tumblrShareParams = new ShareContent();
  243. //var files = System.IO.Directory.GetFiles(Application.dataPath, "cat.mp4", System.IO.SearchOption.AllDirectories);
  244. //string filePath = files[0];
  245. //tumblrShareParams.SetTitle("title");
  246. //tumblrShareParams.SetMediaDataPath(filePath);
  247. //tumblrShareParams.SetShareType(ContentType.Video);
  248. //content.SetShareContentCustomize(PlatformType.Tumblr, tumblrShareParams);
  249. //优先客户端分享
  250. content.SetEnableClientShare(true);
  251. //使用微博API接口应用内分享 iOS only
  252. //content.SetEnableSinaWeiboAPIShare(true);
  253. //通过分享菜单分享
  254. ssdk.ShowPlatformList (null, content, 100, 100);
  255. }
  256. if (GUI.Button(new Rect((Screen.width - btnGap) / 2 + btnGap, btnTop, btnWidth, btnHeight), "Show Share View"))
  257. {
  258. ShareContent content = new ShareContent();
  259. content.SetText("this is a test string.");
  260. content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  261. content.SetTitle("test title");
  262. content.SetTitleUrl("http://www.mob.com");
  263. content.SetSite("Mob-ShareSDK");
  264. content.SetSiteUrl("http://www.mob.com");
  265. content.SetUrl("http://www.mob.com");
  266. content.SetComment("test description");
  267. content.SetMusicUrl("http://mp3.mwap8.com/destdir/Music/2009/20090601/ZuiXuanMinZuFeng20090601119.mp3");
  268. content.SetShareType(ContentType.Image);
  269. ssdk.ShowShareContentEditor (PlatformType.SinaWeibo, content);
  270. }
  271. #if UNITY_ANDROID
  272. #elif UNITY_IPHONE
  273. btnTop += btnHeight + 20 * scale;
  274. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "Share With Activity"))
  275. {
  276. //系统分享示例
  277. ShareContent content = new ShareContent();
  278. content.SetText("this is a test string.");
  279. content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  280. content.SetTitle("test title");
  281. content.SetTitleUrl("http://www.mob.com");
  282. content.SetUrl("http://www.mob.com");
  283. content.SetShareType(ContentType.Image);
  284. ssdk.ShareContentWithActivity (PlatformType.WeChat, content);
  285. }
  286. #endif
  287. btnTop += btnHeight + 20 * scale;
  288. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "Share Content"))
  289. {
  290. //抖音-分享本地视频
  291. ShareContent content = new ShareContent();
  292. //var files = System.IO.Directory.GetFiles(Application.dataPath, "cat.mp4", System.IO.SearchOption.AllDirectories);
  293. //string filePath = files[0];
  294. //content.SetUrl(filePath);
  295. //分享图片到IM
  296. content.SetImageUrl("http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg");
  297. content.SetShareType(ContentType.Image);
  298. content.SetDouyin_shareActionMode(1);
  299. ssdk.ShareContent(PlatformType.Douyin, content);
  300. /*iOS Only*/
  301. ////※单个平台的分享示例如下※:
  302. ////调用公用参数构造方法的,通过如下方式,如TikTok分享多图
  303. //String[] imageArray = { "http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg", "http://ww3.sinaimg.cn/mw690/be159dedgw1evgxdt9h3fj218g0xctod.jpg" };
  304. //content.SetImageArray(imageArray);
  305. //content.SetShareType(ContentType.Image);
  306. //ssdk.ShareContent(PlatformType.TikTok, content);
  307. ////调用自定义的参数构造方法的,需要通过如下方式,如:KakaoTalk
  308. //ShareContent customizeShareParams = new ShareContent();
  309. //customizeShareParams.SetUrl("http://www.mob.com");
  310. //customizeShareParams.SetShareType(ContentType.Webpage);
  311. //customizeShareParams.SetTemplateId("11820");
  312. //content.SetShareContentCustomize(PlatformType.KakaoTalk, customizeShareParams);
  313. //ssdk.ShareContent(PlatformType.KakaoTalk, content);
  314. ////快手SDK-分享私信
  315. //ShareContent ksShareParams = new ShareContent();
  316. //ksShareParams.SetTitle("title");
  317. //ksShareParams.SetDesc("desc");
  318. //ksShareParams.SetLinkURL("https://www.mob.com");
  319. //ksShareParams.SetThumbImageUrl("http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
  320. //ksShareParams.SetExtraInfo("message");
  321. //ksShareParams.SetShareType(ContentType.Message);
  322. //content.SetShareContentCustomize(PlatformType.KuaiShou, ksShareParams);
  323. //ssdk.ShareContent(PlatformType.KuaiShou, content);
  324. ////reddit分享链接
  325. //ShareContent redditShareParams = new ShareContent();
  326. //redditShareParams.SetText("text");
  327. //redditShareParams.SetImageUrl("http://git.oschina.net/alexyu.yxj/MyTmpFiles/raw/master/kmk_pic_fld/small/107.JPG");
  328. //redditShareParams.SetUrl("https://www.mob.com");
  329. //redditShareParams.SetTitle("title");
  330. //redditShareParams.SetShareType(ContentType.Webpage);
  331. //content.SetShareContentCustomize(PlatformType.Reddit, redditShareParams);
  332. // ShareContent content = new ShareContent();
  333. // content.SetText("Test text");
  334. // content.SetImageUrl("http://pic28.photophoto.cn/20130818/0020033143720852_b.jpg");
  335. // ssdk.ShareContent (PlatformType.Twitter, content);
  336. }
  337. //if (GUI.Button(new Rect((Screen.width - btnGap) / 2 + btnGap, btnTop, btnWidth, btnHeight), "Get Friends SinaWeibo "))
  338. //{
  339. //获取新浪微博好友,第一页,每页15条数据
  340. //print ("Click Btn Of Get Friends SinaWeibo");
  341. // ssdk.GetFriendList (PlatformType.SinaWeibo, 15, 0);
  342. //ssdk.openMiniProgram("gh_afb25ac019c9","pages/index/index",0);
  343. //}
  344. btnTop += btnHeight + 20 * scale;
  345. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "Get Token "))
  346. {
  347. Hashtable authInfo = ssdk.GetAuthInfo (PlatformType.WeChat);
  348. print ("share result :");
  349. print (MiniJSON.jsonEncode(authInfo));
  350. }
  351. //if (GUI.Button(new Rect((Screen.width - btnGap) / 2 + btnGap , btnTop, btnWidth, btnHeight), "Close SSO Auth"))
  352. //{
  353. //ssdk.DisableSSO (true);
  354. //}
  355. btnTop += btnHeight + 20 * scale;
  356. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "Remove Authorize "))
  357. {
  358. ssdk.CancelAuthorize (PlatformType.WeChat);
  359. }
  360. //if (GUI.Button(new Rect((Screen.width - btnGap) / 2 + btnGap, btnTop, btnWidth, btnHeight), "Add Friend "))
  361. //{
  362. //关注新浪微博
  363. //ssdk.AddFriend (PlatformType.SinaWeibo, "3189087725");
  364. //}
  365. btnTop += btnHeight + 20 * scale;
  366. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "ShareWithContentName(iOS only)"))
  367. {
  368. Hashtable customFields = new Hashtable ();
  369. customFields["imgUrl"] = "http://ww1.sinaimg.cn/mw690/006dJESWgw1f6iyb8bzraj31kw0v67a2.jpg";
  370. //根据配置文件分享【本接口功能仅暂时支持iOS】
  371. ssdk.ShareWithContentName(PlatformType.SinaWeibo, "ShareSDK", customFields);
  372. }
  373. //btnTop += btnHeight + 20 * scale;
  374. //if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "ShowShareMenuWithContentName(iOS only)"))
  375. //{
  376. // Hashtable customFields = new Hashtable ();
  377. // customFields["imgUrl"] = "http://ww1.sinaimg.cn/mw690/006dJESWgw1f6iyb8bzraj31kw0v67a2.jpg";
  378. // //根据配置文件展示分享菜单分享【本接口功能仅暂时支持iOS】
  379. // ssdk.ShowPlatformListWithContentName ("ShareSDK", customFields, null, 100, 100);
  380. //}
  381. btnTop += btnHeight + 20 * scale;
  382. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "ShowShareViewWithContentName(iOS only)"))
  383. {
  384. Hashtable customFields = new Hashtable ();
  385. //根据配置文件展示编辑界面分享【本接口功能仅暂时支持iOS】
  386. customFields["imgUrl"] = "http://ww1.sinaimg.cn/mw690/006dJESWgw1f6iyb8bzraj31kw0v67a2.jpg";
  387. ssdk.ShowShareContentEditorWithContentName(PlatformType.SinaWeibo, "ShareSDK", customFields);
  388. }
  389. btnTop += btnHeight + 20 * scale;
  390. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "SMS Authorize(Android only)"))
  391. {
  392. ssdk.Authorize(PlatformType.SMS);
  393. }
  394. btnTop += btnHeight + 20 * scale;
  395. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "submitPolicyGrantResult"))
  396. {
  397. Debug.Log("ssdk ======> " + ssdk);
  398. Debug.Log("mobsdk ======> " + mobsdk);
  399. mobsdk.submitPolicyGrantResult(true);
  400. Debug.Log("mobsdk submitPolicyGrantResult======> " + mobsdk.submitPolicyGrantResult(true).ToString());
  401. }
  402. btnTop += btnHeight + 20 * scale;
  403. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "getPrivacyPolicy"))
  404. {
  405. Debug.Log("ssdk ======> " + ssdk);
  406. Debug.Log("mobsdk ======> " + mobsdk);
  407. #if UNITY_IPHONE
  408. mobsdk.getPrivacyPolicy(true,mobsdk.getDeviceCurrentLanguage());
  409. #elif UNITY_ANDROID
  410. mobsdk.getPrivacyPolicy(true, "en");
  411. Debug.Log("mobsdk getPrivacyPolicy======> " + mobsdk.getPrivacyPolicy(true, "en"));
  412. #endif
  413. }
  414. btnTop += btnHeight + 20 * scale;
  415. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "Open wxMiniProgram(iOS only)"))
  416. {
  417. #if UNITY_IPHONE
  418. ssdk.openMiniProgram("gh_afb25ac019c9", "pages/index/index", 0);
  419. #elif UNITY_ANDROID
  420. #endif
  421. }
  422. btnTop += btnHeight + 20 * scale;
  423. if (GUI.Button(new Rect((Screen.width - btnGap) / 2 - btnWidth, btnTop, btnWidth, btnHeight), "Share wxMiniProgram"))
  424. {
  425. #if UNITY_IPHONE
  426. ShareContent content = new ShareContent ();
  427. content.SetTitle ("MiniProgram");
  428. content.SetText ("test MiniProgram");
  429. content.SetUrl("http://www.mob.com");
  430. content.SetMiniProgramPath ("pages/index/index");
  431. content.SetThumbImageUrl ("http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
  432. content.SetMiniProgramHdThumbImage ("http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
  433. content.SetMiniProgramUserName ("gh_afb25ac019c9");
  434. content.SetMiniProgramWithShareTicket (true);
  435. // iOS/Android 微信小程序的版本(0-正式,1-开发,2-体验)
  436. content.SetMiniProgramType (0);
  437. content.SetShareType (ContentType.MiniProgram);
  438. ShareContent shareContent = new ShareContent ();
  439. shareContent.SetShareContentCustomize (PlatformType.WeChat, content);
  440. ssdk.ShareContent (PlatformType.WeChat, shareContent);
  441. #elif UNITY_ANDROID
  442. ShareContent content = new ShareContent ();
  443. content.SetTitle ("MiniProgram");
  444. content.SetText ("test MiniProgram");
  445. content.SetUrl("http://www.mob.com");
  446. content.SetMiniProgramType (0);
  447. content.SetMiniProgramUserName ("gh_52568203455c");
  448. content.SetImageUrl("http://pic28.photophoto.cn/20130818/0020033143720852_b.jpg");
  449. content.SetShareType (ContentType.MiniProgram);
  450. ShareContent shareContent = new ShareContent ();
  451. shareContent.SetShareContentCustomize (PlatformType.WeChat, content);
  452. ssdk.ShareContent (PlatformType.WeChat, shareContent);
  453. #endif
  454. }
  455. btnTop += btnHeight + 20 * scale;
  456. if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "isClientValidForAndroid -QQ"))
  457. {
  458. ssdk.isClientValidForAndroid(PlatformType.QQ);
  459. }
  460. btnTop += btnHeight + 20 * scale;
  461. if (GUI.Button(new Rect((Screen.width - btnGap) / 2 + btnGap, btnTop, btnWidth, btnHeight), "Share qqMiniProgram(iOS only)"))
  462. {
  463. #if UNITY_IPHONE
  464. ShareContent content = new ShareContent();
  465. content.SetTitle("MiniProgram");
  466. content.SetText("test MiniProgram");
  467. content.SetUrl("http://www.mob.com");
  468. content.SetThumbImageUrl("http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
  469. content.SetMiniProgramPath("pages/index/index");
  470. content.SetMiniProgramHdThumbImage("http://download.sdk.mob.com/web/images/2019/07/30/14/1564468183056/750_750_65.12.png");
  471. content.SetMiniProgramAppID("1109762672");
  472. content.SetMiniProgramWebpageUrl("www.qq.com");
  473. //iOS/Android QQ小程序的类型,默认正式版(3),可选测试版(1)、预览版(4)
  474. content.SetMiniProgramType(3);
  475. content.SetShareType(ContentType.MiniProgram);
  476. ShareContent shareContent = new ShareContent();
  477. shareContent.SetShareContentCustomize(PlatformType.QQ, content);
  478. ssdk.ShareContent(PlatformType.QQ, shareContent);
  479. #elif UNITY_ANDROID
  480. //===============================================================
  481. //when you test QQ miniprogram, you should use this params
  482. //At the same time, the package name and signature should
  483. //correspond to the package name signature of the specific
  484. //QQ sharing small program applied in the background of tencent
  485. //===============================================================
  486. //ShareContent content = new ShareContent();
  487. //content.SetTitle("MiniProgram");
  488. //content.SetText("test MiniProgram");
  489. //content.SetTitleUrl("http://www.mob.com");
  490. //content.SetImageUrl("http://www.3wyu.com/wp-content/uploads/6e0eaf15gy1fvr5tnm2dfj20f108gtad.jpg");//必须为网络图片
  491. //content.SetShareType(ContentType.QQ_MINI_PROGRAM);
  492. //content.SetMiniProgramAppID("1108318575");
  493. //content.SetMiniProgramPath("page/share/index.html?share_name=QQ%E9%9F%B3%E4%B9%90&share_key=5aIqFGg&from=disk");
  494. //content.SetQQMiniProgramType("");
  495. //ShareContent shareContent = new ShareContent();
  496. //shareContent.SetShareContentCustomize(PlatformType.QQ, content);
  497. //ssdk.ShareContent(PlatformType.QQ, shareContent);
  498. #endif
  499. }
  500. //btnTop += btnHeight + 20 * scale;
  501. //if (GUI.Button(new Rect((Screen.width - btnWidth2) / 2, btnTop, btnWidth2, btnHeight), "Share Sina LinkCard"))
  502. //{
  503. //#if UNITY_IPHONE
  504. //ShareContent content = new ShareContent();
  505. //content.SetText("sina LinkCard");
  506. //content.SetUrl("http://www.mob.com");
  507. //content.SetImageUrl("http://www.mob.com/assets/images/ShareSDK_pic_1-09d293a6.png");//必须为网络图片
  508. //content.SetSinaLinkCard(true);
  509. //content.SetSinaCardTitle("这是Title");
  510. //content.SetSinaCardSummary("这是Summary");
  511. //content.SetShareType(ContentType.Webpage);
  512. //ShareContent shareContent = new ShareContent();
  513. //shareContent.SetShareContentCustomize(PlatformType.SinaWeibo, content);
  514. //ssdk.ShareContent(PlatformType.SinaWeibo, shareContent);
  515. //#elif UNITY_ANDROID
  516. //JsonData jsonData = new JsonData();
  517. //jsonData["url"] = "http://wx4.sinaimg.cn/large/006WfoFPly1fq0jo9svnaj30dw0dwdhv.jpg";
  518. //jsonData["width"] = "120";
  519. //jsonData["height"] = "120";
  520. //ShareContent content = new ShareContent();
  521. //content.SetText("sina LinkCard");
  522. //content.SetSinaCardCreateAtAndroid("2019-01-24");
  523. //content.SetSinaCardDisplayNameAndroid("displayName");
  524. //content.SetSinaCardSummary("Summary");
  525. //content.SetSinaCardURLAndroid("http://www.mob.com/");
  526. //content.SetSinaCardTypeAndroid("webpage");
  527. //content.SetSinaCardImageAndroid(jsonData);
  528. //content.SetEnableClientShare(true);
  529. //ShareContent shareContent = new ShareContent();
  530. //shareContent.SetShareContentCustomize(PlatformType.SinaWeibo, content);
  531. //ssdk.ShareContent(PlatformType.SinaWeibo, shareContent);
  532. //#endif
  533. //}
  534. }
  535. void OnAuthResultHandler(int reqID, ResponseState state, PlatformType type, Hashtable result)
  536. {
  537. if (state == ResponseState.Success)
  538. {
  539. if (result != null && result.Count > 0) {
  540. print ("authorize success !" + "Platform :" + type + "result:" + MiniJSON.jsonEncode(result));
  541. } else {
  542. print ("authorize success !" + "Platform :" + type);
  543. }
  544. }
  545. else if (state == ResponseState.Fail)
  546. {
  547. #if UNITY_ANDROID
  548. print ("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
  549. #elif UNITY_IPHONE
  550. print ("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]);
  551. #endif
  552. }
  553. else if (state == ResponseState.Cancel)
  554. {
  555. print ("cancel !");
  556. }
  557. }
  558. void OnGetUserInfoResultHandler (int reqID, ResponseState state, PlatformType type, Hashtable result)
  559. {
  560. if (state == ResponseState.Success)
  561. {
  562. print ("get user info result :");
  563. print (MiniJSON.jsonEncode(result));
  564. print ("AuthInfo:" + MiniJSON.jsonEncode (ssdk.GetAuthInfo (type)));
  565. print ("Get userInfo success !Platform :" + type );
  566. }
  567. else if (state == ResponseState.Fail)
  568. {
  569. #if UNITY_ANDROID
  570. print ("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
  571. #elif UNITY_IPHONE
  572. print ("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]);
  573. #endif
  574. }
  575. else if (state == ResponseState.Cancel)
  576. {
  577. print ("cancel !");
  578. }
  579. }
  580. void OnShareResultHandler (int reqID, ResponseState state, PlatformType type, Hashtable result)
  581. {
  582. if (state == ResponseState.Success)
  583. {
  584. print ("share successfully - share result :");
  585. print (MiniJSON.jsonEncode(result));
  586. }
  587. else if (state == ResponseState.Fail)
  588. {
  589. #if UNITY_ANDROID
  590. print ("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
  591. #elif UNITY_IPHONE
  592. print ("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]);
  593. #endif
  594. }
  595. else if (state == ResponseState.Cancel)
  596. {
  597. print ("cancel !");
  598. }
  599. }
  600. void OnGetFriendsResultHandler (int reqID, ResponseState state, PlatformType type, Hashtable result)
  601. {
  602. if (state == ResponseState.Success)
  603. {
  604. print ("get friend list result :");
  605. print (MiniJSON.jsonEncode(result));
  606. }
  607. else if (state == ResponseState.Fail)
  608. {
  609. #if UNITY_ANDROID
  610. print ("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
  611. #elif UNITY_IPHONE
  612. print ("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]);
  613. #endif
  614. }
  615. else if (state == ResponseState.Cancel)
  616. {
  617. print ("cancel !");
  618. }
  619. }
  620. void OnFollowFriendResultHandler (int reqID, ResponseState state, PlatformType type, Hashtable result)
  621. {
  622. if (state == ResponseState.Success)
  623. {
  624. print ("Follow friend successfully !");
  625. }
  626. else if (state == ResponseState.Fail)
  627. {
  628. #if UNITY_ANDROID
  629. print ("fail! throwable stack = " + result["stack"] + "; error msg = " + result["msg"]);
  630. #elif UNITY_IPHONE
  631. print ("fail! error code = " + result["error_code"] + "; error msg = " + result["error_msg"]);
  632. #endif
  633. }
  634. else if (state == ResponseState.Cancel)
  635. {
  636. print ("cancel !");
  637. }
  638. }
  639. void onIsClientValidForAndroid (int reqID, ResponseState state, PlatformType type, Hashtable result)
  640. {
  641. if (state == ResponseState.Success)
  642. {
  643. print ("IsClientValidForAndroid successfully !");
  644. print ("IsClientValidForAndroid:" + MiniJSON.jsonEncode (MiniJSON.jsonEncode(result)));
  645. }
  646. else if (state == ResponseState.Fail)
  647. {
  648. print ("IsClientValidForAndroid Fail !");
  649. }
  650. else if (state == ResponseState.Cancel)
  651. {
  652. print ("cancel !");
  653. }
  654. }
  655. public static void OnRestoreScene(RestoreSceneInfo scene)
  656. {
  657. Hashtable customParams = scene.customParams;
  658. if (customParams != null)
  659. {
  660. Debug.Log("[sharesdk-unity-Demo]OnRestoreScen(). path:" + scene.path.ToString() + ", params:" + scene.customParams.toJson());
  661. }
  662. else
  663. {
  664. Debug.Log("[sharesdk-unity-Demo]OnRestoreScen(). path:" + scene.path.ToString() + ", params:null");
  665. }
  666. //根据scene开发者自己处理场景转换
  667. //SceneManager.LoadScene("SceneA");
  668. }
  669. #if UNITY_IPHONE
  670. public static void GetWXRequestTokenResultHandler(String authcode, sendWXRequestToken send)
  671. {
  672. Debug.Log("[GetWXRequestTokenResultHandler:" + authcode);
  673. send("11", "22");
  674. }
  675. public static void GetWXRefreshTokenResultHandler(String uid, sendWXRefreshToken send)
  676. {
  677. send("11");
  678. }
  679. #endif
  680. //隐私协议回调
  681. public static void OnFollowGetPolicy(string url)
  682. {
  683. Debug.Log("[OnFollowGetPolicy:" + url);
  684. }
  685. }