Search Unity

Easy Mobile - Many-in-one package for mobile games

Discussion in 'Assets and Asset Store' started by pt5011, Jan 28, 2017.

  1. glykom

    glykom

    Joined:
    Aug 11, 2020
    Posts:
    15
    I worked out a fix/workaround for this error:

    > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.


    Open up Assets\EasyMobile\Editor\EasyMobileDependencies.xml

    Change:
    <androidPackage spec="com.sglib.easymobile:easy-mobile:1.+">

    To:
    <androidPackage spec="com.sglib.easymobile:easy-mobile:1.5.0">


    Then rebuild. If you still have the error then delete your library folder first and then rebuild.
     
    talofen and BebopTune like this.
  2. Mamoon178

    Mamoon178

    Joined:
    Jul 26, 2017
    Posts:
    36
    uncheck custom main gradle templete and custom properties templete. then build work fine
     
    glykom likes this.
  3. glykom

    glykom

    Joined:
    Aug 11, 2020
    Posts:
    15
    xjjon likes this.
  4. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    465
    Deleting this Library folder turns out to be a brutal but rather satisfying option more often than should be admissible.
    There are sometimes references that are impossible to extirpate and purge, stuck somewhere in this folder's entrails, and letting Unity rebuild a fresh version is a great resolver.
    Just do a backup beforehand.
     
  5. rpmlins

    rpmlins

    Joined:
    Feb 28, 2013
    Posts:
    4
    Hi, I have a problem of Duplicates Banner Ads when calling the
    Code (CSharp):
    1. Advertising.ShowBannerAd()
    from a Coroutine, I've checked if it was been called twice, but it isn't.

    I called it only once on the Start() Method of my GameManager class. The break point only hits once as well.

    upload_2021-9-21_10-20-37.png

    upload_2021-9-21_10-19-2.png

    Can anybody help me with this?
     

    Attached Files:

  6. rpmlins

    rpmlins

    Joined:
    Feb 28, 2013
    Posts:
    4

    I've open the demo scene and even on the demo, every time that I click to show and Ad, it adds twice....
     
  7. Rizwan31840

    Rizwan31840

    Joined:
    Oct 9, 2017
    Posts:
    4
    Hidebannerad is not working perfectly and sometimes it does not hids the banner but before 2.7.0 update it was working fine. on the same time Destroybannerad is working fine! please resolve this issue!
     
  8. shadermanger

    shadermanger

    Joined:
    Sep 21, 2020
    Posts:
    21
    I Have a problem "EM is working" but not initializing the Adcolony Plugin. Is there any solution or anyone other facing the same issue ?
     
  9. aidinz

    aidinz

    Joined:
    Apr 17, 2016
    Posts:
    63
    Hi,

    My Google Mobile Ads App ID and Rewarded Interstitial Ad (Android ID) in Easy Mobile Pro's settings cannot be not saved. There are no other Inspector windows open as the documents' troubleshooting suggested. This causes to get builds that ads don't work on them.

    It's like I put them there but as soon as I enter play mode I see them disappear!

    I'm using the latest 2.17.3 on Unity 2020.3.19 on Windows and Platform is Android.
     
  10. ngfilms

    ngfilms

    Joined:
    Nov 18, 2015
    Posts:
    30
    really basic issue (using pro version ) NATIVE UI doesn't appear to be enabled, there is no error message. what could possibly be wrong?
     
  11. jocyf

    jocyf

    Joined:
    Jan 30, 2007
    Posts:
    288
    to @aidinz

    as @Urjin said in a previous post:

    I'm really stuck.
    I trying to implement UnityAds via EasyMobile. But have strange results.
    I've recieved on console messages like :"OnUnityAdsReady: Interstitial_Android" and so on.
    But after all Advertising.IsInterstitialAdReady() is always false. Same for rewarded.
    I'm using Unity 2020.3.15. I think that problem is in initial settings. I've lost something. But I really don't understand what.
    Can someone help me?


    And the answer was that unity ads, changed default names for interstitial and rewarded placement from video & rewarded video to interstitial_Android & Rewarded_Android respectively.
    And as I can not change default names in plugin I had to set new placements in ads dashboard. Where that everything starts working fine.

    Edit: You could try something like that in your case... In my case (i'm using Unity ads, it worked)
     
  12. cmersereau

    cmersereau

    Joined:
    Nov 6, 2020
    Posts:
    52
    @pt5011 It would be great to have a share location feature to open the default navigation app using a current location or destination location
     
  13. noahx

    noahx

    Joined:
    Nov 22, 2010
    Posts:
    77
    Hi,
    I migrated a project from Unity 2018 to Unity 2020 and I'm getting lots of errors. I'm not a coder per se (but with enough knowledge to do basic scripting) so I don't have much of a clue about the approach. The project was working fine in Unity 2018 but had to move to Unity 2020 because of an asset that works from that Version and up. I also updated Easy Mobile to the latest version in an attempt to fix them but I'm getting the same errors:

    upload_2021-10-6_11-8-46.png

    Any ideas about what should I look for in terms of how to fix those errors?

    Thanks.
     
  14. col000r

    col000r

    Joined:
    Mar 27, 2008
    Posts:
    699
    @pt5011 I think there's a bug in UnityAdsClientImpl / UnityAdsSettings
    UnityAdsClientImpl is trying to access mAdSettings.CustomRewardedInterstitialAdIds, but that simply does not exist in UnityAdsSettings
    Please fix? :)
     
  15. col000r

    col000r

    Joined:
    Mar 27, 2008
    Posts:
    699
    Oh nice, switched to AdColony - exact same thing happens there too.

    Assets\EasyMobile\Scripts\Modules\Advertising\NetworkClients\AdColonyClientImpl.cs(304,65): error CS1061: 'AdColonySettings' does not contain a definition for 'CustomRewardedInterstitialAdsDict' and no accessible extension method 'CustomRewardedInterstitialAdsDict' accepting a first argument of type 'AdColonySettings' could be found (are you missing a using directive or an assembly reference?)
     
  16. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    465
    In the editor, IAP_Get Product Data doesn't seem to collect neither the Price String nor the Description, despite the fields being properly filled in the EMP settings.
     
  17. dailiyouxigongzuoshi

    dailiyouxigongzuoshi

    Joined:
    Jun 28, 2020
    Posts:
    2
    How is the date range modified? How do you get two weeks of row charts?
     
  18. san40511

    san40511

    Joined:
    Oct 20, 2019
    Posts:
    29
    Hi guys. I'm trying to implement achievements but i spent 2 days and it is still not working. I'm running the testing page and it is always says "You need to initialize the module first". I did everything like in this
    video but it doesn't work. I always see that my user is not logged in. PLEASE HELP
     
    Last edited: Oct 26, 2021
    dhiko62 likes this.
  19. Etsai

    Etsai

    Joined:
    Sep 12, 2014
    Posts:
    24
    Hello, is it pssible to download older versions of EM Pro? Why is not this functionality enabled in Unity's Package Manager?
     
  20. unity_khZXyOy8OW9epQ

    unity_khZXyOy8OW9epQ

    Joined:
    Jan 25, 2021
    Posts:
    1
    Hi I'm using easymobile pro to show ads via playmaker action, I've done a very complete adjustment of settings but it's not working I've done the ID settings for the unity ads ad unit, I've run the initialization, but it's still stuck on advertising_is intersititial ads, Previously I've done all of this correctly and in the same way, but now all this doesn't work properly, the ads don't appear, there is a stuck on the playmaker action (Advertising_is interstitial Ad Ready) I also made sure that the Internet is on & has a connection pretty good internet

    Is here anyone can help to make all this work, I'm using easymobile pro with playmaker? It's really will helping me
     

    Attached Files:

    • 1.png
      1.png
      File size:
      174.2 KB
      Views:
      267
    • 2.png
      2.png
      File size:
      176 KB
      Views:
      267
    • 3.png
      3.png
      File size:
      198.7 KB
      Views:
      282
  21. Brainshack

    Brainshack

    Joined:
    Mar 1, 2013
    Posts:
    33
    I had an issue with namespaces while using this assets which I think might be a common thing. I have a global namespace "Util", which collides with the EasyMobile.Internal.Util. This leads so errors like this:

    [CompilerError] The type or namespace name 'UnixEpoch' does not exist in the namespace 'Util' (are you missing an assembly reference?)
    Compiler Error at Assets\EasyMobile\Scripts\Core\RuntimeManager.cs:50 column 75
    48: // Store the timestamp of the *first* init which can be used
    49: // as a rough approximation of the installation time.
    -->50: if (StorageUtil.GetTime(APP_INSTALLATION_TIMESTAMP_PPKEY, Util.UnixEpoch) == Util.UnixEpoch)
    51: StorageUtil.SetTime(APP_INSTALLATION_TIMESTAMP_PPKEY, DateTime.Now);

    This happens even though EasyMobile.Internal is imported. I believe it is because C# looks into the global scope first. This can easily be fixed by Prefixing calls like in this case "Util.UnixEpoc" becomes "Internal.Util.UnixEpoch". Not sure if there is a better fix that wouldn't require users to change their code. I am not super deep into the inner workings of C#.
     
  22. cankirici34

    cankirici34

    Joined:
    Mar 27, 2020
    Posts:
    14
    Where is the basic version on assets store? I cant find it and is it free?
     
  23. ngfilms

    ngfilms

    Joined:
    Nov 18, 2015
    Posts:
    30
    It wont work unless you test the app through app store , if you want to test your playmaker actions locally, you can bypass this check, most AD/IAP stuff will not work locally.
     
  24. Kazeon

    Kazeon

    Joined:
    May 22, 2017
    Posts:
    41
    Hi... I'm pretty new to EM Pro and these Google Play stuffs.. I'm sorry in advance that maybe my question has already been answered somewhere else. But in my game I'm doing the Game Service init manually using the 'GameServices.Init()'.. But when I test it in my mobile device, looks like the initialization fails silently, when debugged, it prints "Returning an error code" but without specifying what's exactly the error code nor any information at all. Anyone knows where did I probably mess up? I'm pretty sure I have done everything in the user guide properly as instructed...
     
  25. dustinbahr

    dustinbahr

    Joined:
    Sep 10, 2012
    Posts:
    57
    I've noticed there is some small holes in the callback logic for Game Saves.
    When I call ManagedInit, I should be receiving a UserLoginFailed event for EVERY instance of a failed login.

    Right now it completely ignores the callback if GPG is missing, or if Android has reached its login limit.

    This is important because we want to load a users save and check for it before the game loads. So we need the UserLoginSucceed or Fail to always return something to proceed with our game flow.

    Thanks!
     
  26. dustinbahr

    dustinbahr

    Joined:
    Sep 10, 2012
    Posts:
    57
    What is the issue on your end? I'm testing it out now, and on iOS the cloud saving "works", BUT once I try to actually load a cloud save AFTER deleting the app, it never finds any data, so it's not actually cloud saving? Not sure what's going on.
     
  27. Funtyx

    Funtyx

    Joined:
    May 3, 2017
    Posts:
    37
    After installing Easy Mobile and building the game for Android, I get the following errors. Using Unity 2021.1.12f1

    upload_2021-12-9_15-44-17.png

    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
    An exception has occurred in the compiler (1.8.0-adoptopenjdk). Please file a bug against the Java compiler via the Java bug reporting page (http://bugreport.java.com) after checking the Bug Database (http://bugs.java.com) for duplicates. Include your program and the following diagnostic in your report. Thank you.
    java.lang.AssertionError: annotationType(): unrecognized Attribute name MODULE (class com.sun.tools.javac.util.UnsharedNameTable$NameImpl)
    at com.sun.tools.javac.util.Assert.error(Assert.java:133)
    at com.sun.tools.javac.code.TypeAnnotations.annotationType(TypeAnnotations.java:231)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.separateAnnotationsKinds(TypeAnnotations.java:294)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitVarDef(TypeAnnotations.java:1164)
    at com.sun.tools.javac.tree.JCTree$JCVariableDecl.accept(JCTree.java:852)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:57)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.visitClassDef(TypeAnnotations.java:1042)
    at com.sun.tools.javac.tree.JCTree$JCClassDecl.accept(JCTree.java:693)
    at com.sun.tools.javac.tree.TreeScanner.scan(TreeScanner.java:49)
    at com.sun.tools.javac.code.TypeAnnotations$TypeAnnotationPositions.scan(TypeAnnotations.java:275)
    at com.sun.tools.javac.code.TypeAnnotations$1.run(TypeAnnotations.java:127)
    at com.sun.tools.javac.comp.Annotate.flush(Annotate.java:152)
    at com.sun.tools.javac.comp.Annotate.enterDone(Annotate.java:129)
    at com.sun.tools.javac.comp.Enter.complete(Enter.java:512)
    at com.sun.tools.javac.comp.Enter.main(Enter.java:471)
    at com.sun.tools.javac.main.JavaCompiler.enterTrees(JavaCompiler.java:982)
    at com.sun.tools.javac.main.JavaCompiler.compile(JavaCompiler.java:857)
    at com.sun.tools.javac.main.Main.compile(Main.java:523)
    at com.sun.tools.javac.api.JavacTaskImpl.doCall(JavacTaskImpl.java:129)
    at com.sun.tools.javac.api.JavacTaskImpl.call(JavacTaskImpl.java:138)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessingCompileTask.call(AnnotationProcessingCompileTask.java:93)
    at org.gradle.api.internal.tasks.compile.ResourceCleaningCompilationTask.call(ResourceCleaningCompilationTask.java:57)
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:54)
    at org.gradle.api.internal.tasks.compile.JdkJavaCompiler.execute(JdkJavaCompiler.java:39)
    at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.delegateAndHandleErrors(NormalizingJavaCompiler.java:100)
    at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:52)
    at org.gradle.api.internal.tasks.compile.NormalizingJavaCompiler.execute(NormalizingJavaCompiler.java:38)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:51)
    at org.gradle.api.internal.tasks.compile.AnnotationProcessorDiscoveringCompiler.execute(AnnotationProcessorDiscoveringCompiler.java:37)
    at org.gradle.api.internal.tasks.compile.CleaningJavaCompilerSupport.execute(CleaningJavaCompilerSupport.java:39)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:101)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalCompilerFactory$2.execute(IncrementalCompilerFactory.java:97)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:60)
    at org.gradle.api.internal.tasks.compile.incremental.IncrementalResultStoringCompiler.execute(IncrementalResultStoringCompiler.java:44)
    at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:59)
    at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler$2.call(CompileJavaBuildOperationReportingCompiler.java:51)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.api.internal.tasks.compile.CompileJavaBuildOperationReportingCompiler.execute(CompileJavaBuildOperationReportingCompiler.java:51)
    at org.gradle.api.tasks.compile.JavaCompile.performCompilation(JavaCompile.java:158)
    at org.gradle.api.tasks.compile.JavaCompile.compile(JavaCompile.java:126)
    at sun.reflect.NativeMethodAccessorImpl.invoke0(Native Method)
    at sun.reflect.NativeMethodAccessorImpl.invoke(NativeMethodAccessorImpl.java:62)
    at sun.reflect.DelegatingMethodAccessorImpl.invoke(DelegatingMethodAccessorImpl.java:43)
    at java.lang.reflect.Method.invoke(Method.java:498)
    at org.gradle.internal.reflect.JavaMethod.invoke(JavaMethod.java:103)
    at org.gradle.api.internal.project.taskfactory.IncrementalTaskInputsTaskAction.doExecute(IncrementalTaskInputsTaskAction.java:47)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:42)
    at org.gradle.api.internal.project.taskfactory.AbstractIncrementalTaskAction.execute(AbstractIncrementalTaskAction.java:25)
    at org.gradle.api.internal.project.taskfactory.StandardTaskAction.execute(StandardTaskAction.java:28)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$5.run(ExecuteActionsTaskExecuter.java:476)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:402)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$RunnableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:394)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.run(DefaultBuildOperationExecutor.java:92)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.run(DelegatingBuildOperationExecutor.java:31)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeAction(ExecuteActionsTaskExecuter.java:461)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.executeActions(ExecuteActionsTaskExecuter.java:444)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.access$200(ExecuteActionsTaskExecuter.java:93)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter$TaskExecution.execute(ExecuteActionsTaskExecuter.java:237)
    at org.gradle.internal.execution.steps.ExecuteStep.lambda$execute$0(ExecuteStep.java:32)
    at java.util.Optional.map(Optional.java:215)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:32)
    at org.gradle.internal.execution.steps.ExecuteStep.execute(ExecuteStep.java:26)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:58)
    at org.gradle.internal.execution.steps.CleanupOutputsStep.execute(CleanupOutputsStep.java:35)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:48)
    at org.gradle.internal.execution.steps.ResolveInputChangesStep.execute(ResolveInputChangesStep.java:33)
    at org.gradle.internal.execution.steps.CancelExecutionStep.execute(CancelExecutionStep.java:39)
    at org.gradle.internal.execution.steps.TimeoutStep.executeWithoutTimeout(TimeoutStep.java:73)
    at org.gradle.internal.execution.steps.TimeoutStep.execute(TimeoutStep.java:54)
    at org.gradle.internal.execution.steps.CatchExceptionStep.execute(CatchExceptionStep.java:35)
    at org.gradle.internal.execution.steps.CreateOutputsStep.execute(CreateOutputsStep.java:51)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:45)
    at org.gradle.internal.execution.steps.SnapshotOutputsStep.execute(SnapshotOutputsStep.java:31)
    at org.gradle.internal.execution.steps.CacheStep.executeWithoutCache(CacheStep.java:208)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:70)
    at org.gradle.internal.execution.steps.CacheStep.execute(CacheStep.java:45)
    at org.gradle.internal.execution.steps.BroadcastChangingOutputsStep.execute(BroadcastChangingOutputsStep.java:49)
    at org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:43)
    at org.gradle.internal.execution.steps.StoreSnapshotsStep.execute(StoreSnapshotsStep.java:32)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:38)
    at org.gradle.internal.execution.steps.RecordOutputsStep.execute(RecordOutputsStep.java:24)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.executeBecause(SkipUpToDateStep.java:96)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.lambda$execute$0(SkipUpToDateStep.java:89)
    at java.util.Optional.map(Optional.java:215)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:54)
    at org.gradle.internal.execution.steps.SkipUpToDateStep.execute(SkipUpToDateStep.java:38)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:76)
    at org.gradle.internal.execution.steps.ResolveChangesStep.execute(ResolveChangesStep.java:37)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:36)
    at org.gradle.internal.execution.steps.legacy.MarkSnapshottingInputsFinishedStep.execute(MarkSnapshottingInputsFinishedStep.java:26)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:90)
    at org.gradle.internal.execution.steps.ResolveCachingStateStep.execute(ResolveCachingStateStep.java:48)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:69)
    at org.gradle.internal.execution.steps.CaptureStateBeforeExecutionStep.execute(CaptureStateBeforeExecutionStep.java:47)
    at org.gradle.internal.execution.impl.DefaultWorkExecutor.execute(DefaultWorkExecutor.java:33)
    at org.gradle.api.internal.tasks.execution.ExecuteActionsTaskExecuter.execute(ExecuteActionsTaskExecuter.java:140)
    at org.gradle.api.internal.tasks.execution.ValidatingTaskExecuter.execute(ValidatingTaskExecuter.java:62)
    at org.gradle.api.internal.tasks.execution.SkipEmptySourceFilesTaskExecuter.execute(SkipEmptySourceFilesTaskExecuter.java:108)
    at org.gradle.api.internal.tasks.execution.ResolveBeforeExecutionOutputsTaskExecuter.execute(ResolveBeforeExecutionOutputsTaskExecuter.java:67)
    at org.gradle.api.internal.tasks.execution.ResolveAfterPreviousExecutionStateTaskExecuter.execute(ResolveAfterPreviousExecutionStateTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.CleanupStaleOutputsExecuter.execute(CleanupStaleOutputsExecuter.java:94)
    at org.gradle.api.internal.tasks.execution.FinalizePropertiesTaskExecuter.execute(FinalizePropertiesTaskExecuter.java:46)
    at org.gradle.api.internal.tasks.execution.ResolveTaskExecutionModeExecuter.execute(ResolveTaskExecutionModeExecuter.java:95)
    at org.gradle.api.internal.tasks.execution.SkipTaskWithNoActionsExecuter.execute(SkipTaskWithNoActionsExecuter.java:57)
    at org.gradle.api.internal.tasks.execution.SkipOnlyIfTaskExecuter.execute(SkipOnlyIfTaskExecuter.java:56)
    at org.gradle.api.internal.tasks.execution.CatchExceptionTaskExecuter.execute(CatchExceptionTaskExecuter.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.executeTask(EventFiringTaskExecuter.java:77)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:55)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter$1.call(EventFiringTaskExecuter.java:52)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:416)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$CallableBuildOperationWorker.execute(DefaultBuildOperationExecutor.java:406)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor$1.execute(DefaultBuildOperationExecutor.java:165)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:250)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.execute(DefaultBuildOperationExecutor.java:158)
    at org.gradle.internal.operations.DefaultBuildOperationExecutor.call(DefaultBuildOperationExecutor.java:102)
    at org.gradle.internal.operations.DelegatingBuildOperationExecutor.call(DelegatingBuildOperationExecutor.java:36)
    at org.gradle.api.internal.tasks.execution.EventFiringTaskExecuter.execute(EventFiringTaskExecuter.java:52)
    at org.gradle.execution.plan.LocalTaskNodeExecutor.execute(LocalTaskNodeExecutor.java:43)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:355)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$InvokeNodeExecutorsAction.execute(DefaultTaskExecutionGraph.java:343)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:336)
    at org.gradle.execution.taskgraph.DefaultTaskExecutionGraph$BuildOperationAwareExecutionAction.execute(DefaultTaskExecutionGraph.java:322)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:134)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker$1.execute(DefaultPlanExecutor.java:129)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.execute(DefaultPlanExecutor.java:202)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.executeNextNode(DefaultPlanExecutor.java:193)
    at org.gradle.execution.plan.DefaultPlanExecutor$ExecutorWorker.run(DefaultPlanExecutor.java:129)
    at org.gradle.internal.concurrent.ExecutorPolicy$CatchAndRecordFailures.onExecute(ExecutorPolicy.java:64)
    at org.gradle.internal.concurrent.ManagedExecutorImpl$1.run(ManagedExecutorImpl.java:48)
    at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1149)
    at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:624)
    at org.gradle.internal.concurrent.ThreadFactoryImpl$ManagedThreadRunnable.run(ThreadFactoryImpl.java:56)
    at java.lang.Thread.run(Thread.java:748)

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':unityLibrary:compileReleaseJavaWithJavac'.
    > Compilation failed; see the compiler error output for details.

    * 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 3s

    UnityEngine.GUIUtility:processEvent (int,intptr,bool&) (at /Users/bokken/buildslave/unity/build/Modules/IMGUI/GUIUtility.cs:189)
     
  28. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    Guys,

    I am trying out Easy Mobile Pro IAP functionalities. After 10 hours trying to make it work, I decided to give up and use Unity native functionalities instead since I see so much comments involving issues on Easy Mobile in this forum, so i better not dig deeper into the hole and waste time. I thought this is a great product as many people recommend it.

    What is the proper way to remove Easy Mobile Pro from my project? Just delete the folder?
     
  29. ngfilms

    ngfilms

    Joined:
    Nov 18, 2015
    Posts:
    30
    EMP and UDP
    I note that this question remains unanswered on the forum, i.e. , does EMP support UDP in app puchase?
     
  30. dailiyouxigongzuoshi

    dailiyouxigongzuoshi

    Joined:
    Jun 28, 2020
    Posts:
    2
    EasyMobile.RuntimeManager.Init();
    EasyMobile.InAppPurchasing.InitializePurchasing();
    EasyMobile.GameServices.Init();
    EasyMobile.GameServices.ManagedInit();

    • Hello, how can I solve the problem of failure to initialize in real computer
     
  31. VinylPixels

    VinylPixels

    Joined:
    Dec 10, 2016
    Posts:
    13
    Thanks! Not sure what causes this, but it's baffling that this fix from 6 months ago needs to be applied to the LATEST version of Easy Mobile Pro from December 2021 o_O.

    Also google doesn't find this error / fix. I came to the forum to ask for help with this issue (as I couldn't find anything on google) only to find that half a year ago someone already solved that o_O
     
    glykom likes this.
  32. dimzki

    dimzki

    Joined:
    Apr 17, 2018
    Posts:
    12
    I'm also having this problem, so far only tested it with AdMob banner.
    I'm not calling it from a Coroutine, and I even make a debug Int variable whenever the function was called. But it shows that the function only called once.

    I'm using Unity Advertisement Package 3.7.5, tried to update to 4.0 but apparently there's a problem with IsReady variable not found.
    and I'm using the latest EM in package manager version 2.17.5 (December 18, 2021)
     
    Last edited: Jan 12, 2022
  33. Vagner_

    Vagner_

    Joined:
    Apr 8, 2015
    Posts:
    7
    i'm trying to test notifications but the notification module isn't building properly... the 'isInitialized' property keeps FALSE and i can't find logs anywhere because it only happens on release builds. what am i missing?


    01-25 16:31:31.893 23187 23212 E Unity : AndroidJavaException: java.lang.ClassNotFoundException: com.sglib.easymobile.androidnative.notification.NotificationUnityInterface
    01-25 16:31:31.893 23187 23212 E Unity : java.lang.ClassNotFoundException: com.sglib.easymobile.androidnative.notification.NotificationUnityInterface
    01-25 16:31:31.893 23187 23212 E Unity : at java.lang.Class.classForName(Native Method)
    01-25 16:31:31.893 23187 23212 E Unity : at java.lang.Class.forName(Class.java:454)
    01-25 16:31:31.893 23187 23212 E Unity : at com.unity3d.player.UnityPlayer.nativeRender(Native Method)
    01-25 16:31:31.893 23187 23212 E Unity : at com.unity3d.player.UnityPlayer.access$300(Unknown Source:0)
    01-25 16:31:31.893 23187 23212 E Unity : at com.unity3d.player.UnityPlayer$e$1.handleMessage(Unknown Source:95)
    01-25 16:31:31.893 23187 23212 E Unity : at android.os.Handler.dispatchMessage(Handler.java:102)
    01-25 16:31:31.893 23187 23212 E Unity : at android.os.Looper.loop(Looper.java:236)
    01-25 16:31:31.893 23187 23212 E Unity : at com.unity3d.player.UnityPlayer$e.run(Unknown Source:20)
    01-25 16:31:31.893 23187 23212 E Unity : Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sglib.easymobile.androidnative.notification.NotificationUnityInterface" on path: DexPathList[[zip file "/data/app/~~mK5xs-98DidR_NSbRqm20g==/com.DefaultCompany.StraydogsApp-ZhUij2DaIlzD-j_3JCm3IA==/base.apk"],nativeLibraryDirectories=[/data/app/~~mK5xs-98DidR_NSb
     
    Last edited: Jan 25, 2022
  34. Vagner_

    Vagner_

    Joined:
    Apr 8, 2015
    Posts:
    7
    Ok so i managed to install missing dependencies with android force resolve, but now i'm running into this...
     

    Attached Files:

  35. Vagner_

    Vagner_

    Joined:
    Apr 8, 2015
    Posts:
    7
    well i finally got it to work local notifications with custom sounds, it should be on a folder called 'raw' inside the android resource folder, lack of documentation :/

    but yet.. the notification never happens if the device is with locked screen how should i proceed?
     
  36. Vagner_

    Vagner_

    Joined:
    Apr 8, 2015
    Posts:
    7
    finally i got it, in my app information, i've setted battery economy restrition to none. then the notification worked properly. how am i supposed to set that in the unity editor? can i overwrite the automatic generated manifest somehow?
     
  37. vkajudiya

    vkajudiya

    Joined:
    Mar 24, 2014
    Posts:
    9
    hi,
    i am using Advertise module with Admob only. and make a setting with Auto initialize. now i want to load a banner ad but when i load it on start() at that time i got this error "You need to initialize the Advertising module first"

    we can make delay of 5 second after start , or i need event for Advertising module initialize success.

    is there any event where i can check Advertising module is initialized ?
     
  38. Nihil688

    Nihil688

    Joined:
    Mar 12, 2013
    Posts:
    503
    Has anyone managed the asmdefs for this plugin?
     
  39. Boliver0482

    Boliver0482

    Joined:
    Oct 19, 2019
    Posts:
    45
    Hello. After a little guidance. I've used the IAP wrapper for the unity functionality this asset provides. Android was easy to get working. On iOS, I have it working in sandbox for both purchases and restores, receipt validation, etc. However I have two problems.

    1) The purchase complete handler never fires. Again this is in the iOS sandbox - although the purchase will complete.
    2) Either when making a new purchase, or restoring a previous purchase, on iOS, isProductOwned always returns false until the app is restarted - then it will show as true. In the same way GetAppleIAPReceipt always returns null until after the device is restarted.

    This is for a non-consumable product. Any ideas? Is it a sandbox quirk, or something else?

    Many Thanks, Bob.
     
  40. nareshbishtasus

    nareshbishtasus

    Joined:
    Jun 11, 2018
    Posts:
    36
    Hello, I found this bug on version v2.17.5 where the "App ID" in GoogleMobileAdsSettings gets reset after every unity restart. My unity version is 2020.3.25f1.

    Here please watch this 25-second video -
     
  41. khrysller

    khrysller

    Joined:
    Mar 14, 2019
    Posts:
    125
    Hello. I know this is not strict to the EM core, but as I am the Game Services from it, I am receiving this warning:

    Code (CSharp):
    1. !!! [Play Games Plugin 0.10.12] 02/28/22 0:54:43 +01:00 WARNING: PlayGamesPlatform already initialized. Ignoring this call.  #0 0x7afc56d27c (libunity.so) ? 0x0  #1 0x7afc37b0f4 (libunity.so) ? 0x0  #2 0x7afc0cc098 (libunity.so) ? 0x0  #3 0x7afc0cbfc0 (libunity.so) ? 0x0  #4 0x7afaee55ac (libil2cpp.so) ? 0x0  #5 0x7afb466738 (libil2cpp.so) ? 0x0  #6 0x7afa88c54c (libil2cpp.so) ? 0x0  #7 0x7afa962f14 (libil2cpp.so) ? 0x0  #8 0x7afc0324fc (libunity.so) ? 0x0  #9 0x7afc03f890 (libunity.so) ? 0x0  #10 0x7afc04ad68 (libunity.so) ? 0x0  #11 0x7afbf29d8c (libunity.so) ? 0x0  #12 0x7afbf9cd9c (libunity.so) ? 0x0  #13 0x7afbf9cdd0 (libunity.so) ? 0x0  #14 0x7afbf9d014 (libunity.so) ? 0x0  #15 0x7afc0aa804 (libunity.so) ? 0x0  #16 0x7afc0bfcbc (libunity.so) ? 0x0  #17 0x7b5d4f67cc (base.odex) ? 0x0
    Any clue on how to handle this? I have tried some options included the suggestion on the docs:

    Code (CSharp):
    1.         if (!GameServices.IsInitialized())
    2.         {
    3.             GameServices.Init();
    4.         }
    ...with no luck. Any help on this will be great. Just an additional information, everything is working fine, is this is warning that is annoying me.

    Thanks.
     
  42. dimzki

    dimzki

    Joined:
    Apr 17, 2018
    Posts:
    12
    i just updated to the latest release of EM that says support Unity Ads 4,
    somehow it revert back to:

    <androidPackage spec="com.sglib.easymobile:easy-mobile:1.+">


    is this
    <androidPackage spec="com.sglib.easymobile:easy-mobile:1.5.0">

    still a valid fix for the current version or is there a higer version ?
     
    Last edited: Mar 5, 2022
  43. glykom

    glykom

    Joined:
    Aug 11, 2020
    Posts:
    15

    Check this folder to see the available versions that you have

    Assets/GeneratedLocalRepo/EasyMobile/Plugins/Android/m2repository/com/sglib/easymobile/easy-mobile/

    Edit:

    Looks like this issue has been finally fixed in the latest version EasyMobile
     

    Attached Files:

    Last edited: Mar 10, 2022
  44. dimzki

    dimzki

    Joined:
    Apr 17, 2018
    Posts:
    12
    Hey, thanks for the information. I checked and 1.5 is indeed the latest one.
    This'll help if by chance in the future update the same problem arise.

    Best Regards,
    Dimaz
     
  45. glykom

    glykom

    Joined:
    Aug 11, 2020
    Posts:
    15
    No worries, but it seems that the latest version of easy mobile (released march 10th) fixes this issue now
     
  46. lfarkas73

    lfarkas73

    Joined:
    Jul 27, 2017
    Posts:
    3
    Hi,

    All functions are working properly except of the iCloud save/load. It always returns following error: "The requested operation could not be completed because you are not signed in to iCloud or have not enabled iCloud drive."

    I am sure iCloud login is done and also iCloud drive is enabled. Other applications can save data without any issue on both devices I tried with.

    Does anybody know what is wrong?

    Thanks.
     
  47. cyangamer

    cyangamer

    Joined:
    Feb 17, 2010
    Posts:
    234
    I can confirm this is an issue. I believe there was another person besides the two of us running into iOS cloud save issues as well. I believe this is a bug in the package, but I'm not sure. You could try emailing the developer and seeing if they respond.
     
  48. dimzki

    dimzki

    Joined:
    Apr 17, 2018
    Posts:
    12
    Hi, just want to share something, this is out of topic, but just in case if anyone wondering how to check if user has internet connection, so that they could not avoid the ads,

    don't use
    Code (CSharp):
    1. Application.internetReachability != NetworkReachability.NotReachable
    as it can be avoided easily by turning on airplane mode.

    So what i did is i created a website for my game, and make the game ask for a ping to that website, if the ping is received then there is an internet connection.
    You might gonna say why not use google public domain, it's free. But i heard from lots of people that you might get into trouble if you there's a lot of pings to google coming from your app.

    so this is what i did:

    Code (CSharp):
    1. [SerializeField] GameObject panelInternetCheck;
    2. [SerializeField] float checkingFrequency = 5;
    3. [SerializeField] string website;
    4.  
    5. bool panelActive = false;
    6.  
    7. void Start()
    8.     {
    9.         StartCoroutine(RepeatingCheck());
    10.     }
    11.  
    12. IEnumerator RepeatingCheck()
    13.     {
    14.         while (true)
    15.         {
    16.             StartCoroutine(GetRequest());
    17.  
    18.             yield return new WaitForSeconds(checkingFrequency);
    19.             yield return null;
    20.         }
    21.     }
    22.  
    23. IEnumerator GetRequest()
    24.     {
    25.         while (true)
    26.         {
    27.             using UnityWebRequest webRequest = UnityWebRequest.Get(website);
    28.             // Request and wait for the desired page.
    29.             yield return webRequest.SendWebRequest();
    30.  
    31.             //string[] pages = website.Split('/');
    32.             //int page = pages.Length - 1;
    33.  
    34.             switch (webRequest.result)
    35.             {
    36.                 case UnityWebRequest.Result.ConnectionError:
    37.                     //Debug.LogError(pages[page] + ": Connection Error: " + webRequest.error);
    38.                     //No connection
    39.                     if (!panelActive)
    40.                     {
    41.                         panelActive = true;
    42.                         panelInternetCheck.SetActive(true);
    43.                     }
    44.                     break;
    45.                 case UnityWebRequest.Result.DataProcessingError:
    46.                     //Debug.LogError(pages[page] + ": Error: " + webRequest.error);
    47.                     //No connection
    48.                     if (!panelActive)
    49.                     {
    50.                         panelActive = true;
    51.                         panelInternetCheck.SetActive(true);
    52.                     }
    53.                     break;
    54.                 case UnityWebRequest.Result.ProtocolError:
    55.                     //Debug.LogError(pages[page] + ": HTTP Error: " + webRequest.error);
    56.                     //No connection
    57.                     if (!panelActive)
    58.                     {
    59.                         panelActive = true;
    60.                         panelInternetCheck.SetActive(true);
    61.                     }
    62.                     break;
    63.                 case UnityWebRequest.Result.Success:
    64.                     //Debug.Log(pages[page] + ":\nReceived: " + webRequest.downloadHandler.text);
    65.                     //success
    66.                     if (panelActive)
    67.                     {
    68.                         panelActive = false;
    69.                         panelInternetCheck.SetActive(false);
    70.                     }
    71.                     break;
    72.             }
    73.         }
    74.     }
    basically, if there is no internet connection, there'll be a popup window (panelInternetCheck) that'll obstruct every activity until there's an internet connection.

    this is not the perfect solution, but might be helpful for someone who's looking for a way to make sure that there's an internet connection for the ads.
     
  49. amoraleite

    amoraleite

    Joined:
    Oct 16, 2014
    Posts:
    41
    I have the same trouble. : /
     

    Attached Files:

  50. Heero888

    Heero888

    Joined:
    Jun 18, 2017
    Posts:
    57
    Guys,

    I have purchased Easy Mobile Pro and trying to test Google Cloud save with Game Services. I am following this tutorial:


    Using Unity 2019.4.20f1, below are the steps I have done so far on a new empty project
    1) Switch platform to Android in Build Settings / Platform

    2) Import the latest EasyMobilePro from Package Manager.

    3) After import EasyMobilePro, a window pops up in Unity and say "Enable Android Auto-resolution. (see sceenshot).

    4) Then I go to EasyMobile tab / Game Services enable it, and then download the GooglePlayGames plugin via the link (see screenshot)
    here is the link: https://github.com/playgameservices/play-games-plugin-for-unity

    5) then install the GooglePlayGames plugin package in unity.

    6) then i get a " ... CS0246: The type or namespace name 'Gravity' could not be found..." (see screenshot)

    then I get stuck here.

    Note: in step (3), I tried both Disable and Enable in different fresh projects and still get stuck.

    Any ideas? Thank you!
     

    Attached Files:

    amoraleite and Brice-Joly like this.