Google Mobile ads SDK 7.0.0 Alert

Migrating Eclipse Projects to Studio will resolve the issue and update the SDK automatically?

Because i tried in eclipse SDK Manager and it deleted the libproject folder after update.

GoogleAdMobAdsSdk-6.4.1.jar was not based on play services. That was the version before admob was moved to Google Play Services.
I think we are good as long we are using admob as part of Google Play Services.

For those who are not doing native development and need google play services libproject
here are the guide that may help

android - Missing “<sdk>/extras/google/google_play_services/libproject” folder after update to revision 30 - Stack Overflow
Google Play Services SDK Version History - smorgasbork

Note:if you have eclipse based project or another build system you may face issue with version 29 and 30 of play services , in that they can use version 28 which is admob version 8.3

thanks

Peace guys. I am kind of new here but i think i can solve this problem. If your sdk is up to date then you can find the google_play_project_lib in this directory.

you can replace it with your the lib_project inside your app project.

C:\Android\sdk\extras\google\google_play_services\libproject.

You can also check version of the project. if it’s up to date or not. You can check it here.

C:\Android\sdk\extras\google\google_play_services\libproject\google-play-services_lib\res\values\verson.xml

Mine has the value of 84**** and some digits which is latest i guess. coz in gradle we use 8.4

When importing, You will get some issues. I guess you will be able to solve them.

Hope I helped.

Regards

  1. The version of google play services is the version of admob since in gradle we use google-play-services-ads:8.4
  2. In gradle its the number like in above its 8.4. In Eclipse you can check your version by going to this google_play_lib project and res/values/version.
  3. Above things you explain this.

I already responded please try the version 29 or 28 from the link I have given
in my post
you would able to use them as libproject in eclipse, first try 29 if it gives dependency error try 28.
thanks

Note:if you have eclipse based project or another build system you may face issue with version 29 and 30 of play services , in that they can use version 28 which is admob version 8.3

You can see the admob sdk version in your app log.

You are correct about your points ONLY for old versions. When “Google play services” is choosed to install in eclipse SDK manager, It deletes the “libproject” folder itself.
Hence you cannnot import “Google play services” project into workspace and add to your project.

Only 2 solutions which seems to be working for eclipse projects is

1.) Below link shared by gen provides download of play services projects until version: 8.4 and rev: 29
Google Play Services SDK Version History - smorgasbork

version: 8.3 and rev: 28 seems to be working fine with eclipse project. use the same procedure. Import the project to workspace and link to your project.

2.) This link explains what i wrote below and again share by gen
android - Missing “<sdk>/extras/google/google_play_services/libproject” folder after update to revision 30 - Stack Overflow

When “Google play services” is updated in SDK manager, it deletes the lib project inside the sdk as i told earlier. but it creats the the lib into .arr formet for
different functionalities including google play services ads in <sdk>/extras/google/m2repository/com/google/android/gms folder.
The individual libraries are in aar format, so you’ll have to extract the jar yourself.

Here are the steps:

  1. Rename .aar to .zip
  2. Unzip the file
  3. Create a ‘libs’ folder and move the classes.jar file into it
  4. Import the project into Eclipse by using New -> Project -> Android Project from Existing Source Code
  5. Go to the Project’s properties and set the Build Target and ‘Is Library’ flag

please share your findings and experiences with this.

Brother it is possible. When sdk is updated then go to the directory and copy the lib project paste it in with you project and import both. How hard it is.??? You don’t need to go to some other projects. If you want the jar file it already exists in the google_play_lib_project.

May be i am wrong but as i told in my post that there is NO libproject in new update. Even if its there, it will get deleated and now libs are in .arr formet.

I don’t know my sdk isn’t up to dated then i guess.

Yeah…your SDK is not up to date…

Hello All,
Please read my previous post in this thread to understand everything
to summarize ,
the latest version of play services (you get from sdk download) don’t have libproject

this is not issue with gradle based project
but if you are on eclipse or other frameworks like unity/cocos this could create issues with you

so solution is use somewhat lower version from my previous link

in most cases v28 will work but it’s good to try with v29 (the latest one)

and finally you may get the error of dex limit of 64 K methods with both 29/28
solution is to remove some unnecessary libs you may have.

Final summary

Try to move gradle based compile system or go with lower version of library

