Unity3d与iOS交互开发—接入平台SDK必备技能

  • 时间:
  • 浏览:1
  • 来源:大发彩神app—大发彩神8苹果版

#if defined(__cplusplus)

char* _MakeStringCopy( const char* string)

[lsSDK SDKInit];

if ( nil != dict ) {

//调用SDK的初始化函数

//*****************************************************************************

//换成回调监听

}

mySDK = [[MyIOSSdk alloc]init];

//message tools

cfg.appKey =@"aoaoaoaoaoaoaoaoaoaoaoaoaaoaoaoaoaoaoao";

//**********************

}

//**********************

if (NULL == string) {

extern "C"{

//call back fun

#endif

else

}

{

-(NSString*)SDKGetUserID

NSString* _CreateNSString (const char* string)

@end

char* res = (char*)malloc(strlen(string)+1);

else

if(lsSDK==NULL)

{

#if defined(__cplusplus)

}

}

[[SDKPlatform defaultPlatform] SDKGetUserID];

}

cfg.orientation = UIDeviceOrientationLandscapeLeft;

{

SDKcfg *cfg = [[[SDKcfg alloc] init] autorelease];

void _PlatformInit()

if (string)

[[SDKPlatform defaultPlatform] SDKInit:cfg];

  有有些还要说明,否则 存放目录为\Assets\Plugins\iOS,没人Unity3d会自动将该目录下的所有文件(暂不支持子文件夹)当做插件文件打包到Xcode工程下的Libraries目录下,原先你就不还要在手动换成了,否则 会报错重复声明哪些的。

}

if ([param length] == 0)

[[SDKPlatform defaultPlatform] addObserver:self selector:@selector(SNSInitResult:) name:(NSString *)kInitNotification object:nil];

//字符串转化的工具函数

{

}

//**********************

  这里的const char* 会被C#自动转换成string否则 在m文件中使用了内存申请,该段内存自然是占据 堆内存中,原先转成string符合c#的内存管理机制,我们我们我们 歌词 不要再担心它的释放哪些的问題。

+ (void)sendU3dMessage:(NSString *)messageName param:(NSDictionary *)dict

NSString *param = @"";

return res;

}

{

strcpy(res, string);

if(mySDK==NULL)

}

{

lsSDK = [[MyIOSSdk alloc]init];

}

#endif

//供u3d调用的c函数

//初始化SDK

[MyIOSSdk sendU3dMessage:@"SDKMsgInit" param:nil];

const char* _PlatformGetUin()

return [NSString stringWithUTF8String: string];

- (void)SNSInitResult:(NSNotification *)notify

{

  這個在上方的 MyIOSSdk.m 文件中否则 有剧透了,要是 利用unity3d 的UnitySendMessage函数,其中参数1是场景中接受消息的对象,参数2是要执行的函数名,参数3为传入参数,要是按照如下步骤就都还要实现這個机制:

}

{

//SDK fun

param = [param stringByAppendingFormat:@"&%@=%@", key, [dict valueForKey:key]];

//*****************************************************************************

cfg.appid =123456;

return _MakeStringCopy([[lsSDK SDKGetUserID] UTF8String]);

UnitySendMessage("SDK_Object", [messageName UTF8String], [param UTF8String]);

-(void)SDKInit

{

//初始化更新回调

}

}

//获取用户ID

{

//注意這個函数是返回字符串

}

{

static MyIOSSdk *mySDK;

{

for (NSString *key in dict)

@implementation MyIOSSdk

param = [param stringByAppendingFormat:@"%@=%@", key, [dict valueForKey:key]];

return NULL;

}

{

return [NSString stringWithUTF8String: ""];