When loading admob rewarded videos i am getting error like Internal track renderer error

1,365 views
Skip to first unread message

Teja B

unread,
May 25, 2017, 3:46:46 AM5/25/17
to Google Mobile Ads SDK Developers
Now my app in play store with out having any ads. Now i want to update app with rewarded video ads. For that i implemented rewarded video ads in my app. But i am getting some error. Follow is the error. I attached my build.gradle file and RewardedVideoAd implementation file . 

05-25 13:09:14.992 16173-19464/com.app.adme E/ExoPlayerImplInternal: Internal track renderer error.
                                                                     com.google.android.gms.ads.exoplayer1.d: com.google.android.gms.ads.exoplayer1.upstream.o: Unable to connect to https://www.youtube.com/get_video?video_id=eHYfHKMiHGo&ts=1495697948&t=3wQLtbT4QRvmkIPbegDDSYsJnic&gad=1
                                                                         at com.google.android.gms.ads.exoplayer1.q.b(:com.google.android.gms.DynamiteModulesA:253)
                                                                         at com.google.android.gms.ads.exoplayer1.j.handleMessage(:com.google.android.gms.DynamiteModulesA:2116)
                                                                         at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                         at android.os.Looper.loop(Looper.java:193)
                                                                         at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                         at com.google.android.gms.ads.exoplayer1.util.i.run(:com.google.android.gms.DynamiteModulesA:40)
                                                                      Caused by: com.google.android.gms.ads.exoplayer1.upstream.o: Unable to connect to https://www.youtube.com/get_video?video_id=eHYfHKMiHGo&ts=1495697948&t=3wQLtbT4QRvmkIPbegDDSYsJnic&gad=1
                                                                         at com.google.android.gms.ads.exoplayer1.upstream.h.a(:com.google.android.gms.DynamiteModulesA:187)
                                                                         at com.google.android.gms.ads.exoplayer1.upstream.i.a(:com.google.android.gms.DynamiteModulesA:151)
                                                                         at com.google.android.gms.ads.internal.overlay.exoplayer1.r.a(:com.google.android.gms.DynamiteModulesA:91)
                                                                         at com.google.android.gms.ads.exoplayer1.extractor.h.c(:com.google.android.gms.DynamiteModulesA:608)
                                                                         at com.google.android.gms.ads.exoplayer1.upstream.t.run(:com.google.android.gms.DynamiteModulesA:242)
                                                                         at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                                                                         at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                         at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                         at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                         at java.lang.Thread.run(Thread.java:841)
                                                                      Caused by: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x642fa688: Failure in SSL library, usually a protocol error
                                                                     error:14077102:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol (external/openssl/ssl/s23_clnt.c:714 0x5ec5f6fd:0x00000000)
                                                                         at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448)
                                                                         at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
                                                                         at com.android.okhttp.Connection.connect(Connection.java:107)
                                                                         at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
                                                                         at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
                                                                         at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
                                                                         at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
                                                                         at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
                                                                         at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161)
                                                                         at com.google.android.gms.ads.exoplayer1.upstream.h.a(:com.google.android.gms.DynamiteModulesA:1335)
                                                                          ... 9 more
                                                                      Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x642fa688: Failure in SSL library, usually a protocol error
                                                                     error:14077102:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol (external/openssl/ssl/s23_clnt.c:714 0x5ec5f6fd:0x00000000)
                                                                         at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
                                                                         at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
                                                                          ... 18 more
05-25 13:09:14.992 16173-16173/com.app.adme W/Ads: ExoPlayer failed during precache: PlayerError Exception: com.google.android.gms.ads.exoplayer1.upstream.o: Unable to connect to https://www.youtube.com/get_video?video_id=eHYfHKMiHGo&ts=1495697948&t=3wQLtbT4QRvmkIPbegDDSYsJnic&gad=1
05-25 13:09:14.993 16173-19465/com.app.adme D/dalvikvm: threadid=51: exiting
05-25 13:09:14.993 16173-19465/com.app.adme D/dalvikvm: threadid=51: bye!
05-25 13:09:15.044 16173-18739/com.app.adme W/Ads: Failed to preload url https://www.youtube.com/get_video?video_id=eHYfHKMiHGo&ts=1495697948&t=3wQLtbT4QRvmkIPbegDDSYsJnic&gad=1 Exception: Abort requested before buffering finished. 
05-25 13:09:15.045 16173-16173/com.app.adme D/WebView: evaluateJavascript=(window.AFMA_ReceiveMessage || function() {})('onPrecacheEvent',{"cachedSrc":"cache:A6488BA679914247B4C37A68F7312294","message":"ExoPlayer caching failed. Type: PlayerError","src":"https:\/\/www.youtube.com\/get_video?video_id=eHYfHKMiHGo&ts=1495697948&t=3wQLtbT4QRvmkIPbegDDSYsJnic&gad=1","type":"network","reason":"badUrl","event":"precacheCanceled"});
05-25 13:09:15.202 16173-16173/com.app.adme D/WebView: evaluateJavascript=(window.AFMA_ReceiveMessage || function() {})('volume',{"app_volume":"1.0","device_volume":"0.93333334","app_muted":"false"});
05-25 13:09:15.202 16173-16173/com.app.adme D/WebView: onPause
05-25 13:09:15.202 16173-16173/com.app.adme W/Ads: Failed to load ad: 0
05-25 13:09:15.203 16173-16173/com.app.adme W/Ads: Failed to load ad: 3



