New Firebase not working in China anymore !...

3,831 views
Skip to first unread message

Adrien

unread,
Sep 9, 2016, 10:40:02 AM9/9/16
to Firebase Google Group
Hi @firebaseteam,
I've been developing an app since almost a year now using your incredible service Firebase but I recently noticed through a business trip in China that the new Firebase is not working anymore in China.
To test I've just launched my migrated app when I was in China and I couldn't sign in within the app, thus I didn't receive any data. Then I've launched a previous version of my app which is using Firebase 2.4.2 with the legacy console and I succeeded to send and receive datas...

Any input to make Firebase work again in China since Firebase 3.0?...

Thanks

Mike Mcdonald

unread,
Sep 9, 2016, 11:22:01 AM9/9/16
to Firebase Google Group
Hi Adrien,

Unfortunately, what API requests the government of one country does/doesn't allow is not something within our control, so unfortunately there's nothing that we can do to change this behavior (as for all we know, it could change again tomorrow).

Thanks,
--Mike

Adrien

unread,
Sep 12, 2016, 12:03:39 AM9/12/16
to Firebase Google Group
Thanks Mike for your input however I'm surprise it is still working with the legacy firebase and not with Firebase 3.x.x
So I've tried to identify where it is failing and it seems to be located in the signin methods (anonymous and with password both tried). The ping test was successful with the firebaseio.com address so if you could investigate what is causing a rejecting on signin, it would be great as I started using Firebase mainly because it was supposed to work in China.

Best,
Adrien.

Mike Mcdonald

unread,
Sep 12, 2016, 10:51:16 AM9/12/16
to Firebase Google Group
Adrien,

If I had to guess (without any evidence to point to this), I assume that the old database and auth are served off *.firebaseio.com and *.firebase.com domains, which aren't blocked by the GFW, while the new authentication is served off a *.google.com or *.googleapis.com domain, which the GFW likely blocks. You can easily check this by looking at the network traffic and seeing which requests fail.

To reiterate--there's nothing we can do here because we have zero control over the situation. We could move endpoints, but then we're basically playing a game of whack-a-mole with the GFW, and that's not a game we want to play. I don't believe we've ever claimed the Realtime Database does/doesn't work in China, precisely because of this issue.

Thanks,
--Mike

Adrien

unread,
Sep 19, 2016, 1:49:20 PM9/19/16
to Firebase Google Group
Hello Mike,
I agree, moving end-points is not a solution and a game Firebase team would be happy to play but having said that, I still think it's a pity Firebase users are now deprived of 1.4 billion potential end-users ~ 20% of the worldwide population..

Last year, according to this discussion (https://groups.google.com/forum/m/#!topic/firebase-talk/shxyZwds9fA), Firebase was successfully working in China, including the sign-in process.

I'm not suggesting to rollback Firebase 3.x.x but at least can you raise this issue? I'm sure I'm not alone to be interested in China market so it would be great to have a worldwide service like it was few months ago.

Thanks,
Adrien.

Black Mouton

unread,
Oct 29, 2016, 11:02:40 AM10/29/16
to Firebase Google Group
I second Adrien's concern, and I also ran into issues that Firebase analytics are not capturing traffic from chinese android phones. From the error message I think the root cause might be google service being missing. 
As I was testing on a Xiaomi phone brought from China but I'm located in the US, the analytics and realtime database traffic is still missing.

This is probably an issue that Firebase can address by providing a standalone SDK for developers, which I recall admob and Google analytics SDK have been doing a similar thing.

Here's an extract of the error message from logcat:
 E/FirebaseCrash: Failed to initialize crash reporting
                                                                            com.google.firebase.crash.internal.zzg$zza: com.google.android.gms.internal.zzsu$zza: No acceptable module found. Local version is 0 and remote version is 0.
                                                                                at com.google.firebase.crash.internal.zzg.zzbr(Unknown Source)
                                                                                at com.google.firebase.crash.FirebaseCrash.<init>(Unknown Source)
                                                                                at com.google.firebase.crash.FirebaseCrash.getInstance(Unknown Source)
                                                                                at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                at com.google.firebase.FirebaseApp.zza(Unknown Source)
                                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source)
                                                                                at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source)
                                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1591)
                                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1562)
                                                                                at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source)
                                                                                at android.app.ActivityThread.installProvider(ActivityThread.java:4790)
                                                                                at android.app.ActivityThread.installContentProviders(ActivityThread.java:4385)
                                                                                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4325)
                                                                                at android.app.ActivityThread.access$1500(ActivityThread.java:135)
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256)
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102)
                                                                                at android.os.Looper.loop(Looper.java:136)
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5017)
                                                                                at java.lang.reflect.Method.invokeNative(Native Method)
                                                                                at java.lang.reflect.Method.invoke(Method.java:515)
                                                                                at com.android.internal.os.ZygoteInit$MethodAndArgsCaller.run(ZygoteInit.java:796)
                                                                                at com.android.internal.os.ZygoteInit.main(ZygoteInit.java:612)
                                                                                at dalvik.system.NativeStart.main(Native Method)
                                                                             Caused by: com.google.android.gms.internal.zzsu$zza: No acceptable module found. Local version is 0 and remote version is 0.
                                                                                at com.google.android.gms.internal.zzsu.zza(Unknown Source)
                                                                                at com.google.firebase.crash.internal.zzg.zzbr(Unknown Source) 
                                                                                at com.google.firebase.crash.FirebaseCrash.<init>(Unknown Source) 
                                                                                at com.google.firebase.crash.FirebaseCrash.getInstance(Unknown Source) 
                                                                                at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                at java.lang.reflect.Method.invoke(Method.java:515) 
                                                                                at com.google.firebase.FirebaseApp.zza(Unknown Source) 
                                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                                at com.google.firebase.FirebaseApp.initializeApp(Unknown Source) 
                                                                                at com.google.firebase.provider.FirebaseInitProvider.onCreate(Unknown Source) 
                                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1591) 
                                                                                at android.content.ContentProvider.attachInfo(ContentProvider.java:1562) 
                                                                                at com.google.firebase.provider.FirebaseInitProvider.attachInfo(Unknown Source) 
                                                                                at android.app.ActivityThread.installProvider(ActivityThread.java:4790) 
                                                                                at android.app.ActivityThread.installContentProviders(ActivityThread.java:4385) 
                                                                                at android.app.ActivityThread.handleBindApplication(ActivityThread.java:4325) 
                                                                                at android.app.ActivityThread.access$1500(ActivityThread.java:135) 
                                                                                at android.app.ActivityThread$H.handleMessage(ActivityThread.java:1256) 
                                                                                at android.os.Handler.dispatchMessage(Handler.java:102) 
                                                                                at android.os.Looper.loop(Looper.java:136) 
                                                                                at android.app.ActivityThread.main(ActivityThread.java:5017) 
                                                                                at java.lang.reflect.Method.invokeNative(Native Method) 
                                                                                at java.lang.reflect.Method.invoke(Method.java:515)
Reply all
Reply to author
Forward
0 new messages