Search Unity

  1. Are you interested in providing feedback directly to Unity teams? Sign up to become a member of Unity Pulse, our new product feedback and research community.
    Dismiss Notice

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

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

  1. tahir_ali

    tahir_ali

    Joined:
    Jan 6, 2018
    Posts:
    111
    When update is Coming for Google Mobile ads v6.0?
     
  2. dayjur

    dayjur

    Joined:
    Sep 6, 2014
    Posts:
    58
    Cant get Amazon IAP working on 2.16 anyone else ?
     
  3. dayjur

    dayjur

    Joined:
    Sep 6, 2014
    Posts:
    58
    Nevermind my bad, must make sure JSON on device matches products otherwise wont init, also sandbox testing make sure permision set to external sd card so it can copy to device
     
  4. 39thstreet

    39thstreet

    Joined:
    Jan 30, 2012
    Posts:
    104
    Has anyone used Easy Mobile Pro with a kid's app recently?

    We have extensive experience with kid's app development, but this is the first time we've had to implement IAP (subscription) and I'm getting worried.

    A few related questions:
    1. EMP is build on top of Unity Purchasing, which requires Unity Analytics. There is a hack/workaround to disable Analytics at runtime, but I'm concerned how reliable it is. ( As an aside Unity spent months promising to decouple Analytics from IAP only to say they had no plans, see thread here for more ). Have people successfully disabled Analytics at run time with the hack described by Unity?

    2. Can you totally remove all the advertising and other tracking related elements of the EMP product? We'd only be using Cloud saves and IAP. I understand this sounds kinda crazy, but from experience: Apple scans apps and if any included code even references the IDFA they will boot you from the store and you will have to prove to them you aren't using it.

    Would appreciate any info / people with relevant experience. Thanks!
     
  5. MVS_1981

    MVS_1981

    Joined:
    Sep 10, 2020
    Posts:
    1
    Maybe I've missed it somewhere, but how do you:

    • Call an ad
    • stop time based on "ad is showing" state
    • Resume the game upon finished or skipped state of the ad?
     
  6. Fira-Soft

    Fira-Soft

    Joined:
    Sep 9, 2014
    Posts:
    12
    Suggestion: Make it easy to change the root folder of the plugin.
    I'm moved Easy Mobile from root to a Thirdparty folder for organization, and needed to go to the constants class and change the root path. This is ok (better if it uses a relative path instead). The problem is that when I make a mobile build, the EM_AndroidManifestBuilder class breaks.

    I changed the BuildAndroidLibFromFolder callback (EM_AndroidManifestBuilder, line 122) to use the EM_Constants.TemplateFolder and the EM_Constants.EditorFolder, both with the Remove(0, 7) on the end (to remove the /Assets. So this solved this issue, but having a relative path from beggining would be really useful.


    Code (CSharp):
    1.  
    2. string templatePath = FileIO.ToAbsolutePath((EM_Constants.TemplateFolder + "/Manifests/Manifest_Main.xml").Remove(0, 7));
    3. string outputPath = FileIO.ToAbsolutePath(manifestPath.Remove(0, 7));   // Remove "Assets/" from manifestPath
    4. string mexcPath = FileIO.ToAbsolutePath(EM_Constants.EditorFolder.Remove(0, 7));
     
    Last edited: Jun 21, 2021
  7. shadermanger

    shadermanger

    Joined:
    Sep 21, 2020
    Posts:
    20
    isInitialized is always false for amazon any solution?
     
  8. neowedge

    neowedge

    Joined:
    May 6, 2014
    Posts:
    10
    Hi!

    I'm using Easy Mobile 2.16.1 just for notifications and I don't found how can I change the small icon color for notifications (I think it's a very basic feature, so I supposed that it's implemented, else I would like to know if it's in your roadmap to do it).

    Also, I would like to know if there is any way to set a custom image as background or if it's in your roadmap to implement it.

    Thanks!
     
  9. nooxouille

    nooxouille

    Joined:
    Aug 29, 2018
    Posts:
    13
    Hi !
    Is there a reason for the "ShowLeaderboard" logic to work on what is the first scene of my project, but not on that same scene when coming back to it after switching back and forth to another one ?
    The context is simple : I have a main menu from where I can access througt a button to the PlayStore leaderboard. From that scene I can also start playing. But if I come back to the main menu (from the game scene), the button to access the leaderboard (on which is link the ShowLeaderboard() from the doc) isn't working anymore.

    Code (CSharp):
    1.  
    2.  
    3. public class GameServicesController : MonoBehaviour
    4. {
    5.  
    6.     /// <summary>
    7.     /// Allow the GameServicesController object to persist between the scenes
    8.     /// </summary>
    9.     private void SetUpSingleton()
    10.     {
    11.         int numberOfGameServicesController = FindObjectsOfType<GameServicesController>().Length;
    12.  
    13.         if (numberOfGameServicesController > 1)
    14.         {
    15.             Destroy(gameObject);
    16.         }
    17.         else
    18.         {
    19.             DontDestroyOnLoad(gameObject);
    20.         }
    21.     }
    22.  
    23.     private void Awake()
    24.     {
    25.         SetUpSingleton();
    26.  
    27.         if (!RuntimeManager.IsInitialized())
    28.         {
    29.             RuntimeManager.Init();
    30.         }
    31.     }
    32.  
    33.     private void Start()
    34.     {
    35.         if (!GameServices.IsInitialized())
    36.         {
    37.             GameServices.Init();
    38.         }
    39.     }
    40.  
    41.     public void ShowLeaderboard()
    42.     {
    43.         if (GameServices.IsInitialized())
    44.         {
    45.             Debug.Log("Showing Online Leaderboard");
    46.             GameServices.ShowLeaderboardUI();
    47.         }
    48.         else
    49.         {
    50.             Debug.Log("GameServices not init");
    51.         }
    52.     }
    53.  
    54.     public void SubmitScoreToLeaderboard()
    55.     {
    56.         if (GameServices.IsInitialized())
    57.         {
    58.             GameServices.ReportScore(Convert.ToInt64(GameManager.Instance.Points), EM_GameServicesConstants.Leaderboard_HighScores);
    59.         }
    60.     }
    61.  
    62.     public void LoadLocalUserScore()
    63.     {
    64.         if (GameServices.IsInitialized())
    65.         {
    66.             GameServices.LoadLocalUserScore(EM_GameServicesConstants.Leaderboard_HighScores, OnlocalUserScoreLoaded);
    67.         }
    68.     }
    69.  
    70.     void OnlocalUserScoreLoaded(string leaderboardName, IScore score)
    71.     {
    72.         if (score != null)
    73.         {
    74.             Debug.Log("Player score is " + score.value);
    75.         }
    76.         else
    77.         {
    78.             Debug.Log("No entry on " + leaderboardName);
    79.         }
    80.     }
    81. }
    82.  
    83.  
    I am on the 2.16.1 EMP version, unity 2019.4.26f1 and testing on a GalaxyTab S5e, android 11.

    [EDIT] if I don't try to access the leaderboard via the button, start the game then go back to the main menu, the leaderboard won't shows up when pressing the button.
    Strange.

    [EDIT 2] ok,I must have misunderstood something : the singleton was the faulty one. Once removed, going back and forth still allow for the leaderboard to show up.

    It was ...(minor WandaVision spoil)

    3798192-20agathallalong.jpg
     
    Last edited: Jul 2, 2021
  10. nooxouille

    nooxouille

    Joined:
    Aug 29, 2018
    Posts:
    13
    Hi there again!

    I am trying to set up a leaderboard (global, either all-time or daily).
    Displaying the scores and rank inside a custom UI (not the native google one, but an homemade), I want to display both rank, score and nickname from users nickname, not especially friends of the logged in user.

    Is it evenp ossible ?
     
  11. spawnpointgaming

    spawnpointgaming

    Joined:
    Feb 5, 2019
    Posts:
    12
    Well I am still facing the same issue using Unity 2020.3.13f1 using latest version of playmaker 1.9.2.f3 & easymobile pro 2.17.1. Well I have already submitted the app as alpha on play store but when check my android logcat its showing In-App purchasing is not initialized, so if anyone have any solution do let me know. Even tried lowered the Unity IAP package version but still facing the same issue.
     
    Last edited: Jul 7, 2021
  12. justincredibleg

    justincredibleg

    Joined:
    Jul 23, 2016
    Posts:
    12
    Running into an issue where Google Play Services won't work at all in production but does work in a development build.

    As soon as we build a production build, it stops working. No pop up, trying to manually trigger a login doesn't work. Nothing.

    We've added our SHA-1 key from the play console to the play services config and cloud API oauth creds.

    Not sure what else to try at this point.
    -----------
    EDIT: The solve for us was to uncheck the minification of the release build in Project Settings > Other Settings under the password area.
     
    Last edited: Jul 11, 2021
  13. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    335
    Hello,

    1. Working on the ScheduleRepeatLocalNotification from the documentation, I'd like to setup a notification that repeats every Monday at 8 AM, not sure I understand the TimeSpan delay so if someone can help that'd be appreciated.

    TimeSpan delay = new TimeSpan(08, 08, 08);
    Notifications.ScheduleLocalNotification(delay, content, NotificationRepeat.EveryWeek);

    2. Is there a requirement to use the handling opened notifications, the only need I have for them is to be reminded every Monday at 8 AM that they need to do a task.

    Thank you!
     
  14. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    335
    Hello, another question
    Should I remove the: android:minSdkVersion="__AndroidManifest_MinSdkVersion__"
    Beucase it gives an error while trying to build:
    GRADLE ERROR : minsdk-in-manifest
    UnityEngine.GUIUtility: ProcessEvent (int,intptr,bool&)
     
  15. hieutran196

    hieutran196

    Joined:
    Dec 17, 2018
    Posts:
    7
    "Rewarded ad was skipped. The user should NOT be rewarded."
    Always return this log for Admob Ads.??????
     
  16. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    For some reason the module says it's not enabled.
    This problem happens on iphone and also in Unity.
    Auto Init ON or OFF doesn't change anything. It's on Autoinit by default because there still are no actions to manually manage the initialization of the module.
    I tested other modules I use and they return a positive (enabled: true) so they are working properly, and they return false if I deactivate them in the EMP Settings panel (the sliding iOS-type button that is either gray or green).
    So I updated EMPro and tried again several options and permutations but the Advertising module won't engage anyway.

    On Unity, since running in the Editor also shows if the modules do get enabled or not, in the console we get these pieces of information almost at the very start of the launch:
    1. UnityAds client has been initialized.
      followed by
    2. Please initialize the UnityAds client first. (x2)
    I do not like having that kind of "info" that looks more like a subtle warning. Even if I do not know what goes on behind the scenes and this could be innocuous, this message does not look right and I wish it simply didn't pop up because that doesn't seem very logical.
     
    Last edited: Jul 17, 2021
  17. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    Unfortunately for you they keep requiring Analytics to be on to allow the use of Unity IAP. You'd rather sidestep this entirely by adding IAP support in your project from an entirely different source, if doable.

    I don't understand how Apple could reject your app if there would be any trace of code relative to the IDFA. You are literally required by Apple to display the native popup for any user to give his/her consent, which in most cases is refused by said user.
     
  18. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    Gradle errors? You're in a world of hurt.
    As always, make sure to have enough disk space on your computer first.
    Then I'd suggest you look it up on Stackoverflow and be patient because this can last from a few hours to a few days, depending on your issue and your luck. It can go very, very far.
     
    Last edited: Jul 17, 2021
  19. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    @SgLib
    Your documentation has no information on the auto_init feature for advertising!

    EMPro_Ads_AutoInit.png

    Also why is support only done in the Reviews section of the plugin and not here first?

    A line or two on placements and custom placements could be useful too.
     
    Last edited: Jul 17, 2021
  20. el_Guero

    el_Guero

    Joined:
    Sep 15, 2017
    Posts:
    119
    Anyone else getting these errors with iAPs on iOS?

    onPurchaseFailedEvent(productId:com.companyname.gamename.iap message:APPLE_The operation couldn’t be completed. (SKErrorDomain error 2.)) UnityEngine.Purchasing.Extension.UnityUtil:Update()

    I get tons of them with the latest versions from Easy Mobile Pro. Even thinking of going with the native iAP setup since it's impossible to debug without the app being live on the App Store.
     
  21. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    @SgLib Have you introduced any reference to UIWebView in your code or documentation?

    EDIT: problem solved. Purging the Library folder solved this. It turns out an old SDK had left some imprint and it had never been cleaned.
     
    Last edited: Aug 8, 2021
  22. Dawid_Matuszewski

    Dawid_Matuszewski

    Joined:
    Mar 2, 2016
    Posts:
    7
    Hi,
    I have a problem with showing ads and I think is something wrong with easy mobile pro (but I can be wrong).
    So in my Unity (2020.3.12f1) I use Easy Mobile Pro and Google Admob to show ads in my mobile game. The funny thing is that I can see test in editor (play mode) but nothing happen in build. I can mark checkbox "test mode" and then in build I can see "test ad".
    -I have all my ID correct
    -on admob page I have everything correct (payments method, ads ID, app ID, etc)
    -I don't have new account or project in admob page

    In admob raport I can see request count with dates etc, so the server is responding to requests. In Debug Log and Logcat I can see information that ads are init, ready and showing but nothing is happening in build.
    Is there maybe some cooldown in Easy Mobile Pro to showing ads? Maybe I need to add something in some files (for example Android Manifest, but even that I already did).

    Right now I don't know to deal with that "bug".

    I will be very grateful for any respond :)
     
  23. Kazeon

    Kazeon

    Joined:
    May 22, 2017
    Posts:
    21
    Hello. Anyone knows of how to manually register IAP products via script?
     
  24. Evgeno

    Evgeno

    Joined:
    Sep 8, 2014
    Posts:
    8
    Hello, has anyone implemented cloud saves using this plugin? Everything works well on android, but saves don't work on iOS. iCloud is enabled in the xCode project. What could be the problem?
     
  25. Urjin

    Urjin

    Joined:
    Mar 16, 2020
    Posts:
    5
    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?
     
  26. Urjin

    Urjin

    Joined:
    Mar 16, 2020
    Posts:
    5
    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
     
  27. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    On my dashboard I see the usual default placements, but now Unity has created one for each platform, however the names haven't changed. So I have two "Video" placements, which in fact are Interstitials but since Unity only plays videos they call them video. There's one for iOS, one for Android. Then also two "Rewarded Video" and two "banner".
    It's a bit sloppy because they can't even decide between small caps or big caps. However, you can edit the names of these default placements but the Ad IDs all are in small caps and have nothing like _IOS or _Android suffixes as far as I can see.
    Now the board is cluttered with more default placements, namely SIX of them that cannot even be archived.

    What is possible is that you have to look into the EMP Settings and now specify a placement for each platform, even if the Ad ID values are the same. By that I mean since you cannot change the IDs, .
     
  28. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    I don't think you'd have to add anything technical like a manifest, EMP would logically do it on its own. You can display test ads (the placeholders with music and so on) in both Unity's Run and the build on any device, but when unselecting "test mode" and trying to display real ads, despite having some form of confirmation that ads are found, downloaded and ready to show, and that the Advertising Module is initialized, nothing is displayed?
    it's possible the references to the real placements need to be checked in the Settings. To be sure not to have to wait for any cooldown, just check if an ad is ready before showing it. Otherwise, load and wait a bit, check readiness every n frames and retry later.
     
  29. wechat_og5za0tNW5B9l4iE3JPwwoM7KaDQ

    wechat_og5za0tNW5B9l4iE3JPwwoM7KaDQ

    Joined:
    Nov 28, 2018
    Posts:
    2
    Hi
    This is the best plugin I've ever bought
    But I'm in trouble

    Start Amazon IAP Sandbox Test, The InAppPurchasing Initialization failure
    But in Google Play can normal use .
    I make sure checked Amazon App Store and Enable Amazon SanboxTest

    Please Help Me,Thanks



    Env
    • Unity2019.4.1
    • UnityIAP 3.2.3
    • EasyMobilePro 2.17.2
     
  30. wechat_og5za0tNW5B9l4iE3JPwwoM7KaDQ

    wechat_og5za0tNW5B9l4iE3JPwwoM7KaDQ

    Joined:
    Nov 28, 2018
    Posts:
    2
    Hi
    I have a issue
    Enter game how to first load ad . Please tell me

    you know Now my game

    It takes five seconds to start load
    I dont want to wait 5s
     
  31. cmersereau

    cmersereau

    Joined:
    Nov 6, 2020
    Posts:
    25
    I am getting a duplicate symbols error when building my code for iOS. I have searched through this thread looking for solutions to the problem nothing has helped so far. The duplicate error is not coming from a different sdk, but created within the Easy Mobile libraries themselves. This is the full error log that I am getting.

    Code (JavaScript):
    1. ld: warning: arm64 function not 4-byte aligned: _unwind_tester from /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/libiPhone-lib.a(unwind_test_arm64.o)
    2. duplicate symbol '_DGifGetExtensionNext' in:
    3.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    4.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    5. duplicate symbol '_DGifGetCodeNext' in:
    6.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    7.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    8. duplicate symbol '_DGifGetLZCodes' in:
    9.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    10.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    11. duplicate symbol '_DGifSlurp' in:
    12.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    13.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    14. duplicate symbol '_DGifGetExtension' in:
    15.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    16.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    17. duplicate symbol '_DGifOpen' in:
    18.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    19.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    20. duplicate symbol '_DGifGetPixel' in:
    21.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    22.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    23. duplicate symbol '_DGifGetRecordType' in:
    24.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    25.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    26. duplicate symbol '_DGifGetLine' in:
    27.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    28.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    29. duplicate symbol '_DGifOpenFileName' in:
    30.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    31.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    32. duplicate symbol '_DGifCloseFile' in:
    33.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    34.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    35. duplicate symbol '_DGifOpenFileHandle' in:
    36.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    37.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    38. duplicate symbol '_DGifGetCode' in:
    39.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    40.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    41. duplicate symbol '_DGifGetScreenDesc' in:
    42.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    43.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    44. duplicate symbol '_DGifGetImageDesc' in:
    45.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    46.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    47. duplicate symbol '_DGifExtensionToGCB' in:
    48.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    49.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    50. duplicate symbol '_DGifSavedExtensionToGCB' in:
    51.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib.o)
    52.     /Users/waysuninc/Desktop/UnityProjects/Lunar/build/ios/Libraries/EasyMobile/Plugins/iOS/libEasyMobile.a(dgif_lib_mod.o)
    53. ld: 17 duplicate symbols for architecture arm64
    54. clang: error: linker command failed with exit code 1 (use -v to see invocation)
    55.  
    I have tried deleting the EasyMobile/Plugins/iOS folder, but that did not resolve anything for me. I'm not an iOS pro and my knowledge of it is only in as much as I've had to debug our iOS build process for other things, so I'm not sure how to go about resolving this or what files and settings are relevant for this.

    We already pulled in the Facebook and Google SDKs and had to make some iOS build settings changes using PostProcess methods. We also had to add assembly references to the EasyMobile folders, as our project utilizes those. It may be that these settings aren't compatible with how EasyMobile works out of the box.

    Unity version: 2020.3.9f1
    Xcode version: 12.5.1
    EasyMobile version: 2.17.2
     
    Last edited: Aug 16, 2021
  32. Mamoon178

    Mamoon178

    Joined:
    Jul 26, 2017
    Posts:
    34
    CommandInvokationFailure: Gradle build failed.
    C:\Program Files\Java\jdk1.8.0_281\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.3.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
    stderr[
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
    FAILURE: Build failed with an exception.
    * What went wrong:
    Could not determine the dependencies of task ':unityLibrary:compileReleaseAidl'.
    > Could not resolve all task dependencies for configuration ':unityLibrary:releaseCompileClasspath'.
    > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.
    Required by:
    project :unityLibrary

    any solution
     
  33. zKici

    zKici

    Joined:
    Feb 12, 2014
    Posts:
    335
    Restart unity, Go into your preferences and uncheck / check these 4...
    upload_2021-8-14_7-47-37.png
    It normally works for me
     
  34. Emperor

    Emperor

    Joined:
    Feb 13, 2014
    Posts:
    39
    I'm having duplicate library issues when doing gradle build. I think the reason is that I have another package that uses androidx.core.core.1.0.0. which implement some of the same things as appcompat? I tried editing out the appcompat stuff from the easymobile dependency xml but then the app doesn't work. I tried deleting the androidx.core.core.1.0.0 from the other package but that also just blow up the app.... This is driving nuts. Any help is appreciated, thanks!
     
  35. cmersereau

    cmersereau

    Joined:
    Nov 6, 2020
    Posts:
    25
    Did you get an answer to this? I'm getting the same error, and it's quite hard to search this thread for answers.
     
    Last edited: Aug 16, 2021
  36. cmersereau

    cmersereau

    Joined:
    Nov 6, 2020
    Posts:
    25
    @pt5011 Is it a sign that you haven't replied to anyone's comments for about 7 months and nobody has responded to my support email yet? It'd be great to get a little help. I suspect my issue is a simple one for someone that understands more about building iOS than I do.
     
    CrandellWS likes this.
  37. cmersereau

    cmersereau

    Joined:
    Nov 6, 2020
    Posts:
    25
    Got a response to my support email from SgLibs this morning. Just want to give credit where it's due. Thanks!
     
  38. Ugindie

    Ugindie

    Joined:
    Jul 10, 2013
    Posts:
    2
  39. Mamoon178

    Mamoon178

    Joined:
    Jul 26, 2017
    Posts:
    34
    Hi!
    I am using easy mobile version 2.16.1 and when i build with custom main gradle template and check custom gradle properties template then build field. I try many things. I used unity 2020.3.16. detail error is

    CommandInvokationFailure: Gradle build failed.
    C:\Program Files\Java\jdk1.8.0_281\bin\java.exe -classpath "C:\Program Files\Unity\Hub\Editor\2020.3.16f1\Editor\Data\PlaybackEngines\AndroidPlayer\Tools\gradle\lib\gradle-launcher-6.1.1.jar" org.gradle.launcher.GradleMain "-Dorg.gradle.jvmargs=-Xmx4096m" "assembleRelease"
    stderr[
    Picked up JAVA_TOOL_OPTIONS: -Dfile.encoding=UTF-8
    FAILURE: Build failed with an exception.
    * What went wrong:
    Could not determine the dependencies of task ':launcher:lintVitalRelease'.
    > Could not resolve all artifacts for configuration ':launcher:debugRuntimeClasspath'.
    > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.
    Searched in the following locations:
    - https://dl.google.com/dl/android/maven2/com/sglib/easymobile/easy-mobile/maven-metadata.xml
    - https://jcenter.bintray.com/com/sglib/easymobile/easy-mobile/maven-metadata.xml
    - file:/D:/Mamoon/Plugin Test/Temp/gradleOut/unityLibrary/libs/
    - https://maven.google.com/com/sglib/easymobile/easy-mobile/maven-metadata.xml
    - file:/D:/Mamoon/Plugin Test/Assets/GeneratedLocalRepo/EasyMobile/Plugins/Android/m2repository/com/sglib/easymobile/easy-mobile/maven-metadata.xml
    - file:/C:/Users/muham/.m2/repository/com/sglib/easymobile/easy-mobile/
    - https://repo.maven.apache.org/maven2/com/sglib/easymobile/easy-mobile/maven-metadata.xml
    Required by:
    project :launcher > project :unityLibrary
    * 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 13s
    ]
    stdout[
    Starting a Gradle Daemon, 1 incompatible Daemon could not be reused, use --status for details
    > 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
    ]
    exit code: 1
    UnityEditor.Android.Command.WaitForProgramToRun (UnityEditor.Utils.Program p, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.Command.Run (System.Diagnostics.ProcessStartInfo psi, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.Command.Run (System.String command, System.String args, System.String workingdir, UnityEditor.Android.Command+WaitingForProcessToExit waitingForProcessToExit, System.String errorMsg) (at <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.AndroidJavaTools.RunJava (System.String args, System.String workingdir, System.Action`1[T] progress, System.String error) (at <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.GradleWrapper.Run (UnityEditor.Android.AndroidJavaTools javaTools, System.String workingdir, System.String task, System.Action`1[T] progress) (at <caed2e60415e48d1850197a030a83f5f>: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 <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.PostProcessor.Tasks.BuildGradleProject.Execute (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <caed2e60415e48d1850197a030a83f5f>: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 <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.PostProcessor.PostProcessRunner.RunAllTasks (UnityEditor.Android.PostProcessor.PostProcessorContext context) (at <caed2e60415e48d1850197a030a83f5f>: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 <caed2e60415e48d1850197a030a83f5f>:0)
    UnityEditor.Android.AndroidBuildPostprocessor.PostProcess (UnityEditor.Modules.BuildPostProcessArgs args, UnityEditor.BuildProperties& outProperties) (at <caed2e60415e48d1850197a030a83f5f>: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 <ef3b6bf002d8435a97b4e938f6c49b02>:0)
     
  40. Mamoon178

    Mamoon178

    Joined:
    Jul 26, 2017
    Posts:
    34
    already unchecked but still error
     
  41. nudl

    nudl

    Joined:
    Sep 23, 2013
    Posts:
    3
    Confirmed, EasyMobile is not compatible with Gradle 4+ which is used in Unity 2020.3.15f1 - 2020.3.17f1

    Code (CSharp):
    1. > Could not resolve all artifacts for configuration ':launcher:debugRuntimeClasspath'.
    2. > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.
     
    Animals likes this.
  42. jocyf

    jocyf

    Joined:
    Jan 30, 2007
    Posts:
    280
    Hi,

    How can I delete the android.CAMERA permission from the final androidmanifest ? The Plugin/Android//manifest.xml file can't be modified and I cant locate any other manifest t6o do the trick... any idea?

    Using Unity 2020.3.16 and SGLib v2.17.2
     
  43. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    293
    Hello,

    I have some questions regarding the Rating feature and Playmaker actions.
    On iOS 14+, I use first this action :

    Mobile Native Rating Request_Get This Year Remaining Requests

    I see that I have a int value above zero so there should be no issue here to do some testing on my testing account.
    Apple says:

    I get a value of 3. All is clear.
    I also know for a fact that my account has never been used to deliver any rating to the app. I verify this before tests.
    Then I probe the rating availability with this first action:

    Mobile Native Rating Request_Is Rating Request Disabled

    I save the boolean for "is Rating Request Disabled", and in my built app I can read that it's false, meaning the Rating Request is not disabled. So it's enabled, or available.
    But this doesn't suffice. The action's description says that it's only applicable to version 10.3 or older.
    So on iOS today this logically means this action is almost obsolete, although not on Android?
    Some further explanations about this action are seriously needed there because it's a bit cryptic.

    Then I use:

    Mobile Native Rating Request_Can Request Rating

    There I save the boolean for "Can Request Rating". Upon verifying its value inside the built app, I see it returns false.
    But I see why I get this because for my tests, I always delete the app and its data, rebuild it from Unity, pass it through Xcode and install it on the device automatically. So any user's former choices should be erased entirely.

    The action's description provides three conditions for this action to return true:
    1. not disabled by the user;
    2. rating not already accepted by user;
    3. annual request cap not met
    As said above, condition 3 passes.
    Also, if I understand how you coded your feature, the action Is Rating Request Disabled is related to condition 1 and 2 for the following reasons:

    The rating feature is DISABLED if:
    • the user REFUSE(s) to rate the app. But this button does not exist (anymore) on iOS. There's only CANCEL.
    • the user RATE(s) or provides FEEDBACK (score + review) (or is FEEDBACK a legacy option that was only relevant for older iOS versions?).
    • the code uses a method (or action) to disable this feature (on behalf of the user).
    • all yearly requests have been used and brought to zero.
    If it's POSTPONE(d), the feature will not be disabled. However no such option exists in the native popup on iOS.
    So it's logically limited to Android (which also relies on the native popup), since it's the only system that offers "Not now" as an option. I think it should say so in the action's description, or somewhere.

    I'm stuck between an action that seems totally obsolete on iOS 14+ and an action that tells me I can't show the rating popup despite there being no logical reason as to why it's impossible since I deal with clean installs and I have enough ratings for the year.

    Since I cannot rely on action Mobile Native Rating Request_Is Rating Request Disabled for the reasons described earlier on regarding the lack of clarity of its use and its potential and very likely obsolescence, in order to circumvent the negative result I'd get by checking the availability of ratings with the other action, I must come up with some manual system, and this sucks.
     
    zKici likes this.
  44. BebopTune

    BebopTune

    Joined:
    Apr 7, 2019
    Posts:
    21
    @nudl
    That means, if I use Unity 2020.3.15f1 - 2020.3.17f1 EMP won't build or not gonna work with device?

    If so any idea when update gonna come to EMP?
     
  45. Mamoon178

    Mamoon178

    Joined:
    Jul 26, 2017
    Posts:
    34
    if cannot use custom gradle template work fine. but when we click on custom gradle template then build failed and show many errors.
    1. > Could not resolve all artifacts for configuration ':launcher:debugRuntimeClasspath'.
    2. > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.
     
  46. EgoJacky

    EgoJacky

    Joined:
    Aug 15, 2017
    Posts:
    21
    pt5011

    I have a Feature Request, it would be nice if we could add a watermark or url link on top of recorded gifs.

    Also it would be nice if we could record a gif with GUI.

    greetings
     
  47. EgoJacky

    EgoJacky

    Joined:
    Aug 15, 2017
    Posts:
    21
    Implemented the Watermark feature on my own, for everyone interested:

    The scripts in this post are very helpful:
    https://stackoverflow.com/questions/28706377/merging-two-different-texture-into-one-in-unity3d
    just edit the CRExportGif() function in Gif.cs from EMP. Change the "temp" Texture2D before it gets added to the frames List. On this way every gif gets exported with the watermark.
     
  48. raydekk

    raydekk

    Joined:
    Mar 14, 2013
    Posts:
    80
    I have the same issue, after a refund it is still marked as owned. Is this a bug or do we have to check for something else?

    EDIT: Guess it was servers updating too slow. The refund seems to take even a couple of hours. Not the money they send you back, that happens in a few minutes, I'm talking about being able to rebuy after a refund.
     
    Last edited: Sep 15, 2021 at 9:46 AM
  49. Mamoon178

    Mamoon178

    Joined:
    Jul 26, 2017
    Posts:
    34
    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.

    Could not determine the dependencies of task ':launcher:collectReleaseDependencies'.
    > Could not resolve all task dependencies for configuration ':launcher:releaseRuntimeClasspath'.
    > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.

    Unity version 2020.3.18.
    i only import easy mobile plugin. not use any other sdk like admob. but build failed with this two errors. if anyone have solution please tell me.
     
  50. glykom

    glykom

    Joined:
    Aug 11, 2020
    Posts:
    7
    Similar error for me, also on Unity 2020.3.18f1 and on the latest version of EMPro 2.17.3


    FAILURE: Build failed with an exception.

    * What went wrong:
    Could not determine the dependencies of task ':unityLibrary:generateReleaseRFile'.
    > Could not resolve all task dependencies for configuration ':unityLibrary:releaseCompileClasspath'.
    > Could not find any matches for com.sglib.easymobile:easy-mobile:1.+ as no versions of com.sglib.easymobile:easy-mobile are available.
    Required by:
    project :unityLibrary
     
unityunity