I hope this helps

After making changes to my eclipse projects, I summarized the issues and their solution below.

How to update new play services lib:-

Analytics issue solution:-
Those who are still using libGoogleAnalyticsServices.jar for Google Analytics tracking need to make changes in their code and other places as mentione below.

  • Later version of Play services has inbuilt analytics tracking. Hence delete the libGoogleAnalyticsServices.jar

  • Add below code in onCreate() method of MainActivity class ONLY ONCE
    GoogleAnalytics analytics = GoogleAnalytics.getInstance(cont);
    Tracker tracker = analytics.newTracker(R.xml.app_tracker);

  • Replace EasyTracker.getInstance(this).activityStart(this);
    with GoogleAnalytics.getInstance(this).reportActivityStart(this); in onStart()

  • Replace EasyTracker.getInstance(this).activityStop(this);
    with GoogleAnalytics.getInstance(this).reportActivityStop(this); in onStop()

  • Delete analytics.xml from res/values and create 2 new xml files in res/xml folder

    global_tracker.xml

    <?xml version=“1.0” encoding=“utf-8”?>
    <resources xmlns:tools=“http://schemas.android.com/tools” tools:ignore=“TypographyDashes”>

    <!-- the Local LogLevel for Analytics →
    <string name=“ga_logLevel”>verbose</string>

    <!-- how often the dispatcher should fire →
    <integer name=“ga_dispatchPeriod”>30</integer>

    <!-- Treat events as test events and don’t send to google →
    <bool name=“ga_dryRun”>true</bool>

    <!-- The screen names that will appear in reports →
    <string name=“com.app.MainActivity”>My App</string>
    </resources>

    app_tracker.xml

    <?xml version=“1.0” encoding=“utf-8”?>
    <resources xmlns:tools=“http://schemas.android.com/tools” tools:ignore=“TypographyDashes”>

    <!-- The apps Analytics Tracking Id →
    <string name=“ga_trackingId”>UA-XXXXXXXX-XX</string>

    <!-- Percentage of events to include in reports →
    <string name=“ga_sampleFrequency”>100.0</string>

    <!-- Enable automatic Activity measurement →
    <bool name=“ga_autoActivityTracking”>true</bool>

    <!-- catch and report uncaught exceptions from the app →
    <bool name=“ga_reportUncaughtExceptions”>true</bool>

    <!-- How long a session exists before giving up →
    <integer name=“ga_sessionTimeout”>-1</integer>

    <!-- If ga_autoActivityTracking is enabled, an alternate screen name can be specified to substitute for the full length canonical Activity name in screen view hit. In order to specify an alternate screen name use an <screenName> element, with the name attribute specifying the canonical name, and the value the alias to use instead. →
    <screenName name=“com.app.MainActivity”>My App</screenName>
    </resources>

  • Add below code inside manifest file in between <application> tags

<service android:name=“com.google.android.gms.analytics.AnalyticsService”
android:enabled=“true”
android:exported=“false”/>

Progaurd Issue solution:-
Add below rule in your progaurd-project.txt file to avoid errors while making release apk.

-dontwarn com.google.android.gms.**

Hello
need i move Eclipse project to Android Studio project?

Its upto you.
You can still upgrade Google mobile ads sdk to latest one in eclipse in minimum effort. Else move to studio.

Unfortunately latest version of Goggle Play services increases the APK size by 0.5 MB :mad::mad:

From google team:

Vu Chau (Mobile Ads SDK Team)

Hi Josue,

After talking with the rest of the team, the note you have gotten about the SDK needing to be higher than v6.4.1 refers to a legacy, standalone Mobile Ads SDK that was deprecated back in February 2014, and that had its own versioning system. That deprecation does NOT refer at all to the use of Google Play services. What that means is even if you are using Google Play services 4.0 which was released back in October 2013, you are still OK.

Vu Chau
Mobile Ads SDK Team

Source - Redirecting to Google Groups

I have been correct the whole time, that this only applied to the old stand alone google mobile ads sdk and that any version of play services will work just fine even the older 4 series of play services becuase they automatically self update once installed on the users phone.

There are ways to save time and worry when it comes to keeping your sdk fresh. Why bother with all that coding if you don’t have too. I know that sounds a little vague, but 2 minutes is way better than a day and a half programming!