团结游戏截图在ios中的多个社交平台中共享

时间:2016-07-12 08:02:30

标签: ios facebook twitter unity3d share

我在Unity建立了我的第一个游戏,而且我几乎完成了它。我想在Facebook,Twitter,E-mail等多种社交平台上分享我的游戏截图。但是我无法做到这一点。我不想使用任何插件。

我想这样做

enter image description here

任何帮助都会有所帮助。

2 个答案:

答案 0 :(得分:1)

由于您在评论中提到可以选择插件选项,这是我正在使用的插件:https://github.com/ChrisMaire/unity-native-sharing

如果您从.unitypackage文件导入资产,请注意,请务必使用master中的最新版本替换Assets / Plugins / iOS /中的导入后文件。最新提交修复了iPad上的崩溃,但它尚未包含在.unitypackage中。

答案 1 :(得分:0)

非常简单。在您的C#代码中,为您的本机代码添加DllImport并创建一个简单的函数,该函数接收图像路径和文本消息。

然后在你的Assets / Plugins / iOS /中添加一个类,例如:" ShareHandler.mm"

在该类中,有一个可以调用的函数,它接受路径和文本。将路径转换为图像,如下所示:

NSString *imagePath = [NSString stringWithUTF8String:path];
UIImage *image = [UIImage imageWithContentsOfFile:imagePath];

在此处创建要发布的项目的NSArray:

NSArray *postItems = @[image, message];

然后添加:

 UIActivityViewController *activityVc = [[UIActivityViewController alloc]initWithActivityItems:postItems applicationActivities:nil];

if ( UI_USER_INTERFACE_IDIOM() == UIUserInterfaceIdiomPad && [activityVc respondsToSelector:@selector(popoverPresentationController)] ) {

    UIPopoverController *popup = [[UIPopoverController alloc] initWithContentViewController:activityVc];

    [popup presentPopoverFromRect:
        CGRectMake(self.view.frame.size.width/2, self.view.frame.size.height/4, 0, 0)
        inView:[UIApplication sharedApplication].keyWindow.rootViewController.view
        permittedArrowDirections:UIPopoverArrowDirectionAny animated:YES];
} else {
    [[UIApplication sharedApplication].keyWindow.rootViewController presentViewController:activityVc animated:YES completion:nil];
}

之后,从extern" C"中调用此函数。课程的一部分:

extern "C"{
void shareImageWithTextOnIOS(const char * path, const char * message){
    ImageShareForiOS *vc = [[ImageShareForiOS alloc] init];
    [vc shareMethod:path Message:message];
}

这对我来说很好。希望这会有所帮助。

请阅读有关如何创建Unity iOS插件的Unity iOS插件文档。非常有用! https://docs.unity3d.com/Manual/PluginsForIOS.html