QDShareManager.cs 4.3 KB

123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124
  1. using System.Collections;
  2. using cn.sharesdk.unity3d;
  3. using GFGGame.Launcher;
  4. using UnityEngine;
  5. namespace GFGGame
  6. {
  7. public class QDShareManager : SingletonBase<QDShareManager>
  8. {
  9. public void Init()
  10. {
  11. QDShareManagerInit.Instance.shareSDKListener = new ShareSDKListener();
  12. }
  13. //回传用户隐私授权结果
  14. /// <summary>
  15. /// 构造分享信息 SetShareType
  16. /// </summary>
  17. /// <param name="text">分享的文字</param>
  18. /// <param name="imageUrl">iOS平台,本地以及网络图片都使用此方法</param>
  19. /// <param name="imageUrlArr">分享一组图片</param>
  20. /// <param name="title">分享的标题</param>
  21. /// <param name="titleUrl">标题的网络链接(QQ和QQ空间使用 )</param>
  22. /// <param name="site"></param>
  23. /// <param name="siteUrl"></param>
  24. /// <param name="url">分享的链接(微信,微博,易信,Facebook等平台)</param>
  25. /// <param name="comment"></param>
  26. /// <param name="musicUrl"></param>
  27. /// <param name="shareType">分享类型(微信,易信) ContentType</param>
  28. /// <returns></returns>
  29. public ShareContent NewStructureShareContent(string text, string imageUrl, string[] imageUrlArr, string title,
  30. string titleUrl,
  31. string site,
  32. string siteUrl,
  33. string url,
  34. string comment,
  35. string musicUrl, int shareType)
  36. {
  37. ShareContent content = new ShareContent();
  38. content.SetText(text);
  39. content.SetImageUrl(imageUrl);
  40. content.SetImageArray(imageUrlArr);
  41. content.SetTitle(title);
  42. content.SetTitleUrl(titleUrl);
  43. content.SetSite(site);
  44. content.SetSiteUrl(siteUrl);
  45. content.SetUrl(url);
  46. content.SetComment(comment);
  47. content.SetMusicUrl(musicUrl);
  48. content.SetShareType(shareType);
  49. return content;
  50. }
  51. /// <summary>
  52. /// 回传用户隐私授权结果给sdk
  53. /// </summary>
  54. /// <param name="granted"></param>
  55. public void SubmitPolicyGrantResult(bool granted = true)
  56. {
  57. QDShareManagerInit.Instance.mobsdk.submitPolicyGrantResult(granted);
  58. }
  59. //通过分享菜单分享
  60. public int ShowPlatformList(PlatformType[] platforms, ShareContent shareContent)
  61. {
  62. return QDShareManagerInit.Instance.shareSDK.ShowPlatformList(platforms, shareContent, 100, 100);
  63. }
  64. //直接通过编辑界面分享
  65. public int ShowShareContentEditor(PlatformType platformType, ShareContent shareContent)
  66. {
  67. return QDShareManagerInit.Instance.shareSDK.ShowShareContentEditor(platformType, shareContent);
  68. }
  69. //直接分享
  70. public int ShareContent(PlatformType platformType, ShareContent shareContent)
  71. {
  72. return QDShareManagerInit.Instance.shareSDK.ShareContent(platformType, shareContent);
  73. }
  74. }
  75. public class ShareSDKListener : IShareSDKListener
  76. {
  77. public void OnAuthResult(int reqID, ResponseState state, PlatformType type, Hashtable result)
  78. {
  79. Debug.Log($"OnAuthResult");
  80. }
  81. public void OnGetUserInfoResult(int reqID, ResponseState state, PlatformType type,
  82. Hashtable result)
  83. {
  84. Debug.Log($"OnGetUserInfoResult");
  85. }
  86. public void OnShareResult(int reqID, ResponseState state, PlatformType type, Hashtable result)
  87. {
  88. if (state == ResponseState.Success)
  89. {
  90. ShareRecordSProxy.ReqShareRecord().Coroutine();
  91. }
  92. Debug.Log($"OnShareResult state:" + state);
  93. }
  94. public void OnGetFriendsResult(int reqID, ResponseState state, PlatformType type,
  95. Hashtable result)
  96. {
  97. Debug.Log($"OnGetFriendsResult");
  98. }
  99. public void OnFollowFriendResult(int reqID, ResponseState state, PlatformType type,
  100. Hashtable result)
  101. {
  102. Debug.Log($"OnFollowFriendResult");
  103. }
  104. public void OnIsClientValidForAndroidResult(int reqID, ResponseState state, PlatformType type,
  105. Hashtable result)
  106. {
  107. Debug.Log($"OnFollowFriendResult");
  108. }
  109. }
  110. }