Articles of unity3d

如何使用新更新的Google Play游戏玩家ID检索Google Play游戏ID?

我使用谷歌播放统一包为谷歌播放服务登录。 使用配置文件ID(在登录时生成)我已经确定了用户。但截至目前,更新的Google Play游戏会为同一个用户生成新的个人资料ID(以’g’开头)。我有办法使用更新的Google Play游戏玩家ID识别旧的个人资料ID。

在android 6.0.1中,检索相机照片不起作用

1-一些同事(使用android工作室的Android开发人员)在我的手机上测试他的应用程序时遇到了问题(这是与android 6.0.1的关系),他面临的问题是当他拿一个来自画廊的图像可以和他合作,但是当从相机拍摄照片时它没有显示,他怀疑他保存在手机上的图像没有得到保存,他怀疑这是一个许可问题,对他来说它有效在星系上而不是在nexus上。 2-同样的事情发生在我的团结中我买了一个以前在我的手机上工作正常的插件(当我拿相机照片时),现在我更新后它不再拍摄图片了,我的意思是我走了相机并返回应用程序,而不像以前那样加载到视图中。 这是logcat显示的内容 ——— beginning of main 02-07 16:36:10.272 203-813/? D/audio_hw_primary﹕ out_set_parameters: enter: usecase(1: low-latency-playback) kvpairs: routing=2 02-07 16:36:10.282 203-813/? D/audio_hw_primary﹕ select_devices: out_snd_device(2: speaker) in_snd_device(0: none) 02-07 16:36:10.282 203-813/? D/msm8974_platform﹕ platform_send_audio_calibration: sending audio calibration for snd_device(2) acdb_id(15) 02-07 16:36:10.282 203-813/? D/audio_hw_primary﹕ enable_snd_device: snd_device(2: speaker) 02-07 16:36:10.284 203-813/? D/audio_hw_primary﹕ enable_audio_route: apply and update mixer path: […]

实现Parse Unity插件的应用程序在Android设备上崩溃,但在编辑器中工作正常

我想在我的Unity游戏中使用Parse来实现高分。 我的问题是,当我尝试将游戏放在我的Android设备上进行测试时,应用程序的名称会有所不同。 它出现了“ParseUnityPushSample”,即使除了添加Parse让我使用它的文件之外我没有改变任何东西。 构建设置没有改变,它甚至显示我的包名称是相同的,但在设备上测试它有这个结果。 在Unity 5中测试它可以正常工作。 游戏按预期加载。 只有在我尝试将其放在设备上进行测试时才会发生这种情况。 随着它更改应用程序名称,它也会在打开时崩溃。 当我尝试在Android设备上打开它时,我得到一个提示,说“ParseUnityPushSample”失败了。 编辑: 好的,所以我find了一种方法来查看在设备上进行测试时发生的一些错误。 我收到此错误:“无法在清单中find统一活动。您需要确保将orientation属性设置为sensorLandscape手动.UnityEditor.BuildPlayerWindow:BuildPlayerAndRun()”我不知道问题是什么,因为我手动设置了Android Manifest中对sensorLandscape的活动方向。 15年8月10日 我已经了解到这可能是Parse v1.5.2的一个问题,尽管改为v1.3.2并没有帮助解决我面临的问题。 我会在得到更多信息后立即更新。 15年8月11日 更新到v1.5.4也没有解决问题。 仍然有Android清单的问题与相同的错误消息。 如果有人有任何想法,请告诉我!

Unity中的回调监听器 – 如何从Android中的UnityPlayerActivity调用脚本文件方法

