打开Unity应用后如何从URL方案获取值?

时间:2019-01-31 07:26:23

标签: c# unity3d url-scheme

虽然我读到我尚未在Unity中实现此功能的搜索,但可能会在Unity的未来版本中实现。在ipad的Safari中打开该链接时,我得到了一个链接(coar://mylink.com/id=12345)打开了我的Unity应用。如何从Unity中的此链接获取ID值12345。我们是否需要插件?还有其他替代方法吗?

在播放器设置中,有一个支持URL方案的选项,可用于我们的目的。 我引用了一些链接。Link 1 Link 2。在第二个链接中放置代码的位置。任何分步说明都将有所帮助。

我遇到的另一个代码是

-(BOOL) application:(nonnull UIApplication *)application openURL:(nonnull NSURL *)url options:(nonnull NSDictionary<NSString *,id> *)options {


if([url.absoluteString rangeOfString:@"mygame://text="].location != NSNotFound){
   [[NSUserDefaults standardUserDefaults] setObject:url.absoluteString forKey:@"myurl"];
   [[NSUserDefaults standardUserDefaults] synchronize];
    }
 }

从上面我了解到,数据是存储在“ myurl”键中的playerprefs中的。但是,确切地将代码粘贴到什么地方?毫无头绪。如何使用C#代码检索myurl。

1 个答案:

答案 0 :(得分:1)

是的,一个插件,我认为第一个链接中的教程已经足够详细了。

对于第二个链接,首先构建您的项目,然后统一将生成一个Xcode项目。在 Classes 文件夹中找到 UnityAppController.mm ,然后在文件末尾添加函数。

第一个链接中提到了另一个选项,在您的 Assets / Plugins / iOS / 文件夹中创建一个mm文件,包括 UnityAppController.h ,然后添加应用程序其中的handleOpenURL 函数。

如果您想知道如何将数据从OC传递到C#,我在另一篇文章中有an answer