2017-08-01 211 views
0

我有一個問題,我需要知道firebase配置如何獲取用戶的區域/國家,是基於谷歌帳戶的地區,或者是什麼?還沒有得到任何許可,它如何獲得該地區?Firebase配置如何獲取設備的區域/國家/地區?

+0

我發現firebase通過**互聯網提供商**獲取該地區/國家/地區。 – Haizo

回答

0

這可能會給你一些想法!

您有自己的FCM密鑰是本機實施嚴格要求的。

雖然設置以獲得FCM關鍵用戶應提供所在國家/地區

如何建立自己的FCM鍵:

1)與您的谷歌帳戶

中打開日誌https://console.firebase.google.com/並使用您的Google帳戶登錄(如果頁面要求您這樣做)。

2)點擊創建新項目

在出現的下一個框,單擊創建新項目

3)撰寫的項目名稱,並選擇國家/地區

你現在像下面所示的一個模式對話框提示。在項目名稱下面寫下您想要的名稱,然後在下面選擇您的國家/地區。完成此操作後,請點擊創建項目。

enter image description here

對於細節去,當我試圖讓設備通過區域this

0

我遇到過的問題。這裏有很多方法可以得到這個區域,你可以用下面的方法:

  1. 使用「ro.carrier」得到cid;
  2. 使用Locale.getDefault()。getCountry()獲取短國名;
  3. 使用(TelephonyManager)context.getSystemService(Context.TELEPHONY_SERVICE)獲取SIM卡的區域。

你可以使用所有這些,並給予優先。

對於火力地堡,我遇到下面的短代碼,也許這可以幫助你:

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"); 
       } 
      }); 

這個IE用於獲取DataSnapShot,然後從它那裏得到的區域信息的方法。

由於我不知道t know whether this could help you, I don t過去很多代碼在這裏。

希望它有幫助。

相關問題