我有一个android库项目,并在Unity项目中导入了库项目。 现在,我想在Unity项目中实现一个回调,它将根据android库项目给出的响应执行。 我的意思是说,来自UnityPlayerActivity(Android Project)的Call Script File方法。 目前我使用下面的代码行,但没有任何反应: UnityPlayer.UnitySendMessage(“Main Camera”,”showMessage”,errorMessage); Main Camera是我的游戏对象。 showMessage是脚本文件中的消息名称。 Message是将通过Android Activity在Unity中显示的消息。 请检查我的下面代码Unity Script File和Android Activity。 Unity脚本文件: using UnityEngine; using System.Collections; public class scriptfile : MonoBehaviour { // Use this for initialization void Start () { AndroidJavaClass jc = new AndroidJavaClass(“com.unity3d.player.UnityPlayer”); AndroidJavaObject jo = jc.GetStatic(“currentActivity”); jo.Call(“shareText”,”236″,”236″); } void showMessage(string message){ print (“hello”); Debug.Log […]

使用Jenkins构建Unity项目失败

我正在尝试在Mac OS Server上与Jenkins一起构建Unity项目。 但是当我尝试运行以下脚本时 /Applications/Unity/Unity.app/Contents/MacOS/Unity -quit -batchmode ${PROJECT_PATH} -executeMethod BuildScript.DevelopmentBuild 该脚本显示了这一点, _RegisterApplication(),FAILED建立与WindowServer的默认连接,_CGSDefaultConnection()为NULL。 有谁知道如何解决这个问题?

Unity3D和Android Studio集成

有人知道将Android与Unity Studio集成吗? (我会解释) 我在Unity(OSX Maverics上的4.3.x)中创建了一个简单的场景进行测试。 有一个3D对象,没有别的。 我在这里使用Stackoverflow解释在XCode中执行此操作,并在此处发布我的完整代码( 触摸UIButton并在UIView或UIViewController上显示Unity )以显示它非常简单。 但是现在,我需要在Android Studio上做同样的事情(我安装了它,我可以将项目从Unity导出到Android) 我唯一知道的是,AndroidManifest.xml和文件位于“res / layout /(something).xml”文件中,这些文件是您在创建项目时第一个(读取)和(显示)屏幕上的布局Android Studio。 当您从Unity打开生成的项目时,您拥有的唯一XML就是AndroidManifest。 所以我迷路了。 由于第三方网站( http://www.rbcafe.com/Softwares/Unity/Documentation/Manual/android-GettingStarted.html )的文档仅提及Unity Eclipse和项目中不存在的JAVA文件,因此我更失落。 在Objective-C中,您创建somethingDelegate.mm和.h并插入“一行代码”并准备就绪。 在Android中似乎并不像这篇官方文档那么简单( http://docs.unity3d.com/Manual/PluginsForAndroid.html )。 有人已经在Android Studio中做过这个并且可以帮助我吗? 提前致谢。 ** 编辑赏金: ** 需要创建3个视图: 1 – 带2个按钮的主视图; 2 – 一个按钮转到第二个视图; 3 – 其他按钮进入Unity View; 必须有一个简单的方法在Android上做这个,因为工作室制作了上面的链接。

如何从Unity应用程序启动Android活动?

我知道这似乎是一个微不足道的问题,但我无法在互联网上的任何地方find任何具体的答案。 我在stackoverflow上看到了这个非常相似的问题: 如何从android活动启动Unity应用程序? 但它与我的问题完全相反。 此外,android活动必须能够从Unity应用程序接收一些输入字符串,就像使用system()调用行参数以在PC上启动另一个程序一样。 以下是我在Android上测试Unity应用程序的测试按钮事件处理程序的代码: private void ExternalAppCallHandler() { if(Application.platform == RuntimePlatform.WindowsEditor) { Process.Start(@”C:\Program Files (x86)\Notepad++\notepad++.exe”); } else if(Application.platform == RuntimePlatform.Android) { Process.Start(“Internet”); } } 当我使用Unity Editor进行测试时,当我单击测试按钮时,应用程序会成功打开Notepad ++。exe。 但是,当我尝试在我的三星Galaxy S2设备上打开“Internet”应用程序时,它失败了。 有谁知道为什么会这样? 使用Process.Start打开另一个Android应用程序的正确字符串应该是什么?

该应用与您的所有设备不兼容

在发布此问题之前,我已经阅读了所有相关问题。 我用Unity3D开发了一款游戏并上传到Google Play。 昨天它可用于所有设备,有来自其他用户的评论。 今天我有几个关于Google Play上应用程序不可用的报告。 它可以在GP的Web版本上使用,但是对于任何设备都不兼容,并且在GP上的移动版本中根本不可用。 在开发者控制台中,所有设备都兼容: 并且在Web版本上它们不是(以前的所有版本都已从设备中删除): 我的清单文件: 那么,问题是为什么它昨天可用并且今天不可用 ? 我没有上传新版本,没有改变任何东西。 该应用程序是完全免费的,其大小约为8.5 MB。

获取有效的JNIEnv指针

我有一个C ++ DLL,我想通过将函数导出到C#来在Unity中使用。 Unity项目在Android设备上运行,C ++代码使用java。 要初始化C ++,我需要先调用以下函数: void api_initialize(JNIEnv* env, jobject* app_context, jobject* class_loader) { JavaVM* vm = nullptr; env->GetJavaVM(&vm); if (!vm) { return; } //Do other proprietary things } 在Unity中,我有以下导出的Dll函数 [DllImport (dllName)] private static extern void api_initialize (IntPtr java_env, IntPtr app_context, IntPtr class_loader); 我的问题是如何在我的C#类中获取JNIEnv指针然后作为parameter passing给此函数? 我不是这个API的创建者,也没有修改它的权限,所以我需要从JNIEnv获取JavaVM,而不是相反。

什么是Android Bundle版本和版本代码以及它们如何相关?

a)Android软件包版本和版本代码表示什么? b)捆绑版本和版本代码之间有什么区别? i)假设我的捆绑版本为0.137 ,版本代码与此有何关系? 版本代码可以是137吗? ii)当我下次发布捆绑版本1.0时会发生什么? 我可以调用版本代码10吗? c) 它们如何相关? 对捆绑版本进行编号的正确方法是什么? NB在搜索中似乎没有一个来源可以解释这种差异。 到目前为止,我一直非常偶然地编写我的捆绑包,但我想知道如何做到这一点。 这些名称似乎特定于Unity ,但我不确定我是否理解参数甚至是从该页面的内容…