Search Unity

  1. Welcome to the Unity Forums! Please take the time to read our Code of Conduct to familiarize yourself with the forum rules and how to post constructively.
  2. Dismiss Notice

Mobile Tools - All you need to publish a mobile game

Discussion in 'Assets and Asset Store' started by GleyGames, Feb 27, 2019.

  1. arminiuspp

    arminiuspp

    Joined:
    Jun 15, 2020
    Posts:
    54
    I want to address this issue when I force to resolve this comes out but resolving normally is just okay.
    and this one with playmaker is quite annoying too since I use playmaker a lot and I don't even know what playmaker support does. image.png image (1).png
     
  2. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Hello,

    From the error I read in your console I assume you use Game Services SDK version 11.01 and you have not updated my package to the latest version released yet. If this is your case, please update the package to the latest version that is compatible with that SDK. Otherwise I recommend you to do this:
     
  3. arminiuspp

    arminiuspp

    Joined:
    Jun 15, 2020
    Posts:
    54
    So I did all the following procedure but stopped from download and install SDK bacause the force resolve still didn't work after updating all of the game services and stuff, plus using the 11.01, so with all the updated asset, imported 10.14 but still got the same results (note that I am doing what the video tells me for each time I import stuff so it was taking a lot of time to each test) also the thing on the build, I always remove those before importing playgameservices Playmaker.jpg Resolution.jpg Screenshot 2022-08-01 130612.jpg
     
  4. arminiuspp

    arminiuspp

    Joined:
    Jun 15, 2020
    Posts:
    54
    Also is there a cloud save feature like when the player logs in from their google play games it will load all their purchased stuff? or just save all the data that they made during their account logged in?
     
  5. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    For the 'LogOut' error, I recommended you to upgrade to the latest version of my package (1.5.7). May you confirm that you did that and you still have this error...?
     
  6. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    "is there a cloud save feature like when the player logs in from their google play games it will load all their purchased stuff?"
    -No. The items are downloaded and the status of the purchase is taken through the Google Play/Apple Store connection.
     
  7. arminiuspp

    arminiuspp

    Joined:
    Jun 15, 2020
    Posts:
    54
    Yes I have 1.5.7, as a workaround I deleted the script for now. Screenshot 2022-08-02 205321.jpg
     
  8. arminiuspp

    arminiuspp

    Joined:
    Jun 15, 2020
    Posts:
    54
    ohhh so, gameservices will automatically tick all the variables when the item is registered as purchased? (sorry I am new to this)
     
  9. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Because we are on the Mobile Tools thread, I think I need to make clear that:
    -Mobile Tools contains multiple packages
    -the IAP package (part of the Mobile Tools package) makes the link to the purchased products bought from the stores: Google Play/ Apple Store
    -the Leaderboard and Achievements - aka Game Services (called in Unity intuitively after the SDK it uses - Google Game Services) makes the connection with e.g. Google Play Games on Android

    For a better understanding, I recommend you to watch carefully the result of each implementation of every assets the big one contains:
     
  10. geekspeak

    geekspeak

    Joined:
    Jun 15, 2022
    Posts:
    2
    hi, i have a problem whenever i tried to export it to apk or aab .... it says Android resource linking failed see the console for details. and have 6 errors.
    Im using 2019.4.10f1 build
     

    Attached Files:

    Last edited: Aug 4, 2022
  11. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Hello,
    Check the suggestion in the first error: set your minimum API level from the Player Settings Window to 21. Your current one is set to 19.
     
    geekspeak likes this.
  12. geekspeak

    geekspeak

    Joined:
    Jun 15, 2022
    Posts:
    2
    erm i did change it but still got the same error
     

    Attached Files:

  13. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Please post your full error, the new error is not visible inside the screenshot. Thank you!
     
  14. fechy

    fechy

    Joined:
    Jan 12, 2019
    Posts:
    10
    Hi @GleyGames, I've noticed the Mobile Tools still uses the (now) Legacy Advertisement for the Unity Ads, and since version 4.4.0 it offers to install the new Advertisement with Mediation package. Is it planned to move to this new package in the future?
     
  15. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Hello,

    Our package is fully functional and we'll release a newer video tutorial on our Youtube channel (so, enable the notification Bell) for a better visual + audio guidance next week.

    Our current version of the package has implemented our own mediation within. Therefore, for the moment users could utilize our mediation tool or other ad provider's mediation solution complementary to our package as an alternative.

    However, because Unity has quite recently exited Beta, we are searching for new ways of facilitating the processes for the beginner, people who want to spend a little amount of time implementing ads and not only in our way. We will come back with news about this as soon as we have a solution and we're ready to launch!:)

    We encourage every Gley Games user to join Discord for faster answers and updates. https://discord.com/invite/7eSvKKW

    Thanks for the interest and have an awesome day!
     
  16. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    438
    I feel like I may be missing something regarding the IAP module here. I'm looking for a way to get a price in float format.
    Here's the relevant material in IAPManager.cs:

    Code (csharp):
    1. /// <summary>
    2.     /// Get decimal product price denominated in the local currency
    3.     /// </summary>
    4.     /// <param name="product">store product</param>
    5.     /// <returns></returns>
    6.     public int GetPrice(ShopProductNames product) {
    7.         /*stuff*/ }
    Code (csharp):
    1. if (product != null && product.availableToPurchase) {
    2.                 shopProducts[i].localizedPriceString = product.metadata.localizedPriceString;
    3.                 shopProducts[i].price = System.Decimal.ToInt32(product.metadata.localizedPrice);
    4.                 /*stuff*/ }
    I don't understand the point of having "price" (in GetPrice) pick an int only. If my price is 4.99 I only get 4 (the remainder is gone, as per the hard forced conversion).

    With the localized price, I get either '.' or ',' depending on what symbol is used for decimals, and the currency symbol ($ £ € etc.), which cannot be used directly to compute purchases and rewards in the game.

    How may I get a float from the localized price? Could we use "metadata.localizedPrice" in, say, a GetLocalizedPrice() method that returns a float?
     
  17. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Hello!

    If you have our Mobile Tools or Mobile Ads package and you need guidance on implementing ads, check out our new video on Youtube:


    Maybe it gives you a better perspective because we show you step-by-step how to:
    - integrate the most used ads in your app from the following providers (Google AdMob, AdColony, Unity Ads, Vungle, AppLovin Max, IronSource)
    - configure ads units on every advertiser's website
    - set up your Unity project with Gley package having the IDs from the provider's web page
    - set up a new app in Google Play Console - release and download it via Google Play
    - test Mobile Ads for each provider.

    Good luck with your implementation!
     
  18. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    438
    Thank you.
    I understand that in-game it may not be very useful for small products that don't rely on a large server infrastructure to get the full decimal price from the IAP's localized price, since any calculation is not done in the app and the end user only needs to see the item's shelf price. It's however useful if the developer intends on making special effects and tweens of some type on the price itself.
    Anyway, it's possible to get the float version of the price out of this metadata so that's good.

    When it comes to advertising, we must initialize Mobile Tools' SDK but it appears not to be enough to be able to use ads. For example, with Unity Ads (well, legacy, not even the mediation suite, and certainly not the IronSource whatever thingy), the testing shows that the Unity SDK still needs initialization (as per the printed stuff in debug mode), so I understand that it has to be done separately. When I do the Unity Ads initialization on my own, after initializing Mobile Tools, it works fine.
    Therefore I find myself initializing Mobile Tools, then (I suppose) every single SDK of the ad network I will use.
    Is that the correct way, or is Mobile Tools supposed to initialize those SDKs for me?
     
  19. tomo0920

    tomo0920

    Joined:
    Dec 22, 2018
    Posts:
    2
    Hello!
    I want to advertise using admob but I get an error.
    I created a new project to try it out and put admob in it, but I get the error in the screenshot. What should I do?

    The version of Unity is 2021.3.14f1.
    I am using GoogleMobileAds-v8.0.0 as the version of admob.
    The version of Mobile Tools+Complete Game is 1.4.33.
    Sorry if my English is not correct.
     

    Attached Files:

  20. GleyGames

    GleyGames

    Joined:
    Oct 16, 2015
    Posts:
    481
    Hello,
    Please update your Admob SDK to the latest version 8.3.0
     
  21. tomo0920

    tomo0920

    Joined:
    Dec 22, 2018
    Posts:
    2
    Thank you very much. I managed to display it!
    By the way, is it possible to display the GDPRpopup only for European countries?
     
  22. vARDAmir88

    vARDAmir88

    Joined:
    Sep 9, 2015
    Posts:
    36
    Hey @GleyGames

    Later this year, Google will require all publishers serving ads to EEA and UK users to use a Google-certified Consent Management Platform (CMP). You can use any Google-certified CMP for this purpose, including Google's own consent management solution. If you are interested in using Google's consent management solution, start by setting up your GDPR message and implementing the UMP SDK.

    Do I have to implement UMP SDK by myself or does the plugin already have this function?
     
  23. xjjon

    xjjon

    Joined:
    Apr 15, 2016
    Posts:
    591
    This asset makes it really easy to integrate ads. We use it for Ironsource/Unity LevelPlay mediation with AdMob and Unity Ads enabled.

    I put together a tutorial on exactly the steps needed to setup the ads since the documentation doesn't show 100% of the steps: https://www.jonathanyu.xyz/2023/07/23/easy-unity-ads-mediation-for-mobile-tutorial/

    Also sharing the code that interfaces between my game and this asset: https://gist.github.com/xjjon/b14d1c790e6ab3b2111aee3f6ceee9e8

    It contains some extra error handling and also publishes analytics on ad status (completion, cancellation, failure, etc).
    Hope this helps someone!
     
    XCO and blacksun666 like this.
  24. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    438
    Nice.
    Here's a question for Gley devs.

    The Game Services "module" has a set up panel where the user must fill the field for App ID. From this, the Gley's android manifest is created.
    In it, one finds this line within the <application> node.

    Code (CSharp):
    1. <meta-data android:name="com.google.android.gms.games.APP_ID" android:value = "\xxxxxxxxxxxxx"  />
    But in my build, this creates a Gradle conflict with the value that gets defined in the GooglePlayGamesManifest in the androidlib.

    For android:value, it uses the same integer for the games.APP_ID, but with a prefix \u003 that generates a blank and forces the value to be read as a string. That's the way Google wants it when linking with their servers.

    Now, it's might be possible to solve this conflict by using a tools:replace="android:value" attribute in a manifest that sits high in the hierarchy but I have encountered issue with that. I tried to apply it in the androidlib manifest but despite declaring the tools properly (xmlns etc.) it does not work. From what I read this can verily be caused by a Gradle plugin bug. So using a Custom Main Manifest and adding the whole replacement with the right android:value there seems more suitable, although you have to deactivate any other "influence" in the project that modifies it automatically, like when launching a building process, otherwise the custom manifest will be pretty much useless because any added code might get removed.
    Finally, the issue was solved by adding a tools:node="remove" in the appropriate <meta-data/> node that handles the App ID in Gley's GameServicesManifest.plugin. This effectively leaves only the final manifest with the appropriate meta-data generated by the official Play Services API.

    But I wonder if this could be sidetracked by using the same format across all manifests, including the Gley one.
    It would be up to the Gley plugin to isolate the true integer from the entire \003xxxxxxxxxx string to use it in the Gley plugin code.
    When setting up the official Play Services, we have to add the App ID too in its integer form. But the tool generates its manifest in the androidlib with the blank prefix. Gley may be able to do the same?

    Or eventually, since Google Play Games Services does add it too in its androidlib anyway, does Gley's Mobile Tool really need to have it in its own manifest?

    Also, I'm curious. How come you didn't encounter this issue? Could it be because you were a bit lucky and that the order of your dependencies defined a chain of merges that avoided that problem?
     
  25. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    438
    I finished installing Mobile Tools 2.x and as soon as I wanted to save the Game Services, I got two errors.

    The namespaces for AchievementsNames and LeaderboardNames were already defined.

    I have a "GooglePlayGames" folder in Assets (with the immediate and single child inside being "com.google.play.games"). Having a complete and functional suite for Google Play Games Services is becoming bloated because we need to install packages from the GitHub repository and I even had to do it in a specific order.

    Unity_GoogleLLC_packages.png

    So I rendered the GooglePlayGames folder invisible because it contains its own definitions for the namespaces too.
    Is it a safe thing? From what I see, the Gley plugin works on the premise that all the relevant Google stuff comes under the form of packages, and there should be nothing Google related in the Assets. Is that correct?

    EDIT: there are other definitions found in same named scripts in the "Example" folder. Hiding them and reallowing the GooglePlayGames folder seems the better option.
     
    Last edited: Oct 31, 2023 at 3:52 PM
  26. Starbox

    Starbox

    Joined:
    Sep 17, 2014
    Posts:
    438
    Your "Example" folders can create issues of type or namespace conflicts, with duplicates, when saving settings for things like IAP or else.
    So I tend to filter them out (adding the ~suffix).

    But it revealed that several of your "Internal" scripts rely on scripts found in the respective "Example" folders of various functions (Daily Rewards, Localization, Mobile Ads, etc.).
    Why would sensitive scripts depend on stuff that exists in what should logically be optional folders?
    To me, the Example folders are like Jumpy, they're secondary and unnecessary to a project unless you precisely need an example to look at.

    I never had this issue with 1.x Gley Mobile. You might have gotten confused with your new folder hierarchy.