Log in or register to post comments

Unity Vuforia plugin incompatibility with Prime[31] plugins

September 27, 2013 - 3:22am #1

Hi everyone.

I need to produce iOS and Android builds of the same app.
I use Prime31 plugins to share the photos made in the app on Facebook an Twitter.
The apps use Scaleform and QCAR.

The iOS build works: I was able to fix the conflict and the configuration errors.

On Android all is working fine: etcetera displays the messages, Scaleform is fine and QCAR is giving camera feed and AR tracking, BUT if I try to share a photo nothing happens and no errors are thrown (I'm monitoring it via Eclipse). I don't know if it's related to AndroidManifest.xml or something else.

AndroidManifest.xml merged by me (just let me know if I'm doing something wrong...):

<code class="xml"><span class="pi"><?xml version="1.0" encoding="utf-8"?></span>
<span class="tag"><<span class="title">manifest
</span>    <span class="attribute">xmlns:android</span>=<span class="value">"http://schemas.android.com/apk/res/android"</span>
    <span class="attribute">package</span>=<span class="value">"com.unity3d.player"</span>
      <span class="attribute">android:installLocation</span>=<span class="value">"preferExternal"</span>
      <span class="attribute">android:theme</span>=<span class="value">"@android:style/Theme.NoTitleBar"</span>
    <span class="attribute">android:versionCode</span>=<span class="value">"1"</span>
    <span class="attribute">android:versionName</span>=<span class="value">"1.0"</span>></span>
  <span class="tag"><<span class="title">supports-screens
</span>      <span class="attribute">android:smallScreens</span>=<span class="value">"true"</span>
      <span class="attribute">android:normalScreens</span>=<span class="value">"true"</span>
      <span class="attribute">android:largeScreens</span>=<span class="value">"true"</span>
      <span class="attribute">android:xlargeScreens</span>=<span class="value">"true"</span>
      <span class="attribute">android:anyDensity</span>=<span class="value">"true"</span>/></span>

  <span class="tag"><<span class="title">uses-sdk</span> <span class="attribute">android:minSdkVersion</span>=<span class="value">"8"</span> /></span>

  <span class="tag"><<span class="title">uses-feature</span> <span class="attribute">android:name</span>=<span class="value">"android.hardware.camera"</span> /></span>

  <span class="tag"><<span class="title">application</span> <span class="attribute">android:icon</span>=<span class="value">"@drawable/app_icon"</span>
       <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
       <span class="attribute">android:theme</span>=<span class="value">"@android:style/Theme.NoTitleBar.Fullscreen"</span>
       <span class="attribute">android:debuggable</span>=<span class="value">"true"</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.qualcomm.QCARUnityPlayer.QCARPlayerProxyActivity"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
      <span class="tag"><<span class="title">intent-filter</span>></span>
        <span class="tag"><<span class="title">action</span> <span class="attribute">android:name</span>=<span class="value">"android.intent.action.MAIN"</span> /></span>
        <span class="tag"><<span class="title">category</span> <span class="attribute">android:name</span>=<span class="value">"android.intent.category.LAUNCHER"</span> /></span>
      <span class="tag"></<span class="title">intent-filter</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.qualcomm.QCARUnityPlayer.QCARPlayerActivity"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.qualcomm.QCARUnityPlayer.QCARPlayerNativeActivity"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
      <span class="tag"><<span class="title">meta-data</span> <span class="attribute">android:name</span>=<span class="value">"android.app.lib_name"</span>
                 <span class="attribute">android:value</span>=<span class="value">"unity"</span> /></span>
      <span class="tag"><<span class="title">meta-data</span> <span class="attribute">android:name</span>=<span class="value">"unityplayer.ForwardNativeEventsToDalvik"</span>
                 <span class="attribute">android:value</span>=<span class="value">"false"</span> /></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.unity3d.player.VideoPlayer"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>

    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.UnityPlayerProxyActivity"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:launchMode</span>=<span class="value">"singleTask"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
      <span class="tag"><<span class="title">intent-filter</span>></span>
        <span class="tag"><<span class="title">action</span> <span class="attribute">android:name</span>=<span class="value">"android.intent.action.MAIN"</span> /></span>
        <span class="tag"><<span class="title">category</span> <span class="attribute">android:name</span>=<span class="value">"android.intent.category.LAUNCHER"</span> /></span>
      <span class="tag"></<span class="title">intent-filter</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.UnityPlayerActivity"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:launchMode</span>=<span class="value">"singleTask"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.UnityPlayerNativeActivity"</span>
              <span class="attribute">android:screenOrientation</span>=<span class="value">"landscape"</span>
              <span class="attribute">android:launchMode</span>=<span class="value">"singleTask"</span>
              <span class="attribute">android:label</span>=<span class="value">"@string/app_name"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen"</span>></span>
      <span class="tag"><<span class="title">meta-data</span> <span class="attribute">android:name</span>=<span class="value">"unityplayer.ForwardNativeEventsToDalvik"</span>
                 <span class="attribute">android:value</span>=<span class="value">"true"</span> /></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.EtceteraProxyActivity"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"orientation|screenLayout|screenSize|smallestScreenSize"</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.WebViewActivity"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"orientation"</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.P31VideoPlayerActivity"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"keyboard|keyboardHidden|orientation"</span>></span>
    <span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">receiver</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.AlarmManagerReceiver"</span>></span><span class="tag"></<span class="title">receiver</span>></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.flurry.android.FlurryFullscreenTakeoverActivity"</span>
              <span class="attribute">android:configChanges</span>=<span class="value">"keyboard|keyboardHidden|orientation|screenLayout|uiMode"</span>/></span>
    <span class="tag"><<span class="title">activity</span> <span class="attribute">android:name</span>=<span class="value">"com.facebook.LoginActivity"</span>></span><span class="tag"></<span class="title">activity</span>></span>
    <span class="tag"><<span class="title">meta-data</span> <span class="attribute">android:name</span>=<span class="value">"com.facebook.sdk.ApplicationId"</span>
               <span class="attribute">android:value</span>=<span class="value">"\ ***************"</span>/></span>
    <span class="tag"><<span class="title">meta-data</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.FlurryPlugin"</span>
               <span class="attribute">android:value</span>=<span class="value">"UnityPlayerActivityProxy"</span>/></span>
    <span class="tag"><<span class="title">meta-data</span> <span class="attribute">android:name</span>=<span class="value">"com.prime31.FacebookPlugin"</span>
               <span class="attribute">android:value</span>=<span class="value">"UnityPlayerActivityProxy"</span>/></span>
  <span class="tag"></<span class="title">application</span>></span>

  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.GET_TASKS"</span>/></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.INTERNET"</span>/></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.READ_PHONE_STATE"</span>/></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.WRITE_EXTERNAL_STORAGE"</span>/></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.WAKE_LOCK"</span> /></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.ACCESS_NETWORK_STATE"</span> /></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.ACCESS_WIFI_STATE"</span> /></span>
  <span class="tag"><<span class="title">uses-permission</span> <span class="attribute">android:name</span>=<span class="value">"android.permission.CAMERA"</span> /></span>

<span class="tag"></<span class="title">manifest</span>></span>
<span class="comment"><!-- android:installLocation="preferExternal" --></span></code>

Basically I've contacted the Prime[31] support and they said that there is no way to use both the plugins because

The way QCAR overrides the Activity it does not play nice with any other plugins.

Can you please let me understand if there is a way to fix this issue? This because the app I need to build is an update of something we already released more than 1 year ago and now the client asked us for some update. The Unity version has changed as well as the plugins and to let Apple approve that we had to integrate all the latest versions of the 3rd party technologies used.

Thank you very much for all the help you will provide.

Unity Vuforia plugin incompatibility with Prime[31] plugins

September 8, 2014 - 4:57am #6

is anybody able to resolve this issue ?

Unity Vuforia plugin incompatibility with Prime[31] plugins

September 30, 2013 - 2:47am #5

Basically as I said in my first post, we had this app made a year and a half ago in wich everything worked fine. Now I had to update  Scaleform, Vuforia and Prime[31] because of the stupid Apple policies of rejecting an app if there is something they don't like so I don't know what update caused the problem... probably is a combination of them that caused the issue but I'm not sure. Sorry.

But the funniest thing is that is the Android version to be busted because iOS works fine... so because of them I ruined the other OS build  :-D

Unity Vuforia plugin incompatibility with Prime[31] plugins

September 30, 2013 - 2:22am #4

Ok thanks :(

I'm trying to fix this also, if I find something I'll keep you posted too.. 

Was it a Prime31 plugin update or a Vuforia update that made your project stop working?

Unity Vuforia plugin incompatibility with Prime[31] plugins

September 30, 2013 - 2:19am #3

Unfortunately no.

To be honest I'm waiting a possible answer from the Vuforia developer to understand if there is a way to fix this.

However I'm thinking in rolling back the plugins versions for the Android build that seem to not have the same problem.

I'll let you know if I will be succesfull in something.

Unity Vuforia plugin incompatibility with Prime[31] plugins

September 30, 2013 - 12:29am #2

Hey Eugenio,

I think I have exactly the same problem.. Build working fine on iOS but no way to make it correcly work on android.. My android manifest is just fine too and no way to have share callback in the app working.

Did you find a solution to this issue? 

 

Log in or register to post comments