Why is Firebase based app not working in Iran?

2020-06-08 03:19发布

问题:

I am working on an iOS project for my client from Iran using Firebase. When my client tries to open the Firebase website (https://www.firebase.google.com), he is getting error like:

"Your client does not have permission to get URL / from this server. That’s all we know."

Anyone has any idea about this? Is firebase not available in Iran? Lets say I tell him to use VPN, will the user from Iran be able to use this app after release?

Would appreciate if somebody from Iran can help me out.

回答1:

By my friends, I know that many things are filtered in Iran. Some filters are by government ( porn sites or some social media sites) and some are by sanctions ( some technological tools). This which you are facing now is a sanction.

For browsers: he has to go into incognito to avoid any previous caches and also Yes use a VPN.

As for the app: it depends, would firebase.google know about the IP address of where it was originated? if so then yes it won't be able to work and you must somehow think of some local service or somehow incorporate a VPN into your app.
I recommend you seek consultation from your client, it's really not your responsibility and I assure you that this isn't a huge problem, there must be plenty of workarounds that you just don't know of.

EDIT: It seems that there is an Iranian alternative to Firebase. It's called Pushe.



回答2:

google does not provide their service to Iran,Cuba,North Korea,Syria and Crimea. in terms of Policy page

The Software is controlled by U.S. Export Regulations, and it may be not be exported to or used by embargoed countries or individuals.

so the Problem is USA Government



回答3:

I have the same problem with FireBase (only in android)

This is the exact exception I'm getting:

signInWithEmail
                                                      com.google.firebase.FirebaseException: An internal error has occured. [ This service is not available from your country ]
                                                          at com.google.android.gms.internal.zzacq.zzbN(Unknown Source)
                                                          at com.google.android.gms.internal.zzacn$zzg.zza(Unknown Source)
                                                          at com.google.android.gms.internal.zzacy.zzbO(Unknown Source)
                                                          at com.google.android.gms.internal.zzacy$zza.onFailure(Unknown Source)
                                                          at com.google.android.gms.internal.zzact$zza.onTransact(Unknown Source)
                                                          at android.os.Binder.execTransact(Binder.java:446)                                       at com.google.android.gms.internal.zzact$zza.onTransact(Unknown Source)
                                                          at android.os.Binder.execTransact(Binder.java:446)

I guess it's clear that fire base won't work in Iran.

And here I thought it was going to be available for everyone!



回答4:

pushe is just a notification service

There is a way that you can use https://github.com/kreait/firebase-tokens-php and something like php laravel for backend. and use nodejs and ... for front end.

This is how you can change ip address for requesting and get response to the firebase database service.