Firebase配置如何获取设备的区域/国家/地区?

时间:2017-08-01 11:36:42

标签: java android firebase

我遇到了问题,我需要知道firebase配置如何获取用户的区域/国家/地区,是基于Google帐户的区域,还是什么?它是如何在没有任何许可的情况下获得该地区的?

2 个答案:

答案 0 :(得分:0)

当我尝试获取设备区域时,我遇到了问题。以下是获取此区域的多种方法,您可以使用以下方式:

  1. 使用" ro.carrier"得到cid;
  2. 使用Locale.getDefault()。getCountry()获取简短的国家/地区名称;
  3. 使用(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)获取SIM卡区域。
  4. 您可以使用所有这些并优先考虑。

    对于Firebase,我在下面遇到了一个简短的代码,也许这可以帮到你:

     String feature_url = "feature_config";
        Log.d(TAG, "init, feature_url: " + feature_url);
        mRootReference = FirebaseDatabase.getInstance().getReference();
        mRootReference.child(feature_url).child(BuildConfiguration.DEBUG ? "debug" : "release")
                .addValueEventListener(new ValueEventListener() {
                    @Override
                    public void onDataChange(DataSnapshot dataSnapshot) {
                        Log.d(TAG, "onDataChange");
                        FeatureConfig.getInstance().updateConfig(dataSnapshot);
                    }
    
                    @Override
                    public void onCancelled(DatabaseError databaseError) {
                        Log.d(TAG, "onCancelled");
                    }
                });
    

    这是一种用于获取DataSnapShot然后从中获取区域信息的方法。

    因为我在这里没有t know whether this could help you, I don过多的代码。

    希望它有所帮助。

答案 1 :(得分:-2)

这可能会让您有所了解!!!

本机实现严格要求您拥有自己的FCM密钥。

设置为获取FCM密钥的用户应提供地区/国家/地区

如何设置自己的FCM密钥:

1)使用您的Google帐户登录

打开https://console.firebase.google.com/并使用您的Google帐户登录(如果该页面要求您这样做)。

2)点击“创建新项目”

在出现的下一个框中,点击创建新项目

3)撰写项目名称并选择您所在的国家/地区

现在将提示您使用如下所示的模态框。在项目名称下,写下您想要的名称及其下方,选择您的国家/地区。完成此操作后,单击“创建项目”。

enter image description here

有关详细信息,请浏览this