Search Unity

NATIVE PLUGINS for Unity: iOS, Android [Need Prime31 / Easy Mobile / Stans Assets replacement??]

Discussion in 'Assets and Asset Store' started by Voxel-Busters, Apr 4, 2015.

?

Do you want to see Windows Mobile support in CPNP? FYI, current market share is less than 3%.

Poll closed Aug 26, 2022.
  1. Ooh la la, Love to see that!

    12 vote(s)
    52.2%
  2. I don't give a damn!

    6 vote(s)
    26.1%
  3. Are you crazy! Who makes games for Windows Mobile.

    5 vote(s)
    21.7%
  1. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    I think, I got what you mean.
    Can you please share your rate app settings to have a look and reproduce on my end? Basically, you have the auto rate app triggered before the other alert showed up. Is it so?
     
  2. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    Basically have the App rating pop up by:
    upload_2022-10-27_7-11-4.png

    You can trigger this on a new build & run, and then leave the app when it pops up, come back in it, app essentially is frozen due to the popup you cannot get rid of it

    I'm on latest
    Cross-Platform Native Plugins : Essential Kit (Mobile - iOS & Android)

    upload_2022-10-27_7-11-55.png


    Edit: the custom dialog i have pop up shows this issue with the rating dialog as well, so you can test it both ways
     
  3. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Thanks for the details!
    I was able to reproduce the issue. I'm on it.
     
  4. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    Awesome, please send me a fix in DM I need it for the update asap

    Thanks
     
  5. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Sure! We are able to figure it out!
    I can say this is so far the best bug we encountered :)
    This has nothing to do with rate app but if you try showing any two alert dialogs one after another this seem to happen.
    The reason is a bit tricky ;)

    We fire callbacks on unity's main thread via CallbackDispatcher's LateUpdate. As soon as you click on a button, we trigger c#'s callback and queue an action to CallbackDispatcher. And in the callback we call dismiss of the alert dialog.

    But here as unity is in pause state when an alert dialog is shown, It seems to get dead locked as callback action queued in late update won't get called until dismiss is called.

    Anyways, we will find a solution for this problem asap!
    Once again thanks for an awesome bug report :cool:
     
    zKici likes this.
  6. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    :)

    Glad I can be of help, looking forward to the fix thank you
     
  7. TrafficX

    TrafficX

    Joined:
    Feb 14, 2022
    Posts:
    4
    Hello.
    Please help me, I can't compile the project, it gives errors like in the screenshot. I'm new to Unity, do you have a larger installation guide that solves this problem?

    upload_2022-10-28_14-3-27.png
     
  8. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Please replace AndroidDialog.cs file in "...Runtime/NativeUI/Android" folder.

    Thanks for the bug report :)
     

    Attached Files:

    zKici likes this.
  9. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Please share the complete detailed contents of the "CommandInvocationFailure" entry.
     
  10. TrafficX

    TrafficX

    Joined:
    Feb 14, 2022
    Posts:
    4
    CommandInvokationFailure: Gradle build failed.
    C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"

    Environment Variables:
    USERDOMAIN = DESKTOP-U7DC79V
    ProgramFiles = C:\Program Files
    TMP = C:\Users\46AD~1\AppData\Local\Temp
    PROCESSOR_ARCHITECTURE = AMD64
    PROCESSOR_REVISION = 3c03
    OS = Windows_NT
    CHROME_CRASHPAD_PIPE_NAME = \\.\pipe\crashpad_4112_BQTKXCSVOHWIQJPW
    PROCESSOR_IDENTIFIER = Intel64 Family 6 Model 60 Stepping 3, GenuineIntel
    ProgramW6432 = C:\Program Files
    USERPROFILE = C:\Users\Влад
    JAVA_HOME = C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\PlaybackEngines\AndroidPlayer\OpenJDK
    CommonProgramFiles = C:\Program Files\Common Files
    DriverData = C:\Windows\System32\Drivers\DriverData
    ComSpec = C:\Windows\system32\cmd.exe
    PSModulePath = C:\Program Files\WindowsPowerShell\Modules;C:\Windows\system32\WindowsPowerShell\v1.0\Modules
    PUBLIC = C:\Users\Public
    USERNAME = Влад
    NUMBER_OF_PROCESSORS = 4
    JAVA_TOOL_OPTIONS = -Dfile.encoding=UTF-8
    FPS_BROWSER_APP_PROFILE_STRING = Internet Explorer
    HOMEDRIVE = C:
    TEMP = C:\Users\46AD~1\AppData\Local\Temp
    Path = C:\ProgramData\Oracle\Java\javapath;C:\Program Files (x86)\Razer Chroma SDK\bin;C:\Program Files\Razer Chroma SDK\bin;C:\Program Files (x86)\Razer\ChromaBroadcast\bin;C:\Program Files\Razer\ChromaBroadcast\bin;C:\Windows\system32;C:\Windows;C:\Windows\System32\Wbem;C:\Windows\System32\WindowsPowerShell\v1.0\;C:\Windows\System32\OpenSSH\;C:\Users\Влад\AppData\Local\Microsoft\WindowsApps;C:\Program Files\dotnet\;C:\Windows\system32\config\systemprofile\AppData\Local\Microsoft\WindowsApps;C:\Users\Влад\AppData\Local\Microsoft\WindowsApps;C:\Users\Влад\.dotnet\tools
    COMPUTERNAME = DESKTOP-U7DC79V
    PATHEXT = .COM;.EXE;.BAT;.CMD;.VBS;.VBE;.JS;.JSE;.WSF;.WSH;.MSC
    ALLUSERSPROFILE = C:\ProgramData
    SystemDrive = C:
    windir = C:\Windows
    FPS_BROWSER_USER_PROFILE_STRING = Default
    HOMEPATH = \Users\Влад
    CommonProgramFiles(x86) = C:\Program Files (x86)\Common Files
    APPDATA = C:\Users\Влад\AppData\Roaming
    OneDrive = C:\Users\Влад\OneDrive
    PROCESSOR_LEVEL = 6
    CommonProgramW6432 = C:\Program Files\Common Files
    ProgramFiles(x86) = C:\Program Files (x86)
    SystemRoot = C:\Windows
    SESSIONNAME = Console
    LOGONSERVER = \\DESKTOP-U7DC79V
    LOCALAPPDATA = C:\Users\Влад\AppData\Local
    __COMPAT_LAYER = DetectorsAppHealth
    USERDOMAIN_ROAMINGPROFILE = DESKTOP-U7DC79V
    ProgramData = C:\ProgramData
    ORIGINAL_XDG_CURRENT_DESKTOP = undefined


    stderr[

    FAILURE: Build failed with an exception.

    * What went wrong:
    Could not determine the dependencies of task ':unityLibrary:com.voxelbusters.essentialkit.androidlib:compileReleaseAidl'.
    > Failed to install the following SDK components:
    build-tools;29.0.2 Android SDK Build-Tools 29.0.2
    The SDK directory is not writable (C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK)


    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 1s
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
    ]
    stdout[

    > Configure project :launcher
    WARNING: The option setting 'android.enableR8=false' is deprecated.
    It will be removed in version 5.0 of the Android Gradle plugin.
    You will no longer be able to disable R8
    Checking the license for package Android SDK Build-Tools 29.0.2 in C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK\licenses
    License for package Android SDK Build-Tools 29.0.2 accepted.
    Preparing "Install Android SDK Build-Tools 29.0.2 (revision: 29.0.2)".
    Warning: Failed to read or create install properties file.
    ]
    exit code: 1
    UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    Rethrow as GradleInvokationException: Gradle build failed
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    Rethrow as BuildFailedException: Exception of type 'UnityEditor.Build.BuildFailedException' was thrown.
    UnityEditor.Android.PostProcessor.CancelPostProcess.AbortBuild (System.String title, System.String message, System.Exception ex) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.PostProcessAndroidPlayer.PostProcess (UnityEditor.BuildTarget target, System.String stagingAreaData, System.String stagingArea, System.String playerPackage, System.String installPath, System.String companyName, System.String productName, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <50a1526ff8f740b3b328e418d1c6bca5>:0)
    UnityEditor.PostprocessBuildPlayer.Postprocess (UnityEditor.BuildTargetGroup targetGroup, UnityEditor.BuildTarget target, System.String installPath, System.String companyName, System.String productName, System.Int32 width, System.Int32 height, UnityEditor.BuildOptions options, UnityEditor.RuntimeClassRegistry usedClassRegistry, UnityEditor.Build.Reporting.BuildReport report) (at <ce529ddd5fb1424f905ed386885ff5fe>:0)
    UnityEngine.GUIUtility:processEvent(Int32, IntPtr, Boolean&)
     
  11. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    In your preferences try checking and unchecking the SDKs (I normally do them all)
    Because this is your main issue for that error i think -> The SDK directory is not writable (C:\Program Files\Unity\Hub\Editor\2020.3.41f1\Editor\Data\PlaybackEngines\AndroidPlayer\SDK)


    upload_2022-10-28_9-9-52.png
     
  12. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Copy build-tools/29.0.2 from your system's android sdk to Unity's Android SDK build-tools folder.
     
  13. TrafficX

    TrafficX

    Joined:
    Feb 14, 2022
    Posts:
    4
    It worked! Thanks for your help
     
    Voxel-Busters likes this.
  14. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    2.5.1 available on Asset Store!
     
    zKici likes this.
  15. TrafficX

    TrafficX

    Joined:
    Feb 14, 2022
    Posts:
    4
    Hello again. I saw in your documentation that you can get the value from the webview. But I can’t understand how I can do this, do I need to get a string into a variable after opening the page, or can I pull out the HTML already from the view?
     

    Attached Files:

    • 1.jpg
      1.jpg
      File size:
      3 KB
      Views:
      106
  16. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    We can evaluate via your javascript code. By that it means, you can pass info to your java script code(once after you load an url of your webpage) and then get the result once your java script code process it. Please have a look at RunJavaScript method.
     
  17. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    Hello,

    The email share option does not seem to work on iOS when they do not have "Mail" app setup, even though they have others such as gmail etc.

    Is this a bug?

    Code ->
    Code (CSharp):
    1.     [SerializeField] bool canSendMail;
    2.  
    3.     private void Awake()
    4.     {
    5.        canSendMail = MailComposer.CanSendMail();
    6.    }
    7.  
    8.        if(!canSendMail)
    9.         {
    10.             Debug.Log($"We cannot send email...");
    Fingers crossed this is a bug and not a limitation

    Thank you!
     
  18. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    If CanSendMail returns false, the system don't have a service to share email. This usually happens if there is no mail setup on the device. This is the limitation on the os.
     
  19. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    438
    Ah, maybe one day Apple will cease being lame and stop 'forcing' people to use their apps.
    Thank you
     
  20. D_Cergy

    D_Cergy

    Joined:
    Feb 18, 2015
    Posts:
    35
    Hi, I'm trying to update this plugin and follow the instruction from the tutorial pages.
    But there are errors upon import which I cannot solved by myself.

    ErrorVoxel.JPG
    I can't find any information of these PBX classes, which libraries I should include. (I'm on Android build target at this time, but I have IOS build support installed)

    ErrorVoxel2.JPG
    There are still classes duplicates even I have deleted the CoreLibrary and EssensialKit as instructed in tutorial. Which class I should remove?

    Thanks
     
  21. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Hi,
    Can you try deleting Assets/Plugins/VoxelBusters and try importing the plugin again? Looks like some files didn't get cleared before importing leading to duplicates.
     
  22. D_Cergy

    D_Cergy

    Joined:
    Feb 18, 2015
    Posts:
    35
    It works! Deleting the whole plugin folder clear all the errors without causing other issues. Thanks
     
    Voxel-Busters likes this.
  23. Cuicui_Studios

    Cuicui_Studios

    Joined:
    May 3, 2014
    Posts:
    72
    Hi there,
    We are trying to update one of our old games and we face some issue when importing the latest version of Unity in-app purchasing and Voxel Busters Native plugins (latest version too):
    Code (CSharp):
    1.  
    2. FAILURE: Build failed with an exception.
    3.  
    4. * What went wrong:
    5. Execution failed for task ':launcher:checkReleaseDuplicateClasses'.
    6. > 1 exception was raised by workers:
    7.   java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class com.android.billingclient.BuildConfig found in modules billing-4.0.0-runtime.jar (:billing-4.0.0:) and com.android.billingclient.billing-5.0.0-runtime.jar (:com.android.billingclient.billing-5.0.0:)
    8.   Duplicate class com.android.billingclient.api.AccountIdentifiers found in modules billing-4.0.0-runtime.jar (:billing-4.0.0:) and com.android.billingclient.billing-5.0.0-runtime.jar (:com.android.billingclient.billing-5.0.0:)
    Could you guys help us with this one? We haven't found a way to delete billing-4.0.0-runtime.jar...

    (edit:) Tried turning everything off but... does not work.

    Also, saw that when building, showed gradle 4.0.1, which for unity 2021 is... weird? Tried to use gradle 6.1.1, which is supported by Unity as stated on unity docs, but got this message:

    Code (CSharp):
    1. Android gradle plugin version is compatible with queries tag. The build won't fail for queries tag in manifest...
    So, we must use an old gradle version=?

    Thanks in advance.
     
    Last edited: Nov 4, 2022
  24. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Well, if you use anything above 3.6.3 (Android gradle plugin version) and 5.6 (Gradle version) will work. However, lets first find out what is the issue.

    As per the error, it says it found two libraries with similar classes. This usually happens if you use both unity iap and our billing feature too at the same time. We need latest billing client version which is 5.0.0.

    First try disabling the unity's IAP if you are want to use ours (find out some orphan folders which might be added by unity).

    Once we resolve the duplicate issue, we will see the gradle version issue. For queries tag to get detected we need the project to use versions which support queries tag. Share me the current gradle, android plugin versions and unity version to help you out.
     
  25. Enemyqish

    Enemyqish

    Joined:
    Jan 24, 2019
    Posts:
    3
    Hello, I am using Essential Kit v.2.5.1 and Unity 2022.1.21f1.
    And if I turn on Essential Kit, my Android/iOS apps only draw the first frame, then it hangs.
    In editor it’s works.
     
  26. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    May not be actually an issue of our plugin as we don't touch any of your root activity or initiate on startup. Can you please share me the apk with any of our demo scenes to give a test on our end?
     
  27. Enemyqish

    Enemyqish

    Joined:
    Jan 24, 2019
    Posts:
    3
    Can I write you an Email?
     
  28. Enemyqish

    Enemyqish

    Joined:
    Jan 24, 2019
    Posts:
    3
    Or Telegram may be? It would be more convenient.
     
  29. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    How about discord? Please ping us on discord. You can find the discord support link on our asset store product page description.
     
  30. TillmaniaLtd

    TillmaniaLtd

    Joined:
    Jan 29, 2013
    Posts:
    65
    Hey, the essentials plugin doesn't seem to be requesting Contact permission on Android...
     
  31. TillmaniaLtd

    TillmaniaLtd

    Joined:
    Jan 29, 2013
    Posts:
    65
    I get the follow error when trying to show contacts from the address book:

    Code (CSharp):
    1. Unity: Request to read contacts failed with error. Error: Error Domain:  Code: 0 Description: Not authorized to access contacts database.
    2.     VoxelBusters.CoreLibrary.<>c__DisplayClass9_0`1:<InvokeOnMainThread>b__0()
    3.     VoxelBusters.CoreLibrary.CallbackDispatcher:LateUpdate()
    4.  
     
  32. TillmaniaLtd

    TillmaniaLtd

    Joined:
    Jan 29, 2013
    Posts:
    65
    Ok so it looks like AddressBook.ReadContactsWithUserPermission() doesn't perform as expected on Android. You have to call RequestContactAccess() first for some reason?
     
  33. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    It is actually a utility method built on top of RequestContactAccess. Let us schedule a test and fix if it doesn't work as expected.
     
  34. D_Cergy

    D_Cergy

    Joined:
    Feb 18, 2015
    Posts:
    35
    Hi,
    Any update on the upcoming feature for cloud migration? Thanks
     
  35. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Hey Sorry for not updating! We already made a fix which is working fine. But its scheduled for next release.
    In-case if you want to try it now, you can ping us on our discord.

    Basically, we fetch the available snapshots on init and save it as a value for key named ESSENTIAL_KIT_CLOUD_SERVICES_OTHER_SNAPSHOTS_BACKUP. More info once we chat on discord :)
     
  36. TillmaniaLtd

    TillmaniaLtd

    Joined:
    Jan 29, 2013
    Posts:
    65
    Hey, The Sharing vis SMS works great on iOS however on Android it always returns as User Cancelled before even prompting to share... Any idea what could be causing this?

    Code (CSharp):
    1.             MessageComposer composer = MessageComposer.CreateInstance();
    2.             composer.SetRecipients(phoneNumbers.ToArray());
    3.             composer.SetSubject("Subject");
    4.             composer.SetBody("Body");
    5.             composer.SetCompletionCallback((result, error) =>
     
  37. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    If it returns quickly, it usually means there is no service to serve it. Can you try removing the Subject and try once to see if it works?
     
  38. D_Cergy

    D_Cergy

    Joined:
    Feb 18, 2015
    Posts:
    35
    Glad to know it is already added! :)
    I would like to be a tester. But I'm sorry I don't have Discord and not familiar with it, so I've sent you an email instead.
     
    Voxel-Busters likes this.
  39. QuilloGames

    QuilloGames

    Joined:
    Jul 31, 2017
    Posts:
    17
    Hi, new user of the plugin here. The features available are awesome. I just get the plugin setup, but I got error when I tried to make a build.

    I am in the middle of the project when I got the plugin, so I did have some other Google official packages imported. Such as the Android in-app review package. I have also implemented my own Google Cloud save. It would be best if I do not have to restart a clear project..

    The error log is:

    D:\OneDrive - connect.hku.hk\Games\Apopia\Games\Minigames\Pokerudoku\Unity Project\Pokerdoku\Library\Bee\Android\Prj\IL2CPP\Gradle\launcher\src\main\AndroidManifest.xml:15:13-34 Error:
    Attribute meta-data#com.google.android.play.billingclient.version@value value=(3.0.3) from [:billing-3.0.3:] AndroidManifest.xml:15:13-34
    is also present at [:com.android.billingclient.billing-5.0.0:] AndroidManifest.xml:15:13-34 value=(5.0.0).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:13:9-15:37 to override.

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':launcher:processReleaseManifest'.
    > Manifest merger failed : Attribute meta-data#com.google.android.play.billingclient.version@value value=(3.0.3) from [:billing-3.0.3:] AndroidManifest.xml:15:13-34
    is also present at [:com.android.billingclient.billing-5.0.0:] AndroidManifest.xml:15:13-34 value=(5.0.0).
    Suggestion: add 'tools:replace="android:value"' to <meta-data> element at AndroidManifest.xml:13:9-15:37 to override.

    * Try:
    Run with --stacktrace option to get the stack trace. Run with --info or --debug option to get more log output. Run with --scan to get full insights.

    * Get more help at https://help.gradle.org

    BUILD FAILED in 1s
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8

    UnityEngine.GUIUtility:processEvent (int,intptr,bool&)
     
  40. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Ok, got it.
    You don't need to start from scratch. Recently, we have made compatibility with cloud save too so that devs can migrate from other plugins in the middle of the project.

    Regarding the error, it's because you enabled both our billing services feature and unity's IAP mostly. If that's the case, please make sure you use only one of those. Either our's or Unity's. Also, if you don't use Unity IAP, cross check if any orphan folders of unity iap in your project. If you don't use our's, disable the feature in our settings.
     
  41. shibatom1130

    shibatom1130

    Joined:
    Mar 25, 2020
    Posts:
    6
    Hi. Your asset looks great.
    Can I set a custom push notification sound via the asset?
    If it is possible, I will definitely buy it.
     
    Last edited: Dec 2, 2022
  42. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    It's possible to set custom sound but the sound file need to exist in StreamingAssets folder.
     
  43. shibatom1130

    shibatom1130

    Joined:
    Mar 25, 2020
    Posts:
    6
    Thank you for your quick reply. I bought the asset.
     
    Voxel-Busters likes this.
  44. QuilloGames

    QuilloGames

    Joined:
    Jul 31, 2017
    Posts:
    17
    When I install the plugin to a new project, Unity is asking me to add the npmjs scoped registry. Is it normal? Should I add it or not? And may I ask what is the registry for? Thank you for your help.
     
  45. QuilloGames

    QuilloGames

    Joined:
    Jul 31, 2017
    Posts:
    17
    When using Cloud Services, if I checked Synchronize on load, would OnSynchronizeComplete in my script be called? Another question is if my script with OnSynchronizeComplete hasn't been loaded when Synchronize on load is completed, how could I catch the call back of Synchronize on load?
     
  46. QuilloGames

    QuilloGames

    Joined:
    Jul 31, 2017
    Posts:
    17
    In Rate My App, does the Min Hours option count the time elapsed in-game only or the time since the app is installed?

    I am sorry for the posting several questions at once. I am new to the plugin so I am still trying to figure out everything. Thanks a lot for your help and making this great plugin.
     
  47. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    @QuilloGames Please contact our discord support for quick communication.
     
  48. Katsub

    Katsub

    Joined:
    Jan 25, 2016
    Posts:
    10
    Hello, I bought essential kit 3 days ago for the cloud saving solution, but I'm unable to use it in a reliable manner. I've found that whenever I save offline on Android, even if I reopen the app, the saving function gets permanently broken, regardless of me saving and sync'ing online. I've attached the reproduction method below:

    This behaviour can be reproduced in the Demo that comes with essentialkit. Authenticate() -> Synchronize() -> SetLong("dif", 5) -> Synchronize() -> Go offline -> SetLong("dif",7) -> Synchronize() -> Restart app -> Go online -> Authenticate() -> Synchronize() -> SetLong("dif", 9) -> Synchronize() -> Reinstall app -> Authenticate() -> Synchronize() -> GetLong("dif") -> Returns 5. So even reopening the app online from the beginning and saving a new value got ignored

    Could you explain to me how to fix this issue so I can have reliable cloud saving? If not, do you have an ETA on when this'll be fixed, so I know if essential kit can still be useful for me?
     
  49. Voxel-Busters

    Voxel-Busters

    Joined:
    Feb 25, 2015
    Posts:
    1,963
    Let me answer it step by step
    1. Authenticate() -> Synchronize() -> SetLong("dif", 5) -> Synchronize() => (Cloud, Local) = (5, 5)
    2. -> Go offline -> SetLong("dif",7) -> Synchronize() -> (Cloud, Local) = (5, 7)
    3. Restart app -> Go online -> Authenticate() -> Synchronize() => You get a callback saying cloud value for "diff" has a conflict. You need to call CloudServices.TryGetCloudAndLocalCacheValues to get (Cloud, Local) = (5, 7) and set the value which you see is valid via CloudServices.SetLong. If you don't set your local value here to CloudServices setters for diff, it considers the cloud value when you call GetLong, i.e, it returns 5.
    4. SetLong("dif", 9) -> Synchronize() => (Cloud, Local) = (9, 9)
    5. Reinstall app -> Authenticate() -> Synchronize() -> GetLong("dif") => (Cloud, Local) = (9, 9)
    6. Returns 5 => This should be 9
    If it returns 5, something else is wrong. We will do a quick test with the above steps and get back to you at the earliest possible.

    Only thing I doubt is at step 4, where the issue can happen if the sync fails or you quit the above before synchronise getting finished/processed. You can ignore steps 1-3 as you have set in step 4.

    Cheers,
    VB Team
     
  50. Katsub

    Katsub

    Joined:
    Jan 25, 2016
    Posts:
    10
    Thanks for taking a look at it. To clarify, I've waited for the Synchronize() callback every time, before closing the app or even doing other operations, so it was always finished. Step 1 is to show online saving was working, step 2 is an offline save test, steps 3-4-5-6 are there to show online saving no longer works after an offline save