如何从移动浏览器启动Unity3d应用程序?

时间:2014-03-23 22:49:37

标签: javascript android ios mobile unity3d

我们有一个电子学习平台,可以启动HTML5或javascript游戏和活动。这些通过JSON中的Web服务调用回传到电子学习平台(调用由javascript函数包装)。

我们希望整合Unity3d游戏和活动,但不清楚它们如何在Android或iOS环境中启动。我们知道可以使用Unity3d webplayer插件在标准Web浏览器中启动它们。他们还可以与页面进行通信,这对我们来说非常方便 - 类似于javascript元素。

在Android手机或iPad上怎么样?我们的应用程序在这些设备上的移动浏览器中运行我不知道有一个可用于移动浏览器的Unity3d插件。我也不知道从网页启动应用程序的任何方法。有没有办法从移动浏览器启动Unity3d应用程序?

欢迎任何建议。

2 个答案:

答案 0 :(得分:6)

对于Android,此链接将启动您的应用(或打开市场以建议安装您的应用):

<a href="intent://something#Intent;scheme=myunityapp;package=com.company.appname;end;">Go to Unity</a>

您之前必须为您的项目设置AndroidManifest.xml文件,您可以通过几个步骤构建它:

  1. 在构建应用程序之前,在播放器设置中指定唯一的分发包标识符;

  2. 构建你的apk一次(假设你之前设置了你的Android开发环境);

  3. 在Unity中创建一个文件夹:Assets/Plugins/Android;

  4. AndroidManifest.xml文件从Your Project/Temp/StagingArea/Android复制到新的Android文件夹中。

  5. 在编辑器中打开AndroidManifest.xml文件,找到<intent-filter>标记,然后再添加一个<intent-filter>

  6. <intent-filter>
    <action android:name="android.intent.action.VIEW" />
    <category android:name="android.intent.category.DEFAULT"/>
    <category android:name="android.intent.category.BROWSABLE" />
    <data android:scheme="myunityapp" android:host="something" />
    </intent-filter>
    
    1. 再次构建应用,上传到您的设备并安装;

    2. 使用上面的链接制作示例HTML页面以启动您的应用。

    3. N.B。代码示例假设您的捆绑标识符为com.company.appname,方案为myunityapp,操作为something

答案 1 :(得分:2)

你认为Unity3d没有移动播放器是正确的。

我不知道如何为Android做这件事但是对于iOS,您可以构建Unity项目,然后打开它创建的xCode项目并添加自定义URL Scheme。这个tutorial解释了如何执行此操作。

毕竟,您可以在浏览器页面中创建一个使用您创建的URL模式的链接。

 <a href="myunityapp://something">Go to Unity</a>

请注意,您需要具有唯一的URL架构,否则Safari可以打开其他具有相同架构的应用程序。