【问题标题】:How to get values passed from URL scheme after opening the Unity app?打开 Unity 应用程序后如何获取从 URL 方案传递的值?
【发布时间】:2019-06-24 14:30:37
【问题描述】:

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

在播放器设置中,有一个支持 URL 方案的选项可用于我们的目的。 我参考了一些链接。Link 1Link 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。

【问题讨论】:

  • 链接没有回答你的问题吗?
  • @shingo....我想要一个详细的解释...从链接2...我不把代码粘贴到哪里...只有问和回答的人知道...因为我还没有看到那个代码。他们是把它用作插件还是在其他一些文件中

标签: c# unity3d url-scheme


【解决方案1】:

是的,一个插件,第一个链接的教程我觉得够详细了。

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

第一个链接中提到了另一个选项,在 Assets/Plugins/iOS/ 文件夹中创建一个 mm 文件,包含 UnityAppController.h 然后添加 application里面有handleOpenURL函数。

如果你想知道如何将数据从 OC 传递到 C#,我有另一个帖子的 an answer

【讨论】:

  • 我将 UNityAppcontroller.mm 中的代码复制并粘贴到最后...但显示错误缺少方法声明的上下文。现在如何检索 URL 中传递的数据?
  • @shingo...任何想法使用 UnitySend 消息..?
  • 参数url 是传入的url。要使用UnitySendMessage,请参阅我在另一个问题中的回答,我在那里写了一个例子。
猜你喜欢
  • 1970-01-01
  • 1970-01-01
  • 2023-04-07
  • 1970-01-01
  • 2012-12-23
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
  • 1970-01-01
相关资源
最近更新 更多