We recently updated from 14.0.0 to 14.6.0 in our Android app and Airship no longer works when proxying through Charles. It works fine when we are not going through Charles. Is there a setting or configuration option we can change to make Airship work with Charles?
Airship not working with Charles after updating to 14.6.0
Didn't find what you were looking for?
New post-
Hi Nathan,
Thanks for reaching out to Airship Technical Support! Could you help confirm is you have set up Charles to use SSL Proxying? I have included the reference documentation in here to help: https://support.airship.com/hc/en-us/articles/213491123-Using-Charles-Proxy-to-profile-an-Airship-Implementation
Let us know if you have any additional questions or concerns.
Regards,Arushi S.
Technical Support Engineer
Airship | San Francisco, CAComment actions -
Hi Arushi,
Thanks for your help. We set up Charles to use SSL Proxying based on the provided instructions and it has worked fine in the past.
After letting it sit this weekend, we tried again and found that Charles was now working with 14.6.0 this morning, but it stopped working this afternoon. The code was identical for both tests so we are now wondering if it has to do with how we are testing.
For each test, we delete the app and reinstall. When it works, we see a call to https://remote-data.urbanairship.com/api/remote-data/app/* and then a call to https://device-api.urbanairship.com/api/channels/ to get the channel ID. When it is not working, we don't see any calls in Charles. After a fresh install of the app (we set up the config and call takeOff() in Application.onCreate()), should we always expect to see these calls on app launch?
Thanks,
NathanComment actions -
I think I have narrowed it down a bit to the jump from 14.1.3 to 14.2.0. If I build the app and do a fresh install with 14.1.3, it works fine with Charles:
implementation 'com.urbanairship.android:urbanairship-fcm:14.1.3'
implementation 'com.urbanairship.android:urbanairship-automation:14.1.3'If i bump it up to 14.2.0, I no longer see any Airship calls in Charles and we do not get a channel id. If I disable Charles, it works fine. Do you have any idea what would cause this behavior?
Thanks,
NathanComment actions -
Hi Nathan,
Could you please share the android device logs with us? Also, have you tried to stop Charles proxy traffic view, restart it and then try capturing the channel id?
Regards,Arushi S.
Technical Support Engineer
Airship | San Francisco, CAComment actions -
Hi Arushi,
We found the issue. It turns out Charles was blocking the dns check Android is doing to validate the network connection. The problem showed up in the update from Airship 14.1.3 to 14.2.0 because that is when JobScheduler was replaced with WorkManager. All the api call jobs now have a NetworkType.CONNECTED constraint that was never being met because the network connection was always showing as not validated.
Our solution was to exclude *.google.com from Charles ssl proxy and it is now working fine.
Thank you for your help!
NathanComment actions -
I recently encountered an issue after updating our Android app from version 14.0.0 to 14.6.0. It seems that Airship functionality is no longer working when our app is configured to proxy through Charles. Strangely, when we bypass the Charles proxy, Airship works perfectly fine. We have tried investigating various settings and configurations to troubleshoot the problem, but we haven't been able to find a solution yet. This situation is quite frustrating, as Airship integration plays a crucial role in our app's engagement and messaging features.
Comment actions
Please sign in to leave a comment.
Comments
6 comments