GoogleAdsFragment.java
build.gradle

Ivan Bautista (Mobile Ads SDK Team)

unread,
May 25, 2017, 5:53:08 AM5/25/17
to Google Mobile Ads SDK Developers
Hi,

Based from your code snippets, Ad Request should have worked as expected. That said, I tested your Ad Unit Id and App Id in our sample app and was able to display live ads successfully. Could you test it with our sample app on your end and see if issue persist? 

If issue persist even with our sample app, then could you provide the following so we can look further into it?
  • Charles logs captured (with SSL Proxying enabled) during the time issue was encountered
  • Miniature sample app where issue is reproducible
Regards,
Ivan Bautista
Mobile Ads SDK Team

Teja B

unread,
May 25, 2017, 6:25:25 AM5/25/17
to Google Mobile Ads SDK Developers
Hi Ivan,

Thanks for the immediate response. 

We have tried the same, using sample app and it is working absolutely fine.

But when it comes to implementing on our main app, none of the ads are able to load properly.

Here, we have already published our app in beta, but we want to update the app using admob. Is it a issue?

Ivan Bautista (Mobile Ads SDK Team)

unread,
May 25, 2017, 7:21:06 AM5/25/17
to Google Mobile Ads SDK Developers
Hi,

As mentioned earlier, for us to further investigate, we need the following information:
    • Miniature sample app where issue is reproducible as well as replication steps

    Teja B

    unread,
    May 25, 2017, 7:48:22 AM5/25/17
    to Google Mobile Ads SDK Developers
    Hi,

    If i try in sample app its working fine, But inside my app i am getting error it shows Failed to load ad: 0 and Failed to load ad: 3.

    below is my log 

    05-25 17:03:53.447 31407-11322/com.app.adme E/ExoPlayerImplInternal: Internal track renderer error.
                                                                         com.google.android.gms.ads.exoplayer1.d: com.google.android.gms.ads.exoplayer1.upstream.o: Unable to connect to https://www.youtube.com/get_video?video_id=3mSLol2WDeY&ts=1495712026&t=uk-A40JBWtM_Vhdozg9gN1lCUSU&gad=1
                                                                             at com.google.android.gms.ads.exoplayer1.q.b(:com.google.android.gms.DynamiteModulesA:253)
                                                                             at com.google.android.gms.ads.exoplayer1.j.handleMessage(:com.google.android.gms.DynamiteModulesA:2116)
                                                                             at android.os.Handler.dispatchMessage(Handler.java:106)
                                                                             at android.os.Looper.loop(Looper.java:193)
                                                                             at android.os.HandlerThread.run(HandlerThread.java:61)
                                                                             at com.google.android.gms.ads.exoplayer1.util.i.run(:com.google.android.gms.DynamiteModulesA:40)
                                                                          Caused by: com.google.android.gms.ads.exoplayer1.upstream.o: Unable to connect to https://www.youtube.com/get_video?video_id=3mSLol2WDeY&ts=1495712026&t=uk-A40JBWtM_Vhdozg9gN1lCUSU&gad=1
                                                                             at com.google.android.gms.ads.exoplayer1.upstream.h.a(:com.google.android.gms.DynamiteModulesA:187)
                                                                             at com.google.android.gms.ads.exoplayer1.upstream.i.a(:com.google.android.gms.DynamiteModulesA:151)
                                                                             at com.google.android.gms.ads.internal.overlay.exoplayer1.r.a(:com.google.android.gms.DynamiteModulesA:91)
                                                                             at com.google.android.gms.ads.exoplayer1.extractor.h.c(:com.google.android.gms.DynamiteModulesA:608)
                                                                             at com.google.android.gms.ads.exoplayer1.upstream.t.run(:com.google.android.gms.DynamiteModulesA:242)
                                                                             at java.util.concurrent.Executors$RunnableAdapter.call(Executors.java:422)
                                                                             at java.util.concurrent.FutureTask.run(FutureTask.java:237)
                                                                             at java.util.concurrent.ThreadPoolExecutor.runWorker(ThreadPoolExecutor.java:1112)
                                                                             at java.util.concurrent.ThreadPoolExecutor$Worker.run(ThreadPoolExecutor.java:587)
                                                                             at java.lang.Thread.run(Thread.java:841)
                                                                          Caused by: javax.net.ssl.SSLHandshakeException: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6a2ec5f0: Failure in SSL library, usually a protocol error
                                                                         error:14077102:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol (external/openssl/ssl/s23_clnt.c:714 0x5ec5f6fd:0x00000000)
                                                                             at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:448)
                                                                             at com.android.okhttp.Connection.upgradeToTls(Connection.java:146)
                                                                             at com.android.okhttp.Connection.connect(Connection.java:107)
                                                                             at com.android.okhttp.internal.http.HttpEngine.connect(HttpEngine.java:294)
                                                                             at com.android.okhttp.internal.http.HttpEngine.sendSocketRequest(HttpEngine.java:255)
                                                                             at com.android.okhttp.internal.http.HttpEngine.sendRequest(HttpEngine.java:206)
                                                                             at com.android.okhttp.internal.http.HttpURLConnectionImpl.execute(HttpURLConnectionImpl.java:345)
                                                                             at com.android.okhttp.internal.http.HttpURLConnectionImpl.connect(HttpURLConnectionImpl.java:89)
                                                                             at com.android.okhttp.internal.http.HttpsURLConnectionImpl.connect(HttpsURLConnectionImpl.java:161)
                                                                             at com.google.android.gms.ads.exoplayer1.upstream.h.a(:com.google.android.gms.DynamiteModulesA:1335)
                                                                              ... 9 more
                                                                          Caused by: javax.net.ssl.SSLProtocolException: SSL handshake aborted: ssl=0x6a2ec5f0: Failure in SSL library, usually a protocol error
                                                                         error:14077102:SSL routines:SSL23_GET_SERVER_HELLO:unsupported protocol (external/openssl/ssl/s23_clnt.c:714 0x5ec5f6fd:0x00000000)
                                                                             at com.android.org.conscrypt.NativeCrypto.SSL_do_handshake(Native Method)
                                                                             at com.android.org.conscrypt.OpenSSLSocketImpl.startHandshake(OpenSSLSocketImpl.java:405)
                                                                              ... 18 more
    05-25 17:03:53.447 31407-31407/com.app.adme W/Ads: ExoPlayer failed during precache: PlayerError Exception: com.google.android.gms.ads.exoplayer1.upstream.o: Unable to connect to https://www.youtube.com/get_video?video_id=3mSLol2WDeY&ts=1495712026&t=uk-A40JBWtM_Vhdozg9gN1lCUSU&gad=1
    05-25 17:03:53.448 31407-11324/com.app.adme D/dalvikvm: threadid=67: exiting
    05-25 17:03:53.448 31407-11324/com.app.adme D/dalvikvm: threadid=67: bye!
    05-25 17:03:53.537 31407-11281/com.app.adme W/Ads: Failed to preload url https://www.youtube.com/get_video?video_id=3mSLol2WDeY&ts=1495712026&t=uk-A40JBWtM_Vhdozg9gN1lCUSU&gad=1 Exception: Abort requested before buffering finished. 
    05-25 17:03:53.538 31407-31407/com.app.adme D/WebView: evaluateJavascript=(window.AFMA_ReceiveMessage || function() {})('onPrecacheEvent',{"cachedSrc":"cache:BEFD70F018D40FEC51409C671ACE22CE","message":"ExoPlayer caching failed. Type: PlayerError","src":"https:\/\/www.youtube.com\/get_video?video_id=3mSLol2WDeY&ts=1495712026&t=uk-A40JBWtM_Vhdozg9gN1lCUSU&gad=1","type":"network","reason":"badUrl","event":"precacheCanceled"});
    05-25 17:03:53.664 31407-31407/com.app.adme D/WebView: evaluateJavascript=(window.AFMA_ReceiveMessage || function() {})('volume',{"app_volume":"1.0","device_volume":"0.73333335","app_muted":"false"});
    05-25 17:03:53.664 31407-31407/com.app.adme D/WebView: onPause
    05-25 17:03:53.664 31407-31407/com.app.adme W/Ads: Failed to load ad: 0
    05-25 17:03:53.665 31407-31407/com.app.adme W/Ads: Failed to load ad: 3
    0

    Ivan Bautista (Mobile Ads SDK Team)

    unread,
    May 25, 2017, 8:28:32 AM5/25/17
    to Google Mobile Ads SDK Developers
    Hi,

    The stack trace is helpful but as mentioned earlier, we need more information to be able to look further into the issue since it is only reproducible in your app.

    There are a number of factors that could cause the Error Code 0 and 3 which is why we need the captured Charles logs to help us look further into it as it captures the returned response for the Ad request.

    Also, providing us a miniature sample app will help us investigate further on the root cause of the "Internal track renderer error" as there might be something in your code that could have changed the behavior of the HttpURLConnection specifications within the SDK which could have caused the "Unable to connect.." errors and the SSLProtocolException.

    Teja B

    unread,
    May 25, 2017, 1:28:05 PM5/25/17
    to Google Mobile Ads SDK Developers
    Hi 

    I find the problem in my app. I am implementing below method to avoid following error com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.

    Method:

    @SuppressLint("TrulyRandom")
    public static void handleSSLHandshake() {
       
    try {
           
    TrustManager[] trustAllCerts = new TrustManager[]{new X509TrustManager() {
               
    public X509Certificate[] getAcceptedIssuers() {
                   
    return new X509Certificate[0];
               
    }

               
    @Override
                public void checkClientTrusted(X509Certificate[] certs, String authType) {
               
    }

               
    @Override
                public void checkServerTrusted(X509Certificate[] certs, String authType) {
               
    }
           
    }};

           
    SSLContext sc = SSLContext.getInstance("SSL");
            sc
    .init(null, trustAllCerts, new SecureRandom());
           
    HttpsURLConnection.setDefaultSSLSocketFactory(sc.getSocketFactory());
           
    HttpsURLConnection.setDefaultHostnameVerifier(new HostnameVerifier() {
               
    @Override
                public boolean verify(String arg0, SSLSession arg1) {

                   
    if(arg0.equalsIgnoreCase("adme.co.in")|| arg0.equalsIgnoreCase("firebasedynamiclinks.googleapis.com")||
                            arg0
    .equalsIgnoreCase("youtube.com")){
                       
    return true;
                   
    }else {
                       
    return false;
                   
    }
               
    }
           
    });
       
    } catch (Exception ignored) {
       
    }
    }

    I removed above method from my app. Rewarded video ads are working fine. But I am getting error while connecting my server. it shows below error again.

    Error:

    com.android.volley.NoConnectionError: javax.net.ssl.SSLHandshakeException: java.security.cert.CertPathValidatorException: Trust anchor for certification path not found.
     
    Now how can i run my project without any problem.

    Thank you,
    Teja B


    On Thursday, May 25, 2017 at 1:16:46 PM UTC+5:30, Teja B wrote:

    Ivan Bautista (Mobile Ads SDK Team)

    unread,
    May 25, 2017, 2:47:18 PM5/25/17
    to Google Mobile Ads SDK Developers
    Hi,

    I'm glad that the Rewarded video ads are working properly now on your end. 

    As for your HttpsURLConnection implementation, you might want to consider using a per-instance approach instead of a per-class (static) approach.

    However, this is more specific to Android SDK implementation than with the Mobile Ads SDK, I suggest that you raise it in other developer forums such as StackOverflow to get more accurate alternatives or solutions.

    Teja B

    unread,
    May 26, 2017, 5:44:48 AM5/26/17
    to Google Mobile Ads SDK Developers
    Hi, 

    According to the implementation of our app, requests can be only accepted by our servers. 

    Can you please tell the domains from which admob sends all the reward videos, so that we would be able to whitelist them.

    Deepika Uragayala- MobileAds SDK team

    unread,
    May 26, 2017, 1:06:18 PM5/26/17
    to Google Mobile Ads SDK Developers
    Hi Teja,

    We are not be able to specify a list of domains to be whitelisted. 

    Let me know if you have any other questions.

    Regards,
    Deepika Uragayala
    Mobile Ads SDK Team
    Reply all
    Reply to author
    Forward
    0 new messages