Search Unity

  1. Megacity Metro Demo now available. Download now.
    Dismiss Notice
  2. Unity support for visionOS is now available. Learn more in our blog post.
    Dismiss Notice

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

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

  1. ThatOdieGuy

    ThatOdieGuy

    Joined:
    Mar 13, 2016
    Posts:
    7
    Easy Mobile Pro 2.7.2 just got released on the asset store and fixes this issue for me.
     
    SweatyChair likes this.
  2. Vak_HD

    Vak_HD

    Joined:
    Aug 6, 2016
    Posts:
    14
    In U2019.4.3 they changed it again, so how are you now supposed to access the gameID on iOS because GameServices.LocalUser.id; is the teamID.
     
  3. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    Hi @CWatsonT2 Can you reproduce this issue with our GameServicesDemo scene? Would the score appear if you waited some more time after submitting it? Could you see it on another device? It's also worth checking the Settings of the Play Games app on your device and see who can see your game activity.

    If the problem persists please contact our support service so we can further assist. Thanks.
     
  4. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    This error has been fixed in the latest EMP version 2.7.2 :)
     
  5. dimib

    dimib

    Joined:
    Apr 16, 2017
    Posts:
    50
    On the latest EasyMobile Pro 2.7.2 with Unity 2019.4.2 I have a crash on iOS when using the Sharing.ShareURL option. It is reproducable 10/10 times. Even wrapping the code inside a try-catch block not prevent the crash, it may be an internal problem of EMPro.

    Any suggestion how this can be fixed quickly?

    Code (CSharp):
    1. Sharing.ShareURL(
    2.     url: shareableLink,
    3.     subject: "Shared Content"
    4. );
    with the exception

    Uncaught exception: NSInvalidArgumentException: *** -[__NSArrayM insertObject:atIndex:]: object cannot be nil
    (
    0 CoreFoundation 0x00000001b351c314 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 1254164
    1 libobjc.A.dylib 0x00000001b3230c1c objc_exception_throw + 60
    2 CoreFoundation 0x00000001b35755a8 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 1619368
    3 CoreFoundation 0x00000001b3574b44 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 1616708
    4 CoreFoundation 0x00000001b33ed454 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 13396
    5 UnityFramework 0x0000000107681000 +[Sharing shareWithText:withURL:withImage:withSubject:] + 344
    6 UnityFramework 0x0000000107f53d90 C_EM_Sharing_Share_m2915EB00F9E455F66FF67B610CE33134F3C9881B + 44
    7 UnityFramework 0x0000000107f53f40 iOSSharingClient_ShareURL_m9C3AC979F814BE26D993DCED68AE986717FAEEC9 + 176
    8 UnityFramework 0x00000001080b0944 U3CuploadModelCoroutineU3Ed__50_MoveNext_m148E77E727A42F565B5E8AC55D7BED067B9BB062 + 5548
    9 UnityFramework 0x0000000109366c20 SetupCoroutine_InvokeMoveNext_m9106BA4E8AE0E794B17F184F1021A53F1D071F31 + 204
    10 UnityFramework 0x000000010611bb5c _Z89RuntimeInvoker_FalseVoid_t22962CB4C05B1D89B55A6E1139F0E87A90987017_RuntimeObject_IntPtr_tPFvvEPK10MethodInfoPvPS4_ + 28
    11 UnityFramework 0x000000010763c298 _ZN6il2cpp2vm7Runtime6InvokeEPK10MethodInfoPvPS5_PP15Il2CppException + 116
    12 UnityFramework 0x0000000106decd08 _Z23scripting_method_invoke18ScriptingMethodPtr18ScriptingObjectPtrR18ScriptingArgumentsP21ScriptingExceptionPtrb + 116
    13 UnityFramework 0x0000000106dfae60 _ZN19ScriptingInvocation6InvokeEP21ScriptingExceptionPtrb + 136
    14 UnityFramework 0x0000000106e064c4 _ZN9Coroutine14InvokeMoveNextEP21ScriptingExceptionPtr + 164
    15 UnityFramework 0x0000000106e06070 _ZN9Coroutine3RunEPb + 52
    16 UnityFramework 0x0000000106e06114 _ZN9Coroutine3RunEPb + 216
    17 UnityFramework 0x00000001069a92ac _ZN18DelayedCallManager6UpdateEi + 764
    18 UnityFramework 0x0000000106b94b04 _ZZ23InitPlayerLoopCallbacksvEN49UpdateScriptRunDelayedDynamicFrameRateRegistrator7ForwardEv + 64
    19 UnityFramework 0x0000000106b8c0d4 _Z17ExecutePlayerLoopP22NativePlayerLoopSystem + 92
    20 UnityFramework 0x0000000106b8c130 _Z17ExecutePlayerLoopP22NativePlayerLoopSystem + 184
    21 UnityFramework 0x0000000106b8c3e0 _Z10PlayerLoopv + 380
    22 UnityFramework 0x00000001071d0204 _ZL19UnityPlayerLoopImplb + 256
    23 UnityFramework 0x000000010601c4b0 UnityRepaint + 140
    24 UnityFramework 0x000000010601c38c -[UnityAppController(Rendering) repaintDisplayLink] + 88
    25 QuartzCore 0x00000001ba0403f4 D29C2CDE-B325-3C54-9F2A-D626E512DE36 + 74740
    26 QuartzCore 0x00000001ba110290 D29C2CDE-B325-3C54-9F2A-D626E512DE36 + 926352
    27 CoreFoundation 0x00000001b346d818 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 538648
    28 CoreFoundation 0x00000001b34981d8 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 713176
    29 CoreFoundation 0x00000001b349787c AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 710780
    30 CoreFoundation 0x00000001b3492374 AF42303F-57B6-3C11-8F18-8E80ABF7D886 + 689012
    31 CoreFoundation 0x00000001b34918f4 CFRunLoopRunSpecific + 480
    32 GraphicsServices 0x00000001bd8a8604 GSEventRunModal + 164
    33 UIKitCore 0x00000001b7665358 UIApplicationMain + 1944
    34 UnityFramework 0x000000010601ae50 -[UnityFramework runUIApplicationMainWithArgc:argv:] + 108
     
  6. CosmicAtelier

    CosmicAtelier

    Joined:
    Sep 16, 2018
    Posts:
    1
    Hi, after updating to 2.7.2 I encountered this compiler error:

    Assets/EasyMobile/Scripts/Modules/Advertising/NetworkClients/HeyzapClientImpl.cs(69,68): error CS0117: 'AdNetwork' does not contain a definition for 'Heyzap'

    Any suggestions?
     
  7. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    Can you reproduce it in SharingDemo scene? And which Xcode and iOS versions were you on?
     
  8. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    Heyzap is now Fyber FairBid. Please download and use the FairBid SDK instead.
     
  9. DurmusAli

    DurmusAli

    Joined:
    Feb 25, 2014
    Posts:
    12
    App is crashing start of initiation on Android build. iOS is working fine. You can find stack trace below.

    Error seems : Didn't find class "com.sglib.easymobile.androidnative.EMFileProvider . I have even tried to add below codes in proguard but it didn't helped.

    Maybe it is because I inside library directly tries to access android.support.v4. although I am using AndroidX references (androidx.legacy:legacy-support-v4:1.0.0) in gradle.

    -keep public class com.sglib.easymobile.** { *; }
    -keep public class com.sglib.easymobile.androidnative.EMFileProvider{ *; }


    Stack Trace:
    2020-07-17 20:42:44.722 28650-28650/? E/AndroidRuntime: FATAL EXCEPTION: main
    Process: com.abc.abc, PID: 28650
    java.lang.RuntimeException: Unable to get provider com.sglib.easymobile.androidnative.EMFileProvider: java.lang.ClassNotFoundException: Didn't find class "com.sglib.easymobile.androidnative.EMFileProvider" on path: DexPathList[[zip file "/data/app/com.abc.abc-1/base.apk"],nativeLibraryDirectories=[/data/app/com.abc.abc-1/lib/arm, /data/app/com.abc.abc-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
    at android.app.ActivityThread.installProvider(ActivityThread.java:6069)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5658)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5597)
    at android.app.ActivityThread.-wrap2(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1614)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6351)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:896)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:786)
    Caused by: java.lang.ClassNotFoundException: Didn't find class "com.sglib.easymobile.androidnative.EMFileProvider" on path: DexPathList[[zip file "/data/app/com.abc.abc-1/base.apk"],nativeLibraryDirectories=[/data/app/com.abc.abc-1/lib/arm, /data/app/com.abc.abc-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    at android.app.ActivityThread.installProvider(ActivityThread.java:6054)
    at android.app.ActivityThread.installContentProviders(ActivityThread.java:5658)
    at android.app.ActivityThread.handleBindApplication(ActivityThread.java:5597)
    at android.app.ActivityThread.-wrap2(ActivityThread.java)
    at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1614)
    at android.os.Handler.dispatchMessage(Handler.java:102)
    at android.os.Looper.loop(Looper.java:154)
    at android.app.ActivityThread.main(ActivityThread.java:6351)
    at java.lang.reflect.Method.invoke(Native Method)
    at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:896)
    at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:786)
    Suppressed: java.lang.NoClassDefFoundError: Failed resolution of: Landroid/support/v4/content/FileProvider;
    at java.lang.VMClassLoader.findLoadedClass(Native Method)
    at java.lang.ClassLoader.findLoadedClass(ClassLoader.java:742)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:362)
    ... 12 more
    Caused by: java.lang.ClassNotFoundException: Didn't find class "android.support.v4.content.FileProvider" on path: DexPathList[[zip file "/data/app/com.abc.abc-1/base.apk"],nativeLibraryDirectories=[/data/app/com.abc.abc-1/lib/arm, /data/app/com.abc.abc-1/base.apk!/lib/armeabi-v7a, /system/lib, /vendor/lib]]
    at dalvik.system.BaseDexClassLoader.findClass(BaseDexClassLoader.java:56)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:380)
    at java.lang.ClassLoader.loadClass(ClassLoader.java:312)
    ... 15 more


    Gradle

    implementation 'androidx.appcompat:appcompat:1.1.0'
    implementation 'androidx.cardview:cardview:1.0.0'
    implementation 'androidx.browser:browser:1.2.0'
    implementation 'androidx.legacy:legacy-support-v4:1.0.0'
     
  10. IceTrooper

    IceTrooper

    Joined:
    Jul 19, 2015
    Posts:
    35
    Hi, I want to add IAP to my game. I'm concerned about storing virtual currency. I was trying to find useful information on forums or blogs, but in the end I didn't find it. You got more experience in mobile games so I want to ask you.
    I can imagine if I got really big and successful game I would store all information about the player on my server-side, so every player would get his personal account (costs of building and maintaining for a single dev :/), but...
    What if I want to just build a simple, hypercasual game and that should also work offline? The player can also buy virtual currency i.e. 50 cherries for 1$, 400 cherries for 5$, etc. Where to store how much he currently got? Encrypted file? Sending this amount with a save point to Google Play/App Store (what about offline play)? We all know that every local even encrypted file can be cracked. What do you suggest if we don't want to have our personal server (or is it must have here)? Can you describe your best approach in this situation, because I couldn't find anything about those concerns on the internet? I know your asset doesn't cover storing virtual purchases/currency, but I think some discussion would be helpful for every developer integrating IAP with your asset.
    What to do when the player uninstall the game? Does he lose everything he bought for virtual currency? Is there a secure way to restore virtual currency he got and/or at least bought for real money?

    Every question in this post is about the situation when we don't want to have our server to store player accounts (or should we?) and when we want to support offline playing and earning virtual currency during play too.

    I got also a question about: what are receipts you mention in IAP documentation? Is it a one-time confirmation that player bought something or they're permanently stored on google play/app store account? Maybe that's the way we could restore at least virtual currency purchases? Should we even care about cheating/restoring virtual currency in a hypercasual game?

    Quite long post, but I'd be really appreciated any help.
     
    Last edited: Jul 18, 2020
  11. DurmusAli

    DurmusAli

    Joined:
    Feb 25, 2014
    Posts:
    12

    To Follow up this, I have made jiter altering the current .aar file and now it is working. This shouldn't be hard work for product owner but let's see how long will it work for them to solve it.
     
  12. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    Hi @DurmusAli

    We have just answered your support ticket. Glad it's working for you now.

    I believe by "jiter" you meant using the "jetifier" on the .aar files? If yes then this should be done automatically by the Google's External Dependency Manager (formerly Play Services Resolver) that is bundled with EMP. This is the tool Google provides Unity developers to simplify the migration from support-v4 to androidx dependencies and the method has been working well for quite some time now.

    From menu Assets > External Dependency Manager > Android Resolver > Settings, please check if the "Use Jetifier" option is disable for your project. If yes please turn it on for the jetifier to work. Hope this helps.
     
  13. DurmusAli

    DurmusAli

    Joined:
    Feb 25, 2014
    Posts:
    12
    Yes, I mean jetifier, and it has been always set as enabled. Even though right after I have added the plugin, it alters man gradle file with support.v4. This creates duplicated library error on build step. Facebook plugin does the same, so that I am aware of it and altering there to use all libraries as androidX libraries. After I get the build this way, app crashes at the start because it directly goes and try to access EMFileProvider, which I am not even using that part any where in my code. Somehow jetifier does not alter it. Most probably reading it directly from local repository. To solve this, I have manually used jetifier on easy-mobile-1.3.0.aar file and I am able to continue.

    Although there was a warning on jetifier usage.

    WARNING: [XmlResourcesTransformer] No mapping for: android/support/FILE_PROVIDER_PATHS
     
  14. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    @DurmusAli I don't think we encountered or were reported this issue before. Can you reproduce it in a vanilla Unity project with only EMP imported? If yes please share the procedure and setup.
     
  15. DurmusAli

    DurmusAli

    Joined:
    Feb 25, 2014
    Posts:
    12
    I am sorry but I don't have time for that right now, maybe over the weekend I can try to do it give you test repo.
     
  16. novaVision

    novaVision

    Joined:
    Nov 9, 2014
    Posts:
    515
    According to Push Notification behaviour, if app is foreground I can receive messages by service SDK callback (in my case Firebase), but if app is background, these callbacks will not be triggered, because message will be sent to Notification Center.
    It’s fine if user click the notification and open the app (message will be still available), but if he just maximized the app or launched it, message will be lost.Is there any options to grab notifications from Notification Center on app launch/moved to foreground? Does EasyMobile able to do it?
     
  17. IggyZuk

    IggyZuk

    Joined:
    Jan 17, 2015
    Posts:
    43
    Hello, I have an issue with the Privacy module.

    It works on Android, but crashes on iOS (iPhone11).

    The cause of crash is appending text to the dialog:

    Code (CSharp):
    1. var dialog = new ConsentDialog();
    2. dialog.AppendText("hello"); // cause of crash
    Relevant crash log:
    Full log:
    Is there anything I can do on my end to fix this?
     
    aurelienpic likes this.
  18. ZolnierGames

    ZolnierGames

    Joined:
    Feb 19, 2018
    Posts:
    88
    So, the Demo scene for consent is quite confusing when all I want is a simple tutorial to show consent before I show ads, etc. Is there a step-by-step guide to do this? The demo scene for this has far too much in it and there is minimal guidance about how to properly set up the privacy/consent module in the documentation. Is there a step-by-step guide or has someone done this successfully that could share their guidance?
     
    gsorin likes this.
  19. ScaryRobotGames

    ScaryRobotGames

    Joined:
    May 2, 2007
    Posts:
    57
    Hello! I found a bug with the IAP. In my case, I have a IAP button in the main menu of my game. If the player uses it when the game is first started then it's fine. But if the user plays the game, returns to the main menu and then tries to do a purchase (successful or failed purchase) then the handler throws a "object not found" error if there's anything in the handler function. My workaround is to simply ignore failed purchases and when the user hits the IAP button I kick off a coroutine that does a constant check with InAppPurchasing.IsProductOwned. If it ever returns true then it flashes a "purchase was made" type message.
     
  20. BusterTheWizard

    BusterTheWizard

    Joined:
    Jul 2, 2012
    Posts:
    55
    It might not be in the scope of this asset, but it would be neat if you could add screenshots for different mobile devices in-editor to it. So basically one-click and get screenshots for different mobile devices to make uploading to stores easier.
     
  21. dayjur

    dayjur

    Joined:
    Sep 6, 2014
    Posts:
    128
    Advertising test mode
    if I publish with test mode checked am I correct in assuming I will continue to see test ADS on the device that I built with, while others will see real ADS
     
  22. UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    UDN_5c806b49-d8a0-4f67-a296-c12c91aa7396

    Joined:
    Jan 9, 2017
    Posts:
    151
    Hi, can I check if its possible to fetch an update version from the play store so if there's a new version available, inside of the loading scene I can force players to update else they can't enter my game?
     
  23. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    455
    If you don't save it on a server, you do it internally, locally, on the device. This is good enough for most casual indie apps. On iOS by default the file would be contained in playerPrefs (in the pfile) and is written in clear text but it's not supposed to be accessible. You could also use some plugins to encrypt the data, although you'll need to declare the extra encryption to Apple and make sure this works legally.
    The encrypted data could be saved inside the same default location or elsewhere locally.
    The use of cracked software would not happen for 99% of users anyway, it happens on jailbroken devices for which there is little to nothing to do besides trying to make the hacker's life more miserable with nonsensical code. :D
    It's easier to put any kind of crap on an Adroid device. Unless the hacker changes the code that handles the encryption and provides a variant of your app that uses clear text, then a user will still need to go through your app to read and write any encrypted data.

    If the data is stored locally, it's possible in some cases not to delete the app's data but only the app itself.

    They generate them on their side and you download them through the app. EMP uses a whole part of Unity IAP and this package includes a receipt verification: Unity verifies if the receipt is valid.
    In EMP / Settings, you have Receipt Validation.
    So if you do receive a receipt after contacting the store, then it means that a product is owned (this is only for non-consumable products).

    Read this: https://forum.unity.com/threads/solved-unity-iap-non-consumables-on-android.382690/
    EMP's In-App Purchasing window is EMP's own IAP Catalog, so to speak. It does the almost same stuff as the Unity IAP Catalog. Both act as some sort of interface with the Unity IAP API (yes, those acronyms...).

    Another thing you must keep an eye on is about localization of each product's data: name, description and price.
    You want to be sure that your app can display the currency symbol of a localized price in some other country, so verify your font set to make sure it covers enough currencies and write some code if the returned price string contains a currency symbol not supported by your font. Some currencies are fairly obscure and it's difficult to cover all bases.
    Also, be sure to know if you receive a number or some text when asking the store for a product's price.
     
    IceTrooper likes this.
  24. jiraphatK

    jiraphatK

    Joined:
    Sep 29, 2018
    Posts:
    293
    Hi, just to confirm before buying, this plugin support one tap gallery button that lets users select both image or video with one API right? I asked this because the demo app's pick from the gallery button did not show videos. I had to navigate inside internal storage to see the videos but I still couldn't pick them(they are all grayed out). Also, is there a way to only let users select Only one item from the gallery?
     
  25. ZolnierGames

    ZolnierGames

    Joined:
    Feb 19, 2018
    Posts:
    88
    So, if the developer cannot answer this ask, does anyone have a good simple example of how they implemented consent?
     
  26. dayjur

    dayjur

    Joined:
    Sep 6, 2014
    Posts:
    128
    I just made my own privacy panel using the UI with a toggle button for perosnalized ads and in code according to toggle button
    Code (CSharp):
    1.   if (setOn)
    2.         {
    3.             EasyMobile.Advertising.GrantDataPrivacyConsent();
    4.         }
    5.         else
    6.         {
    7.             // false set poloicies in apis
    8.             EasyMobile.Advertising.RevokeDataPrivacyConsent();
    9.  
    10.         }
    EasyMoble inner parts takes care of networks adrequests inserving personal or no personal ads

    For unity analytics make a button thats triggers this code
    Code (CSharp):
    1.    UnityEngine.Analytics.DataPrivacy.FetchPrivacyUrl((string url) =>
    2.         {
    3.             // success
    4.             Application.OpenURL(url);
    5.         }, (string error) =>
    6.         {
    7.             // failure
    8.         });
    make sure to import Unity Analytics from packager manager

    I also detect if in EU for GDPR with
    Code (CSharp):
    1.  
    2.         Privacy.IsInEEARegion((EEARegionStatus result) =>
    3.         {
    4.             if (result == EEARegionStatus.InEEA)
    5.             {
    6.               //true;
    7.             }
    8.             else
    9.             {
    10.               // false;
    11.             }
    12.         });
    13.    
    if true il show the toggle consent and unity analytics button if not I hide and just show rest of my privacy panel
     
  27. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    455
    You might also opt out by default on the user's behalf, as it's possible most users are not willing to share their data. It certainly depends on if you observe a loss in ad revenue with relying on non-focused ads.
    Considering that many apps are games and most of them use video game ads for fairly popular or massively casual games, I would not even see the advantage in going for the consent. The consent only means the user is going to leak large amounts of personal data which will supposedly be anonymized later on, but what is the difference between a focused Clash of Clans ad and a non-focused Clash of Clans ad? This is almost a rhetorical question btw.
     
    Last edited: Aug 4, 2020
  28. sahilshjmu

    sahilshjmu

    Joined:
    Aug 18, 2017
    Posts:
    10
    Is there any tutorial for adding Local Notifications in the Game using Easy Mobile pro,

    I am having some Issues using that.

    When i call Notifications.ScheduleLocalNotification, then it crashes with an error saying like this
    AndroidJavaException: java.lang.IllegalArgumentException: Component class com.sglib.easymobile.androidnative.notification.NotificationAlarmReceiver does not exist in com.company.product
     
    8Shade likes this.
  29. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    455
    If I ping a store for a product's localized data but the user's country is not supported, the store will return the data in default language, like US English. Yes?

    Same thing for the price. Apple channels price requests through their tiered price matrix so that's automatic but for Google Play, you must create such tables manually, for each price, if you want your prices to be converted in a variety of international currencies.*
    The real question being that if I use a localized data request, do I run the risk of receiving blank or null data if there's no conversion / translation, or will there always be a valid pack of information no matter what, even if it's not converted / translated and comes by default in US English and US dollars? To me this appears to be the logical thing to happen anyway.

    Generally, I suppose that getting the localized data to fill an app's IAP page of products should be the default method one should use anyway, as it goes through Unity's IAP to obtain the online data, whereas other methods grab data from the EM Settings. IOW, only when one goes for localized data that it calls the store for the product's data on their respective servers.

    * I suggest using the Apple's price matrix as a model and, for a given price, adjust the value with decimals until you reach the one you want for the default value in US dollars.

    It seems also very logical to use store-specific IDs in each product.
     
    Last edited: Aug 4, 2020
  30. monsieurA

    monsieurA

    Joined:
    Oct 7, 2012
    Posts:
    18
    Hello,

    I trying to implement the gif recording, but since I'm using URP "OnRenderImage" in the recorder is never call.
    Do you have a work around?

    Thx
     
  31. unhill

    unhill

    Joined:
    Aug 11, 2018
    Posts:
    1
    anyone know what should i put key&value area for mopub admob meditation?
     

    Attached Files:

    • mail.png
      mail.png
      File size:
      17.4 KB
      Views:
      328
  32. Pacosmico

    Pacosmico

    Joined:
    Jan 16, 2014
    Posts:
    14
    Hola, this tool is really great. But I have this same doubt. I think the Unity Engine Social has a way to tell if an achievement has been completed, maybe it's new. Or it's just dummy data.
    I am not as much concerned by "unlocking multiple times" but rather not wanting to spam an achievement. Of course I'll try to never put some unlock trigger in a spammy part of the game. But I wonder anyway what effect could have triggering unlocks in a update frame basis, or like.. for each bullet fired or something like that
    Thanks for reading!
     
  33. RPGgrenad

    RPGgrenad

    Joined:
    Jun 4, 2017
    Posts:
    2
    Hello I've just installed EasyMobilePro onto my project, currently I have an In-app Purchases stuff enabled along with some other Unity Services (not ads). There wasn't any issue installing EasyMobilePro (although I may have dismissed a few of the first pop-ups because I didn't understand them) but now when building for Android I get a specific gradle build failure error that I haven't been able to find replicated anywhere else online.

    If anyone knows how I could fix this, either through enabling whatever the first popups were trying to get me to do, or if they had this specific issue and fixed it, that'd be appreciated.

    FAILURE: Build failed with an exception.

    * What went wrong:
    Execution failed for task ':checkReleaseDuplicateClasses'.
    > 1 exception was raised by workers:
    java.lang.RuntimeException: java.lang.RuntimeException: Duplicate class android.support.annotation.AnimRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.AnimatorRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.AnyRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.ArrayRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.AttrRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.BinderThread found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.BoolRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.CallSuper found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.CheckResult found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.ColorInt found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.ColorRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.DimenRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.DrawableRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.FloatRange found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.FractionRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.IdRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.IntDef found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.IntRange found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.IntegerRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.InterpolatorRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.Keep found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.LayoutRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.MainThread found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.MenuRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.NonNull found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.Nullable found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.PluralsRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.RawRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.RequiresPermission found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.RequiresPermission$Read found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.RequiresPermission$Write found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.Size found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.StringDef found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.StringRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.StyleRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.StyleableRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.TransitionRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.UiThread found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.VisibleForTesting found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.WorkerThread found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.annotation.XmlRes found in modules android-support-v4.jar (android-support-v4.jar) and support-annotations-26.1.0.jar (com.android.support:support-annotations:26.1.0)
    Duplicate class android.support.v4.accessibilityservice.AccessibilityServiceInfoCompat found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.ActionBarDrawerToggle found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-core-ui:26.1.0)
    Duplicate class android.support.v4.app.ActionBarDrawerToggle$Delegate found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-core-ui:26.1.0)
    Duplicate class android.support.v4.app.ActionBarDrawerToggle$DelegateProvider found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-core-ui:26.1.0)
    Duplicate class android.support.v4.app.ActionBarDrawerToggle$SlideDrawable found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-core-ui:26.1.0)
    Duplicate class android.support.v4.app.ActivityCompat found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.ActivityCompat$1 found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.ActivityCompat$OnRequestPermissionsResultCallback found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.ActivityCompat$SharedElementCallback21Impl found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.ActivityManagerCompat found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.ActivityOptionsCompat found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.AppOpsManagerCompat found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.BackStackRecord found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.BackStackRecord$Op found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.BackStackState found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.BackStackState$1 found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.BundleCompat found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.BundleUtil found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-compat:26.1.0)
    Duplicate class android.support.v4.app.DialogFragment found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.DialogFragment$DialogStyle found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.Fragment found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.Fragment$1 found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.Fragment$InstantiationException found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.Fragment$SavedState found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.Fragment$SavedState$1 found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentActivity found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentActivity$1 found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentActivity$HostCallbacks found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentActivity$NonConfigurationInstances found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentContainer found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentController found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentHostCallback found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentManager found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentManager$BackStackEntry found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentManager$OnBackStackChangedListener found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentManagerImpl found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
    Duplicate class android.support.v4.app.FragmentManagerImpl$1 found in modules android-support-v4.jar (android-support-v4.jar) and classes.jar (com.android.support:support-fragment:26.1.0)
     
  34. Masivemono

    Masivemono

    Joined:
    Dec 5, 2017
    Posts:
    7
    The same happens to me but in android device,purchase works in editor but in android appears "Service Unavailable Please check your internet connection." when press purchase button,any suggestion?
     
  35. Pacosmico

    Pacosmico

    Joined:
    Jan 16, 2014
    Posts:
    14
    @pt5011 I have a request that should not be super hard to implement and I really think it should work like that, but, well it's your call

    EditorSavedGameClient and UnsupportedSavedGameClient, trigger a LogWarning message when being used, which makes sense, BUT they do not trigger the callbacks, so testing the code, I had expected a error callback instead of no callback at all. In order to test proplerly my game functionality I need to receive a callback, even one saying "unsupported" in order to avoid code duplication in a case by case basis

    Thank you
     
  36. gavinb80

    gavinb80

    Joined:
    Nov 4, 2012
    Posts:
    96
    Hi

    I am using Easy Mobile Pro specially for the Game Center functionality on iOS. I wonder if it is possible and if so, how one might go about adding in the ability to this plugin to activate the GKAccessPoint on iOS 14?

    It's easy enough to do in Swift / Objc but would be a massive help if it were possible with the Easy Mobile plugin?
     
  37. nsmith1024

    nsmith1024

    Joined:
    Mar 18, 2014
    Posts:
    870
    I need to share mp4 files and images to FaceBook, WhatsApp, Twitter etc. Is that possible with this package?
     
  38. rizawerx

    rizawerx

    Joined:
    May 30, 2013
    Posts:
    38
    Hi,
    In the editor, using unity ads interstitial and unity ads reward video runs just fine. But in my android, unity ads interstitial never ready but unity rewarded video runs fine. What happens?
     
  39. vARDAmir88

    vARDAmir88

    Joined:
    Sep 9, 2015
    Posts:
    36
    Hi,
    Looks like there are simply no interstitial ads in your area to display at the moment, but there are rewarded ads.
     
  40. rizawerx

    rizawerx

    Joined:
    May 30, 2013
    Posts:
    38
    thank you for your answer..right now i'm still using test ads not real ads...is it possible simply because interstitial not ready in my area?
     
  41. sudunity12

    sudunity12

    Joined:
    Feb 10, 2018
    Posts:
    14
    Hello,
    I imported easy mobile pro in project and imported MoPub SDK.
    but when I enable mopub from ads it gives me an error,

    Assets\EasyMobile\Scripts\Modules\Advertising\NetworkSettings\MoPubSettings.cs(398,55): error CS0426: The type name 'OnebyAOL' does not exist in the type 'MoPub.SupportedNetwork'

    i reimported both of them but this error is not solved..
     
  42. Aylex

    Aylex

    Joined:
    Jun 21, 2017
    Posts:
    2
    Hi there. I'm trying to integrate Google Play Games Services but have struggled to get anything working at all, from recording scores to showing the native leaderboard UI at all. Here are the warnings that pop up when I try to view the leaderboard:


    (Filename: Assets/GooglePlayGames/Platforms/Android/AndroidClient.cs Line: 87)

    !!! [Play Games Plugin 0.10.09] 08/19/20 13:56:28 +02:00 WARNING: Creating new PlayGamesPlatform
    UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Logger:Log(LogType, Object)
    UnityEngine.Debug:LogWarning(Object)
    GooglePlayGames.OurUtils.<>c__DisplayClass9_0:<w>b__0() (at Assets\GooglePlayGames\OurUtils\Logger.cs:56)
    GooglePlayGames.OurUtils.PlayGamesHelperObject:Update() (at Assets\GooglePlayGames\OurUtils\PlayGamesHelperObject.cs:136)

    (Filename: Assets/GooglePlayGames/OurUtils/Logger.cs Line: 56)

    *** [Play Games Plugin 0.10.09] 08/19/20 13:56:28 +02:00 ERROR: Exception launching token request: Field currentActivity or type signature not found
    UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Logger:Log(LogType, Object)
    UnityEngine.Debug:LogWarning(Object)
    GooglePlayGames.OurUtils.<>c__DisplayClass10_0:<e>b__0() (at Assets\GooglePlayGames\OurUtils\Logger.cs:65)
    GooglePlayGames.OurUtils.PlayGamesHelperObject:Update() (at Assets\GooglePlayGames\OurUtils\PlayGamesHelperObject.cs:136)

    (Filename: Assets/GooglePlayGames/OurUtils/Logger.cs Line: 65)

    *** [Play Games Plugin 0.10.09] 08/19/20 13:56:28 +02:00 ERROR: System.Exception: Field currentActivity or type signature not found
    at UnityEngine._AndroidJNIHelper.GetFieldID (System.IntPtr jclass, System.String fieldName, System.String signature, System.Boolean isStatic) [0x00082] in <38f5bf63e91b4a34816606844fee3a05>:0
    at UnityEngine.AndroidJNIHelper.GetFieldID (System.IntPtr javaClass, System.String fieldName, System.String signature, System.Boolean isStatic) [0x00001] in <38f5bf63e91b4a34816606844fee3a05>:0
    at UnityEngine._AndroidJNIHelper.GetFieldID[ReturnType] (System.IntPtr jclass, System.String fieldName, System.Boolean isStatic) [0x00012] in <38f5bf63e91b4a34816606844fee3a05>:0
    at UnityEngine.AndroidJNIHelper.GetFieldID[FieldType] (System.IntPtr jclass, System.String fieldName, System.Boolean isStatic) [0x00001] in <38f5bf63e91b4a34816606844fee3a05>:0
    at UnityEngine.AndroidJavaObject._GetStatic[FieldType] (System.String fieldName) [0x0000c] in <38f5bf63e91b4a34816606844fee3a05>:0
    at UnityEngine.AndroidJavaObject.GetStatic[FieldType] (System.String fieldName) [0x00001] in <38f5bf63e91b4a34816606844fee3a05>:0
    at GooglePlayGames.Android.AndroidHelperFragment.GetActivity () [0x0000d] in C:\Jump Frog\2020 Projects\RoboRails\Robo Rails\Assets\GooglePlayGames\Platforms\Android\AndroidHelperFragment.cs:36
    at GooglePlayGames.Android.AndroidTokenClient.DoFetchToken (System.Boolean silent, System.Action`1[T] callback) [0x00021] in C:\Jump Frog\2020 Projects\RoboRails\Robo Rails\Assets\GooglePlayGames\Platforms\Android\AndroidTokenClient.cs:187
    UnityEngine.DebugLogHandler:Internal_Log(LogType, LogOption, String, Object)
    UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    UnityEngine.Logger:Log(LogType, Object)
    UnityEngine.Debug:LogWarning(Object)
    GooglePlayGames.OurUtils.<>c__DisplayClass10_0:<e>b__0() (at Assets\GooglePlayGames\OurUtils\Logger.cs:65)
    GooglePlayGames.OurUtils.PlayGamesHelperObject:Update() (at Assets\GooglePlayGames\OurUtils\PlayGamesHelperObject.cs:136)
     
  43. tms_dev

    tms_dev

    Joined:
    Nov 26, 2018
    Posts:
    47
    Hey, I'm setting up GooglePlay Services via your tutorial and I get all of these API errors after trying to install the GooglePlay Plugins package. After it was apparently "Succesful", I see all these API error, which I guess means they changed their API? We won't even be using the multiplayer aspect so I guess the temporary solution is to comment out while you fix, what do you think, or will this be fixed soon because we need to send everything to google in a matter of days. And after install Game Service is still not available.


    I delete the plugin and tried to reinstall again and now it said missing dependencies and an error that my JDK was missing. II already fixed this error by adding in by zprofile the correct path(to unity's JDK) and it still says it missing...I don't get it =/
     

    Attached Files:

    Last edited: Aug 20, 2020
  44. shreyanshanchlia

    shreyanshanchlia

    Joined:
    Jun 7, 2018
    Posts:
    21
    I was having the same issue. After struggling for a day I found out that you must use 0.10.09 version of Google play plugin which you can find on their github -> releases because they have removed multiplayer support completely
     
  45. tms_dev

    tms_dev

    Joined:
    Nov 26, 2018
    Posts:
    47

    Wow thank you so much, it worked ^_^
     
  46. tms_dev

    tms_dev

    Joined:
    Nov 26, 2018
    Posts:
    47
    Hey guys, I'm getting error after configuring Google Play Services.
    So far we only want to use the saving API but it wouldn't configure the app and gave us some "Invalid Classname" error, so we created an achievement, pasted the XML code and it seemed to work, but now there was another error:

    How can we fix these so they don't affect our game later, thank you.
     

    Attached Files:

  47. cyberstrong

    cyberstrong

    Joined:
    Jun 25, 2016
    Posts:
    2
    Hello SGLibGames,

    I'm using Easy Mobile Pro with Playmaker (since i'm new to programming) and i have some problems.

    1. Saved Games
    I can trigger the achievement UI, which means i am signed already. But everytime i start the app in device / emulator, i got this warning (the one and only warning from GPGS)on ADB logcat :

    08-21 17:27:41.037  3982  4072 W Unity   : !!! [Play Games Plugin 0.10.09] 08/21/20 17:27:41 +07:00 WARNING: Creating new PlayGamesPlatform
    08-21 17:27:41.037 3982 4072 W Unity : UnityEngine.DebugLogHandler:LogFormat(LogType, Object, String, Object[])
    08-21 17:27:41.037 3982 4072 W Unity : UnityEngine.Logger:Log(LogType, Object)
    08-21 17:27:41.037 3982 4072 W Unity : GooglePlayGames.OurUtils.PlayGamesHelperObject:Update()
    08-21 17:27:41.037 3982 4072 W Unity :
    08-21 17:27:41.037 3982 4072 W Unity : (Filename: /Users/builduser/buildslave/unity/build/artifacts/generated/Android/runtime/DebugBindings.gen.cpp Line: 51)


    i have look at other people cases in forum https://github.com/playgameservices/play-games-plugin-for-unity/issues/2931 and they said when they got the warning they failed to authenticate which means the achievement and leaderboard etc will not be triggered, but in my case i can logged in and trigger the achievement UI.
    am i correctly signed in? can you help me with this problem?

    2. Is there any thorough explanation of how using the Easy Mobile Playmaker besides the demo?

    I'm using Unity 2017.4.40f1
    Thank you very much.
     
    Last edited: Aug 22, 2020
  48. vARDAmir88

    vARDAmir88

    Joined:
    Sep 9, 2015
    Posts:
    36
    Hi,
    I'm not sure I understood you correctly. If you release a game with test ads, you won't earn anything. If there is no interstitial ads in your region, this does not mean that it is not in another :)
     
  49. Jasinka

    Jasinka

    Joined:
    Oct 18, 2016
    Posts:
    50
    Hello,

    Thanks for great plugin! Maybe you can add tutorial how to use playmaker and your script with examples?
    Example, show ads, and when purchase and remove them... Thanks!

    Maybe someone already have tutorial, just i can't find them? Thaaaanks if you can share.
     
  50. pt5011

    pt5011

    Joined:
    Aug 7, 2015
    Posts:
    405
    @Jasinka Thanks for choosing Easy Mobile! You can find our video tutorials as well as documentation with example codes here https://www.easymobile.sglibgames.com/