Search Unity

Prime31 Unity Plugins Officially Live! [CLOSED]

Discussion in 'iOS and tvOS' started by prime31, Aug 27, 2010.

Thread Status:
Not open for further replies.
  1. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @teophilik, are you using the demo scene when testing? If so please include the full log output of both sessions. I cannot reproduce that and can't even find a code path in the login method that could end up with that log.
     
  2. teophilik

    teophilik

    Joined:
    Feb 13, 2013
    Posts:
    11
    @prime31 Yes, I am running it in the demo scene. Here is what is displayed in the console when I run the app.
    First time when I launch de app and obtain permission to publish
    I pressed Initialize Facebook, Login, Reauthorize with Publish Permission and Post Image
    $Screenshot_2014-04-25-09-06-10.png
    I reopened the app and I pressed Initialize Facebook, Login and Post Image
    $Screenshot_2014-04-25-09-21-15.png

    Now, if I click on Reauthorize with Publish Permission button the app crashes
     
  3. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @teo, please include the full backtrace at the time of the crash. I cannot reproduce on any of our test devices ranging from the iPad 2 on up to the iPhone 5S running iOS 5 - 7.
     
  4. pretender

    pretender

    Joined:
    Mar 6, 2010
    Posts:
    865
    Hi Prime31! I am using several of your plugins and few of your free goodies :) StateKit and RecyclerKit. Very good stuff.
    The question is about great RecylerKit that I hope you will answer!

    I have TrashMan.cs on GO in init scene, then later in other level scenes I dynamically add objects (recycle bins) to TrashMan recycle bin lists. I want to do it that way since I want to change what objects will be available in different levels. But often there are situation where I am adding already existing prefab in the list. Currently I get LogError which I change to LogWarning and I am not sure if this is safe or proper way of doing things. Is there a way to check if prefab is already in the bin list and if so to skip adding it?

    Also I am adding bins like this:

    Code (csharp):
    1. TrashManRecycleBin recycleBin = new TrashManRecycleBin();
    2. recycleBin.prefab = se.prefab;
    3. recycleBin.instancesToPreallocate = 10;
    4. TrashMan.manageRecycleBin(recycleBin);
    Is this the proper way of doing it?
     
  5. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @pretender, that is the correct way to add a new bin dynamically. There is currently no specific way to see if a bin already exists but I can see how that could be useful for situations like yours.
     
  6. pretender

    pretender

    Joined:
    Mar 6, 2010
    Posts:
    865
    Can i turn debug.loerror into warning since there will be attempts to add existing bin?
     
  7. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @pretender, you can do whatever you want. It's an open source library! You can even remove the log completely.
     
  8. ___Petr___

    ___Petr___

    Joined:
    Jun 4, 2013
    Posts:
    40
    We bought StoreKit plugin for Mac.
    Now we need to obfuscate our app.
    We want to send our test app with this plugin to authors of obfuscation software for some tests.
    Does this violate something?
    Can we send our app with StoreKit plugin?
     
  9. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @petr, that should be no problem at all.
     
  10. AtomicChimp

    AtomicChimp

    Joined:
    Aug 9, 2011
    Posts:
    47
    @prime, Could you tell me if your Flurry plugin for iOS uses the IDFA (Identifier for Advertisers) anywhere? I am getting a notice from Apple upon attempting to upload an IPA to iTunesConnect today that my app is using the IDFA. I do not use the IDFA anywhere in my app and am not utilizing Flurry for ads.
     
  11. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @atomic, I can't speak for closed source Flurry's SDK but I can say we do not access the IDFA in any of our code ever. You will need to contact Flurry directly to see what their IDFA usage is.
     
  12. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @yuri, 1. It is configurable whether the banner is shown or not. 2. The sandbox servers quite often do wacky things. There is not much you can do about it besides filing bug reports with Apple.
     
  13. yuriythebest

    yuriythebest

    Joined:
    Nov 21, 2009
    Posts:
    1,125
    Hi! Sorry I deleted the message since I discovered those things as well and didn't want to cause much off a fuss. for posterity here was the question:

    1. to display the "got achievement" notification = GameCenterPlatform.ShowDefaultAchievementCompletionBanner(true);
    2. the leaderboards were updated like a day later in the sandbox servers for mac
     
    Last edited: Apr 30, 2014
  14. MikeCoderMore

    MikeCoderMore

    Joined:
    Sep 22, 2013
    Posts:
    61
    hi.
    in the Facebook plugging if i call Facebook.instance.getFriends( completionHandler );

    in the completionHandler function how do i get the result ids into a list

    Thanks.
     
  15. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @mocho, the result is a list. Just cast the object returned to IList:

     
  16. MikeCoderMore

    MikeCoderMore

    Joined:
    Sep 22, 2013
    Posts:
    61
    iv never worked with IList's before so don't really understand that, could you please demonstrate. if i have a list like... List<string> friendListIDs;

    how do i get the id's in that

    Facebook.instance.getFriends( ( error, friends ) =>
    {
    if( error != null )
    {
    Debug.LogError( "error fetching friends: " + error );
    return;
    }

    Debug.Log( friends );

    // put ids in list
    });



    thanks for your time i appreciate any help.
     
  17. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @mocho, when using the getFriends method directly (as opposed to using the graphRequest method) you already get back a FacebookFriendsResult object with all the data parsed.
     
  18. MikeCoderMore

    MikeCoderMore

    Joined:
    Sep 22, 2013
    Posts:
    61
    got it! thanks again man your always there with a quick reply its an awesome service
     
  19. SEMfpetrin

    SEMfpetrin

    Joined:
    Mar 19, 2013
    Posts:
    4
    Hello!

    We're using Prime31's Google Play Services for Android and started getting an error when trying to unlock achievements. The callback unlockAchievementFailed is giving us "Network or unknown error: 5". Everything seems to be okay from our networking perspective. Could you list a few reasons why we would be getting this error?

    Thanks much.
     
  20. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @SEM, I'm afraid Google's docs are a bit light on details. The only thing they provide is that error message. You can try shooting an email over to them directly to get more of an explanation what error 5 is but there SDK and docs don't provide any details.
     
  21. SEMfpetrin

    SEMfpetrin

    Joined:
    Mar 19, 2013
    Posts:
    4
    Alright, will do, thanks for answering quickly!
     
    Last edited: May 5, 2014
  22. teophilik

    teophilik

    Joined:
    Feb 13, 2013
    Posts:
    11
    @prime31 hello again! I want to get back to you about my problem with the "Invalid access token" error. I am running the app on android 4.2, not on IOS, (you said that you have tested the plugin on ios). I sent you some screenshots with the errors in earlier posts. You asked me to send you the full log, but because I am running it on android, the log I have already shown you is all I have. The plugin version I am using is SocialNetworkingAndroid_2013-07-06. Maybe you can figure out what the problem is. Otherwise, thanks anyway!
     
  23. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @teo, please post Android questions in the Android forum.
     
  24. pretender

    pretender

    Joined:
    Mar 6, 2010
    Posts:
    865
    Hi Prime31 my friend! I have a question for you about StateKit
    I was using it before and it was great, I currently updated it and it seems that there is no _machine.popState() and _machine.previousState?
    I wanted to Pop previous state but I see that I can't….how to track what was the previous state and how to restore it? Thanks man!
     
  25. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @pretender, you can always add them back in. Just store off the state when switching in an instance variable and you'll be good to go.
     
  26. Cybernoise

    Cybernoise

    Joined:
    Apr 9, 2014
    Posts:
    5
    Hi prime31, i have a problem with PlayServices ,

    i set games.APP_ID and appstate.APP_ID like this :
    <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="\ ************"/>
    <meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="\ ************"/>

    and i have next log :

    05-13 19:03:09.634: E/GameAgent(12521): Unable to retrieve 1P application ************ from network
    05-13 19:03:09.634: E/GameAgent(12521): Game ID (************) was not found on server
    05-13 19:03:09.634: E/CheckGameplayAcl(21196): Unable to load metadata for game
    05-13 19:03:09.634: W/SignInActivity(21196): onSignInFailed()...
    05-13 19:03:09.634: W/SignInActivity(21196): ==> Returning non-OK result: 10004
    05-13 19:03:09.654: D/Prime31-GH(22089): GameHelper: onActivityResult: req=RC_RESOLVE, resp=RESULT_APP_MISCONFIGURED
    05-13 19:03:09.654: D/Prime31-GH(22089): GameHelper: onAR: responseCode=RESULT_APP_MISCONFIGURED, so giving up.
    05-13 19:03:09.654: W/Prime31-GH(22089): disconnect() called when client was already disconnected.
    05-13 19:03:09.654: W/Prime31-GHU(22089): ****
    05-13 19:03:09.654: W/Prime31-GHU(22089): ****
    05-13 19:03:09.654: W/Prime31-GHU(22089): **** APP NOT CORRECTLY CONFIGURED TO USE GOOGLE PLAY GAME SERVICES
    05-13 19:03:09.654: W/Prime31-GHU(22089): **** This is usually caused by one of these reasons:
    05-13 19:03:09.654: W/Prime31-GHU(22089): **** (1) Your package name and certificate fingerprint do not match
    05-13 19:03:09.654: W/Prime31-GHU(22089): **** the client ID you registered in Developer Console.
    05-13 19:03:09.654: W/Prime31-GHU(22089): **** (2) Your App ID was incorrectly entered.
    05-13 19:03:09.664: W/Prime31-GHU(22089): **** (3) Your game settings have not been published and you are
    05-13 19:03:09.664: W/Prime31-GHU(22089): **** trying to log in with an account that is not listed as
    05-13 19:03:09.664: W/Prime31-GHU(22089): **** a test account.
    05-13 19:03:09.664: W/Prime31-GHU(22089): ****
    05-13 19:03:09.664: W/Prime31-GHU(22089): **** To help you debug, here is the information about this app
    05-13 19:03:09.664: W/Prime31-GHU(22089): **** Package name : com.MyCompany.MyGame
    05-13 19:03:09.664: W/Prime31-GHU(22089): **** Cert SHA1 fingerprint: 6D:4A:45:59......
    05-13 19:03:09.664: W/ResourceType(22089): No package identifier when getting value for resource number 0x00000000
    05-13 19:03:09.664: W/System.err(22089): android.content.res.Resources$NotFoundException: String resource ID #0x0
    05-13 19:03:09.664: W/System.err(22089): at android.content.res.Resources.getText(Resources.java:244)
    05-13 19:03:09.664: W/System.err(22089): at android.content.res.Resources.getString(Resources.java:330)
    05-13 19:03:09.664: W/System.err(22089): at com.prime31.GameHelperUtils.getAppIdFromResource(GameHelperUtils.java:140)
    05-13 19:03:09.664: W/System.err(22089): at com.prime31.GameHelperUtils.printMisconfiguredDebugInfo(GameHelperUtils.java:121)
    05-13 19:03:09.664: W/System.err(22089): at com.prime31.GameHelper.giveUp(GameHelper.java:959)
    05-13 19:03:09.664: W/System.err(22089): at com.prime31.GameHelper.onActivityResult(GameHelper.java:638)
    05-13 19:03:09.674: W/System.err(22089): at com.prime31.PlayGameServicesPlugin.onActivityResult(PlayGameServicesPlugin.java:229)
    05-13 19:03:09.674: W/System.err(22089): at java.lang.reflect.Method.invokeNative(Native Method)
    05-13 19:03:09.674: W/System.err(22089): at java.lang.reflect.Method.invoke(Method.java:515)
    05-13 19:03:09.674: W/System.err(22089): at com.prime31.ActivityProxyObjectHelper.onActivityResult(ActivityProxyObjectHelper.java:110)
    05-13 19:03:09.674: W/System.err(22089): at com.prime31.UnityPlayerNativeActivity.onActivityResult(UnityPlayerNativeActivity.java:34)
    05-13 19:03:09.674: W/System.err(22089): at android.app.Activity.dispatchActivityResult(Activity.java:5423)
    05-13 19:03:09.674: W/System.err(22089): at android.app.ActivityThread.deliverResults(ActivityThread.java:3361)
    05-13 19:03:09.674: W/System.err(22089): at android.app.ActivityThread.handleSendResult(ActivityThread.java:3408)
    05-13 19:03:09.674: W/System.err(22089): at android.app.ActivityThread.access$1300(ActivityThread.java:135)
    05-13 19:03:09.674: W/System.err(22089): at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1244)
    05-13 19:03:09.674: W/System.err(22089): at android.os.Handler.dispatchMessage(Handler.java:102)
    05-13 19:03:09.674: W/System.err(22089): at android.os.Looper.loop(Looper.java:136)
    05-13 19:03:09.674: W/System.err(22089): at android.app.ActivityThread.main(ActivityThread.java:5017)
    05-13 19:03:09.674: W/System.err(22089): at java.lang.reflect.Method.invokeNative(Native Method)
    05-13 19:03:09.674: W/System.err(22089): at java.lang.reflect.Method.invoke(Method.java:515)
    05-13 19:03:09.674: W/System.err(22089): at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:779)
    05-13 19:03:09.674: W/System.err(22089): at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:595)
    05-13 19:03:09.674: W/System.err(22089): at dalvik.system.NativeStart.main(Native Method)
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** App ID from : ??? (failed to retrieve APP ID)
    05-13 19:03:09.674: W/Prime31-GHU(22089): ****
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** Check that the above information matches your setup in
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** Developer Console. Also, check that you're logging in with the
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** right account (it should be listed in the Testers section if
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** your project is not yet published).
    05-13 19:03:09.674: W/Prime31-GHU(22089): ****
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** For more information, refer to the troubleshooting guide:
    05-13 19:03:09.674: W/Prime31-GHU(22089): **** http://developers.google.com/games/services/android/troubleshooting
    05-13 19:03:09.674: D/Prime31-GH(22089): GameHelper: Not showing error dialog because mShowErrorDialogs==false. Error was: SignInFailureReason(serviceErrorCode:SIGN_IN_REQUIRED(4),activityResultCode:RESULT_APP_MISCONFIGURED)
    05-13 19:03:09.674: I/Prime31-GH(22089): Notifying LISTENER of sign-in FAILURE (error)

    :(
     
  27. pretender

    pretender

    Joined:
    Mar 6, 2010
    Posts:
    865
    Maybe i am missing something obvious but dont know how to change stores state with _machine.changeState(previousState) does not compile :)

    Whats the proper way? Thanks!
     
  28. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @cyber, I'm not sure the error could have been any more clear on that one.

    $Screen Shot 2014-05-13 at 9.37.29 AM.png

    Your app is not properly configured. You will not be able to login until everything is setup properly in the Play Developer portal and your AndroidManifest. All values must match exactly.


    @pretender, its generic so you just do:

     
  29. Cybernoise

    Cybernoise

    Joined:
    Apr 9, 2014
    Posts:
    5
    sry for my english Prime )

    manifest looks like this :

    Code (csharp):
    1.  
    2.  
    3. <?xml version="1.0" encoding="utf-8"?>
    4. <manifest xmlns:android="http://schemas.android.com/apk/res/android" android:installLocation="preferExternal" package="com.MyCompany.MyGame" android:versionName="1.0" android:versionCode="1">
    5.     <supports-screens android:smallScreens="true" android:normalScreens="true" android:largeScreens="true" android:xlargeScreens="true" android:anyDensity="true" />
    6.     <application android:icon="@drawable/app_icon" android:label="@string/app_name" android:debuggable="false">
    7.        
    8.        
    9.         <activity
    10.         android:name="com.unity3d.player.UnityPlayerProxyActivity"     
    11.         android:label="@string/app_name"        
    12.         android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" >
    13.            
    14.         </activity>
    15.  
    16.         <activity
    17.         android:name="com.prime31.UnityPlayerNativeActivity"       
    18.         android:label="@string/app_name"        
    19.         android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" >
    20.             <intent-filter>
    21.                 <action android:name="android.intent.action.MAIN" />
    22.                 <category android:name="android.intent.category.LAUNCHER" />
    23.             </intent-filter>  
    24.             <meta-data android:name="unityplayer.ForwardNativeEventsToDalvik" android:value="true" />  
    25.                
    26.         </activity>        
    27.        
    28.         <meta-data android:name="com.MyCompany.MyGame" android:value="UnityPlayerActivityProxy"/>
    29.        
    30. <!-- Game Play Services -->
    31.         <meta-data android:name="com.google.android.gms.games.APP_ID" android:value="\ 123456789012"/>
    32.         <meta-data android:name="com.google.android.gms.appstate.APP_ID" android:value="\ 123456789012"/>  
    33.         <meta-data android:name="com.prime31.PlayGameServicesPlugin" android:value="UnityPlayerActivityProxy"/>
    34.         <meta-data android:name="com.google.android.gms.version" android:value="@integer/google_play_services_version"/>       
    35.         <meta-data android:name="com.MyCompany.MyGame" android:value="UnityPlayerActivityProxy"/>      
    36.        
    37. <!-- FLURRY -->
    38.         <activity android:name="com.flurry.android.FlurryAgent" android:configChanges="keyboardHidden|orientation" />
    39.        
    40.        
    41. <!-- PlayHaven -->     
    42.         <activity android:name="com.playhaven.unity3d.PlayHavenUnityActivity" android:label="@string/app_name" android:launchMode="singleTask" android:configChanges="fontScale|keyboard|keyboardHidden|locale|mnc|mcc|navigation|orientation|screenLayout|screenSize|smallestScreenSize|uiMode|touchscreen" android:screenOrientation="sensor"></activity>
    43.        
    44.         <activity android:name="com.playhaven.android.view.FullScreen" android:theme="@android:style/Theme.Translucent.NoTitleBar" android:windowSoftInputMode="adjustResize" android:configChanges="orientation|keyboardHidden|screenSize">
    45.            
    46.             <intent-filter>
    47.                 <action android:name="android.intent.action.VIEW" />
    48.                 <category android:name="android.intent.category.DEFAULT" />
    49.             </intent-filter>
    50.            
    51.             <intent-filter>
    52.                 <action android:name="android.intent.action.VIEW" />
    53.                 <category android:name="android.intent.category.DEFAULT" />
    54.                 <data android:scheme="playhaven" android:host="localhost" android:pathPattern="/full" />
    55.             </intent-filter>
    56.         </activity>
    57.            
    58.         <receiver android:name="com.playhaven.android.push.PushReceiver">
    59.                 <intent-filter>
    60.                     <action android:name="android.intent.action.VIEW" />
    61.                     <category android:name="com.playhaven.android" />
    62.                 </intent-filter>
    63.         </receiver>    
    64.        
    65.         <receiver android:name="com.playhaven.android.push.GCMBroadcastReceiver" android:permission="com.google.android.c2dm.permission.SEND">
    66.             <intent-filter>
    67.                 <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    68.                 <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
    69.                 <category android:name="com.MyCompany.MyGame"/>
    70.             </intent-filter>
    71.         </receiver>
    72.  
    73.        
    74.     </application>
    75.    
    76. <uses-feature android:glEsVersion="0x00010001" />
    77. <uses-permission android:name="android.permission.INTERNET" />
    78. <uses-permission android:name="com.android.vending.BILLING" />
    79. <uses-permission android:name="android.permission.ACCESS_NETWORK_STATE" />
    80. <uses-permission android:name="android.permission.WRITE_EXTERNAL_STORAGE" />
    81. <uses-permission android:name="android.permission.ACCESS_WIFI_STATE" />
    82. <uses-permission android:name="android.permission.ACCESS_COARSE_LOCATION" />
    83. <uses-permission android:name="android.permission.ACCESS_FINE_LOCATION" /> 
    84.  
    85. <permission android:name="com.MyCompany.MyGame.permission.C2D_MESSAGE" android:protectionLevel="signature" />
    86. <uses-permission android:name="com.MyCompany.MyGame.permission.C2D_MESSAGE" />
    87. <uses-permission android:name="com.google.android.c2dm.permission.RECEIVE" />
    88. <uses-permission android:name="android.permission.GET_ACCOUNTS" />
    89.    
    90. <uses-sdk android:minSdkVersion="10" android:targetSdkVersion="17" />
    91.  
    92. </manifest>
    93.  
    94.  
    I did not tune anything in the Developers Console - I'm only doing connection plug, customers said that my account has been added as a test,they gave me appID, so i dont know - problem in the manifest or with this SHA1 ??

    At starting game (before calling PlayServices) i have next log :

    Code (csharp):
    1.  
    2.  
    3. 05-14 11:41:48.381: E/GooglePlayServicesUtil(5015): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
    4. 05-14 11:41:48.401: E/GooglePlayServicesUtil(5015): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
    5. 05-14 11:41:48.411: E/GooglePlayServicesUtil(5015): The Google Play services resources were not found. Check your project configuration to ensure that the resources are included.
    6.  
    7.  
    8.  
    about what resources its talking about?
     
    Last edited: May 14, 2014
  30. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @cyber, the manifest looks fine. Your issue most likely lies elsewhere in the standard Play setup: bundle, signing, Google API setup, etc.
     
  31. pretender

    pretender

    Joined:
    Mar 6, 2010
    Posts:
    865
    sorry for being a beginner, but this exactly is a problem, I am doing this, when wanting to store a state
    Code (csharp):
    1. var previousState = _machine.currentState;
    later, when I want to restore the state I tried this:
    Code (csharp):
    1. _machine.changeState(previousState);
    2. _machine.changeState(typeof(previousState));
    3. _machine.changeState(previousState.GetType());
    4. _machine.changeState<previousState.GetType()>();
    :) most of this, I knew it will not work, but I was out of ideas :), there is something obvious that I missing here! Help!
     
  32. pretender

    pretender

    Joined:
    Mar 6, 2010
    Posts:
    865
    Ok, I added missing functionality from previous versions…but still i would like to know how this is done this way!
    thanks!
     
  33. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @pretender, generics require the actual type name. You can't pass in a variable. For saving and using previous state you would want to do that internal to StateKit using the Type directly.
     
  34. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    412
    Using LiveTexture, if I play a movie only at the start of my app, and I want to ensure that all Objective-C resources have been released so that, modulo ios memory management, my movieplayer footprint has been fully freed, what sequence of calls do I have to make? It's difficult to see without source when/if the AVFoundation components get torn down.
     
  35. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ferretnt, whenever a video is stopped it is torn down completely to keep memory usage down.
     
  36. Anum Shahid

    Anum Shahid

    Joined:
    Apr 3, 2014
    Posts:
    6
    I buy your unity 3d window phone 8 plugin and its not working... :( I have attached error plz do check and reply. I added the screen shots
     

    Attached Files:

    Last edited: May 15, 2014
  37. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @anum, that looks like either mixed versions of DLLs or you don't have the latest MS ad SDK installed on your computer. Just delete all the plugin files and import the latest version of the plugin and download the latest MS ad SDK.
     
  38. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    412
    Our app explicitly sets AudioSessionCategory, and we need the app set to that category throughout its lifetime.

    It looks like Prime31 liveTexture (ios) is overriding the AudioSessionCategory when playing a movie and leaving it in that state. Is there a way to stop it doing this?
     
  39. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ferret, you have two options: 1. don't play audio with the LiveTexture. If you don't enable audio it will never need to touch the audio session. 2. reset the audio session to whatever you want when videoDidFinishEvent fires.
     
  40. ferretnt

    ferretnt

    Joined:
    Apr 10, 2012
    Posts:
    412
    Thanks, did just find that not playing the audio results in sessioncategory not being changed.

    (1) won't work because the movie then won't have audio if the muteswitch is on.

    (2) Could work. What's the lightest weight best hope for playing my own audio (which is lipsynched?) in time with the movie? Play an uncompressed WAV of the video in Unity from videoDidStartEvent? The video is only 9s long so hopefully drift won't be significant.
     
  41. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @ferret, you can use the videoPresentationTimeUpdatedEvent to sync audio played in Unity with the video.
     
  42. Conflei

    Conflei

    Joined:
    Apr 21, 2013
    Posts:
    44
    Hello Prime31, first of all thanks for all the help.

    See, i have a question, i'm actually using Etcetera Plugin and i want to use an custom camera, is that possible using your plugin?

    For i custom camera i mean like snapchat camear with custom buttons.

    Only asking if it's possibly and how, thanks.
     
  43. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @conflie, that is not possible. You would need to write a custom plugin and even that would only work if the application had their own URL scheme and allowed it.
     
  44. WPCJack

    WPCJack

    Joined:
    Mar 15, 2013
    Posts:
    26
    Hey @prime31,

    Trying to build with both the chartboost combo and social networking combo to IOS and I'm getting a duplicate symbols error.

    Code (csharp):
    1. ld: warning: directory not found for option '-F"/Users/jackgillespie/Desktop/GFXC/SocialNetworking/FacebookSDK" ""'
    2. duplicate symbol _crypto_core_hsalsa20_ref2 in:
    3.     /Users/jackgillespie/Desktop/GFXC/Chartboost/libChartboost.a(core.o)
    4.     /Users/jackgillespie/Desktop/GFXC/Chartboost/libChartboost.a(core_hsalsa20.o)
    5. ld: 3 duplicate symbols for architecture armv7
    6. clang: error: linker command failed with exit code 1 (use -v to see invocation)
    If I remove the social or the chartboost plugin the build works fine.

    Cheers,
     
  45. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @wpc, please read the documentation. The first sentence has a bold note explaining this exact situation.
     
  46. badawe

    badawe

    Joined:
    Jan 17, 2011
    Posts:
    297
    Hi @prime31 how are you doing?

    I've bought the Google Play Services for iPhone and for Android, withtout the combo. Beside that, I also have the charboost SDK and RevMob SDK in the project, but after import the Google Play Services for iPhone I can't compile, keep getting this error:



    and in console:



    I know is problem some simple mistake, but this topic is to big, i can't found anything helpfull.

    what this can be?

    Just to make sure, I've read the post up here, and the diference I not using the prime31 charboost sdk plugin (I using the official one), so i don't have the -load-all flag:
     
    Last edited: May 19, 2014
  47. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @badawe, it looks like you have duplicate symbol errors. That means that two libraries (Chartboost and Google Play) have the same global symbol (class, function, etc). You will need to bring that up with the SDK vendors directly. One or both of them would need to make a change in their SDK to remove the duplicate.
     
  48. RichRayl

    RichRayl

    Joined:
    Nov 15, 2012
    Posts:
    2
    I am using the Android Etcetera plug-in (specifically for the functions related to notifications).
    I’m working with the demo app with Unity 4.3.1f1 (before I integrate the plug-in into my real app).
    I added an option to the demo app so it allow me to specify an ID of a notification to cancel, and added a button that calls EtceteraAndroid.cancelNotification with the specified ID.
    I also added a Debug.Log() that prints out the ID returned from EtceteraAndroid.scheduleNotification.

    Here is my test sequence:
    1. Run demo app and go to second page
    2. Start a notification (writing down ID shown in debug log)
    3. Quit app before notification shows up
    4. Wait for notification (leaving it in notification bar)
    5. Run demo app a second time and go to second page
    6. Enter ID written down in step 2
    7. Press button that calls EtceteraAndroid.cacnelNotification with id.
    8. Notice, notification remains in notification bar at top
    9. Press button to cancel all notifications and notification goes away.

    The cancelling of the notification by ID does not work.

    In the process of testing all of this, I also discovered that I cannot have two different notifications in the notification bar at the same time. If I send two notifications with different text, the second one replaces the first one. It does not show up as a second notification in the bar.

    The only reason this would happen would be if the same ID was being used for both notifications. However, the ID being returned by the scheduleNotification is not always the same. So unless the returned ID is not the once actually used for the notification this is not the problem.

    Not wanting to leave this alone, I modify the app to call EtceteraAndroid.cancelNotification with IDs starting with 1. I noticed when it reached 100, my notification went away. I created another notification using the steps listed above, and this time entered 100 for my ID. When I hit the cancel notification button, my notification went away. So the ID returned from scheduleNotification does not mean anything. But, maybe it does… If I start a notification and then immediately cancel it using ID 100 and then leave the app, the notification showed up. If I try the same sequence using the ID returned from scheduleNotification, the notification does not show up.

    This is very confusing. To cancel a notification (before it happens), I used the ID returned by scheduleNotification. To cancel a notification that has already happened (i.e. is in notification bar), I call cancelNotification with 100.

    I think there is a bug in the Prime scheduleNotification function where the ID being returned is not being consistently used. It’s used while a notification is pending, and not used when the notification is shown.

    I also think this is the reason I cannot have two notifications show at the same time. The second one is using and ID of 100 just like the first and is replacing the first. However, I can have two in the queue because those are using two different IDs (the ones returned by scheduleNotification).

    I also noticed that cancelling all notifications does not stop them from showing up. I schedule a notification and then press the cancel all button, and then leave the app. The notification I scheduled still showed up, even though I cancelled it.

    Wish List – I wish I could pass in the ID for the notification (possibly passing 0 if I want one created for me). This would make it so I don’t have to save the notification ID in my player data. Once I can send multiple notifications (and cancel them), I’ll need a way to cancel a specific one when the player leaves the game and comes back. If I could choose the ID, I could pick a specific one for each type of notification I am using and would not have to save the ID.

    -------
    Rich Rayl
    Pipeworks® Software
     
  49. prime31

    prime31

    Joined:
    Oct 9, 2008
    Posts:
    6,426
    @rich, it is a known bug that many Android versions will not cancel a notification by ID. We provided the cancelAllNotifications method as a workaround.
     
  50. RichRayl

    RichRayl

    Joined:
    Nov 15, 2012
    Posts:
    2
    So this known bug means...

    You cannot cancel recently scheduled notifications with cancelAllNotifications
    You cannot have more than one notification displayed at a time (even though I see other apps do this).
    It's a fluke that calling cancelNotification with 100 as an ID cancels the currently displayed notification.
    The plugin does not work for any Android version because some Android versions do not working properly.
    Very disappointing.
    -- Rich
     
Thread Status:
Not open for further replies.