| 123456789101112131415161718192021222324252627282930313233343536373839404142434445464748495051525354555657585960616263646566676869707172737475767778798081828384858687888990919293949596979899100101102103104105106107108109110111112113114115116117118119120121122123124125126127128129130131132133134135136137138139140141142143144145146147148149150151152153154155156157158159160161162163164165166167168169170171172173174175176177178179180181182183184185186187188189190191192193194195196197198199200201202203204205206207208209210211212213214215216217218219220221222223224225226227228229230231232233234235236237238239240 | 
							- using System;
 
- using UnityEngine;
 
- using System.Collections;
 
- using System.Collections.Generic;
 
- using System.Runtime.InteropServices;
 
- namespace cn.sharesdk.unity3d {
 
- #if UNITY_IPHONE || UNITY_IOS
 
- 	public class iOSImpl : ShareSDKImpl {
 
- 		private string _callbackObjectName = "Main Camera";
 
- 		private string _appKey;
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKRegisterAppAndSetPltformsConfig(string appKey, string configInfo);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKAuthorize(int reqID, int platType, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKCancelAuthorize(int platType);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern bool __iosShareSDKHasAuthorized(int platType);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKGetUserInfo(int reqID, int platType, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShare(int reqID, int platType, string content, string observer);
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShareWithActivity(int reqID, int platType, string content, string observer);
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKOneKeyShare(int reqID, string platTypes, string content, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShowShareMenu(int reqID, string platTypes, string content, int x, int y, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShowShareView(int reqID, int platType, string content, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKGetFriendsList(int reqID, int platType,int count, int page, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKFollowFriend(int reqID, int platform,string account, string observer);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern string __iosShareSDKGetCredential(int platType);
 
- 		
 
- 		[DllImport("__Internal")]
 
- 		private static extern bool __iosShareSDKIsClientInstalled(int platType);
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShareWithContentName(int reqID, int platform, string contentName, string customFields, string observer);
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShowShareMenuWithContentName(int reqID, string contentName, string customFields, string platTypes, int x, int y, string observer);
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShowShareViewWithContentName(int reqID, int platform, string contentName, string customFields, string observer);
 
- 		[DllImport("__Internal")]
 
- 		private static extern bool __iosShareSDKOpenMiniProgram(String userName, String path, int miniProgramType);
 
-         [DllImport("__Internal")]
 
-         private static extern bool __iosShareSDKWXRequestSendTokenToGetUser(String uid, String token);
 
-         [DllImport("__Internal")]
 
-         private static extern bool __iosShareSDKWXRequestToken(String observer);
 
-         [DllImport("__Internal")]
 
-         private static extern bool __iosShareSDKWXRefreshSendTokenToGetUser(String token);
 
-         [DllImport("__Internal")]
 
-         private static extern bool __iosShareSDKWXRefreshRequestToken(String observer);
 
- 		[DllImport("__Internal")]
 
- 		private static extern void __iosShareSDKShareWithCommand(string customFields, string observer);
 
- 		public iOSImpl(GameObject go) {
 
- 			try {
 
- 				_callbackObjectName = go.name;
 
- 			} catch(Exception e) {
 
- 				Console.WriteLine("{0} Exception caught.", e);
 
- 			}
 
- 		}
 
- 		public override void InitSDK(string appKey) {
 
- 			_appKey = appKey;
 
- 		}
 
- 		public override void InitSDK(string appKey, string secret) {
 
- 			_appKey = appKey;
 
- 		}
 
- 		public override void PrepareLoopShare() {
 
- 			throw new NotImplementedException();
 
- 		}
 
- 		public override void setChannelId() {
 
- 			throw new NotImplementedException();
 
- 		}
 
- 		public override void SetPlatformConfig(Hashtable configs) {
 
- 			String json = MiniJSON.jsonEncode(configs);
 
- 			if(Application.platform == RuntimePlatform.IPhonePlayer)
 
- 			{
 
- 				__iosShareSDKRegisterAppAndSetPltformsConfig(_appKey, json);
 
- 			}
 
- 		}
 
- 		public override void Authorize(int reqId, PlatformType platform) {
 
- 			__iosShareSDKAuthorize(reqId, (int)platform, _callbackObjectName);
 
- 		}
 
- 		public override void CancelAuthorize(PlatformType platform) {
 
- 			__iosShareSDKCancelAuthorize((int)platform);
 
- 		}
 
- 		public override bool IsAuthorized(PlatformType platform) {
 
- 			return __iosShareSDKHasAuthorized((int)platform);
 
- 		}
 
- 		public override bool IsClientValid(PlatformType platform) {
 
- 			return __iosShareSDKIsClientInstalled((int)platform);
 
- 		}
 
- 		public override void GetUserInfo(int reqId, PlatformType platform) {
 
- 			__iosShareSDKGetUserInfo(reqId, (int)platform, _callbackObjectName);
 
- 		}
 
- 		public override void ShareContent(int reqId, PlatformType platform, ShareContent content) {
 
- 			__iosShareSDKShare(reqId, (int)platform, content.GetShareParamsStr(), _callbackObjectName);
 
- 		}
 
- 		public override void ShareContent(int reqId, PlatformType[] platforms, ShareContent content) {
 
- 			string platTypesStr = null;
 
- 			if (platforms != null) {
 
- 				List<int> platTypesArr = new List<int>();
 
- 				foreach (PlatformType type in platforms) {
 
- 					platTypesArr.Add((int)type);
 
- 				}
 
- 				platTypesStr = MiniJSON.jsonEncode(platTypesArr.ToArray());
 
- 			}
 
- 			__iosShareSDKOneKeyShare(reqId, platTypesStr, content.GetShareParamsStr(), _callbackObjectName);
 
- 		}
 
- 		public override void ShowPlatformList(int reqId, PlatformType[] platforms, ShareContent content, int x, int y) {
 
- 			string platTypesStr = null;
 
- 			if (platforms != null) {
 
- 				List<int> platTypesArr = new List<int>();
 
- 				foreach (PlatformType type in platforms) {
 
- 					platTypesArr.Add((int)type);
 
- 				}
 
- 				platTypesStr = MiniJSON.jsonEncode(platTypesArr.ToArray());
 
- 			}
 
- 			__iosShareSDKShowShareMenu(reqId, platTypesStr, content.GetShareParamsStr(), x, y, _callbackObjectName);
 
- 		}
 
- 		public override void ShowShareContentEditor(int reqId, PlatformType platform, ShareContent content) {
 
- 			__iosShareSDKShowShareView(reqId, (int)platform, content.GetShareParamsStr(), _callbackObjectName);
 
- 		}
 
- 		public override void ShareWithContentName(int reqId, PlatformType platform, string contentName, Hashtable customFields) {
 
- 			String customFieldsStr = MiniJSON.jsonEncode(customFields);
 
- 			__iosShareSDKShareWithContentName(reqId, (int)platform, contentName, customFieldsStr,  _callbackObjectName);
 
- 		}
 
- 		public override void ShowPlatformListWithContentName(int reqId, string contentName, Hashtable customFields, PlatformType[] platforms, int x, int y) {
 
- 			String customFieldsStr = MiniJSON.jsonEncode(customFields);
 
- 			string platTypesStr = null;
 
- 			if (platforms != null) {
 
- 				List<int> platTypesArr = new List<int>();
 
- 				foreach (PlatformType type in platforms) {
 
- 					platTypesArr.Add((int)type);
 
- 				}
 
- 				platTypesStr = MiniJSON.jsonEncode(platTypesArr.ToArray());
 
- 			}
 
- 			__iosShareSDKShowShareMenuWithContentName(reqId, contentName, customFieldsStr, platTypesStr, x, y, _callbackObjectName);
 
- 		}
 
- 		public override void ShowShareContentEditorWithContentName(int reqId, PlatformType platform, string contentName, Hashtable customFields) {
 
- 			String customFieldsStr = MiniJSON.jsonEncode(customFields);
 
- 			__iosShareSDKShowShareViewWithContentName(reqId, (int)platform, contentName, customFieldsStr, _callbackObjectName);
 
- 		}
 
- 		public override void GetFriendList(int reqID, PlatformType platform, int count, int page) {
 
- 			__iosShareSDKGetFriendsList(reqID, (int)platform, count, page, _callbackObjectName);
 
- 		}
 
- 		public override void AddFriend(int reqID, PlatformType platform, string account) {
 
- 			__iosShareSDKFollowFriend(reqID, (int)platform, account, _callbackObjectName);
 
- 		}
 
- 		public override Hashtable GetAuthInfo(PlatformType platform) {
 
- 			string credStr = __iosShareSDKGetCredential((int)platform);
 
- 			return (Hashtable)MiniJSON.jsonDecode(credStr);
 
- 		}
 
- 		public override void DisableSSO(bool disable) {
 
- 			Console.WriteLine ("#waring : no this interface on iOS");
 
- 		}
 
- 		public override bool openMiniProgram(string userName, string path, int miniProgramType) {
 
- 			return __iosShareSDKOpenMiniProgram(userName, path, miniProgramType);
 
- 		}
 
- 		public override void getWXRequestToken() {
 
-             __iosShareSDKWXRequestToken(_callbackObjectName);
 
- 		}
 
- 		public override void getWXRefreshToken() {
 
-             __iosShareSDKWXRefreshRequestToken(_callbackObjectName);
 
- 		}
 
- 		public override void sendWXRefreshToken(string token) {
 
-             __iosShareSDKWXRefreshSendTokenToGetUser(token);
 
- 		}
 
- 		public override void sendWXRequestToken(string uid, string token) {
 
-             __iosShareSDKWXRequestSendTokenToGetUser(uid, token);
 
- 		}
 
- 		public override void shareSDKWithCommand(Hashtable content) {
 
- 			String customFieldsStr = MiniJSON.jsonEncode(content);
 
- 			__iosShareSDKShareWithCommand(customFieldsStr, _callbackObjectName);
 
- 		}
 
- 		
 
- 		public override void ShareContentWithActivity(int reqID, PlatformType platform, ShareContent content) {
 
- 			__iosShareSDKShareWithActivity(reqID, (int)platform, content.GetShareParamsStr(), _callbackObjectName);
 
- 		}
 
- 	}
 
- #endif
 
- }
 
 
  |