【发布时间】:2021-02-23 11:27:31
【问题描述】:
你好所以我想在unity上检查这个java函数
FirebaseRemoteConfigSettings configSettings = new FirebaseRemoteConfigSettings.Builder()
.setMinimumFetchIntervalInSeconds(MINIMUM_FETCH_INTERVAL)
.setFetchTimeoutInSeconds(FETCH_TIME_OUT)
.build();
但是好像unity上没有config setting interval也看不懂firebase文档上说的是什么
这里是我关于统一的 firebse 脚本
public static _FirebaseRemoteConfig instance;
private void Awake()
{
if (instance != null)
{
Destroy(gameObject);
}
else
{
DontDestroyOnLoad(gameObject);
instance = this;
}
InitializeFirebase();
}
public int countingUpdate;
public int maxCount;
Firebase.DependencyStatus dependencyStatus = Firebase.DependencyStatus.UnavailableOther;
// Use this for initialization
void Start()
{
}
public void InitializeFirebase()
{
System.Collections.Generic.Dictionary<string, object> defaults =
new System.Collections.Generic.Dictionary<string, object>();
defaults.Add("config_test_string", "default local string");
defaults.Add("config_test_int", 1);
defaults.Add("config_test_float", 1.0);
defaults.Add("config_test_bool", false);
Firebase.RemoteConfig.FirebaseRemoteConfig.SetDefaults(defaults);
Debug.Log("Remote config ready!");
FetchFireBase();
}
public void FetchFireBase()
{
FetchDataAsync();
}
public void ShowData()
{
Debug.Log("maxCountToShowAdmob: " +
Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue("MaxCountShowIntersitialAds").StringValue);
}
// Start a fetch request.
public Task FetchDataAsync()
{
Debug.Log("Fetching data...");
System.Threading.Tasks.Task fetchTask = Firebase.RemoteConfig.FirebaseRemoteConfig.FetchAsync(
TimeSpan.Zero);
return fetchTask.ContinueWith(FetchComplete);
}
void FetchComplete(Task fetchTask)
{
if (fetchTask.IsCanceled)
{
Debug.Log("Fetch canceled.");
}
else if (fetchTask.IsFaulted)
{
Debug.Log("Fetch encountered an error.");
}
else if (fetchTask.IsCompleted)
{
Debug.Log("Fetch completed successfully!");
}
var info = Firebase.RemoteConfig.FirebaseRemoteConfig.Info;
switch (info.LastFetchStatus)
{
case Firebase.RemoteConfig.LastFetchStatus.Success:
Firebase.RemoteConfig.FirebaseRemoteConfig.ActivateFetched();
Debug.Log(String.Format("Remote data loaded and ready (last fetch time {0}).",
info.FetchTime));
break;
case Firebase.RemoteConfig.LastFetchStatus.Failure:
switch (info.LastFetchFailureReason)
{
case Firebase.RemoteConfig.FetchFailureReason.Error:
Debug.Log("Fetch failed for unknown reason");
break;
case Firebase.RemoteConfig.FetchFailureReason.Throttled:
Debug.Log("Fetch throttled until " + info.ThrottledEndTime);
break;
}
break;
case Firebase.RemoteConfig.LastFetchStatus.Pending:
Debug.Log("Latest Fetch call still pending.");
break;
}
}
public void DisplayAds()
{
countingUpdate++;
if (countingUpdate % int.Parse(Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue("MaxCountShowIntersitialAds").StringValue) == 0)
{
//ADs ready to show
_AdmobAds.instance.ShowInterstitialAd();
countingUpdate = 0;
}
}
【问题讨论】:
-
您是否尝试过类似的方法,例如
Firebase.RemoteConfig.FirebaseRemoteConfig.FetchTimeoutInMilliseconds = XYZ;?或者Firebase.RemoteConfig.FirebaseRemoteConfig.DefaultTimeoutInMilliseconds = XYZ;? -
是的,然后是
CS0117- FirebaseRemoteConfig does not contain a definition for FetchTimeoutInMilliseconds@derHugo -
我面前没有项目和这个库......只需输入
Firebase.RemoteConfig.FirebaseRemoteConfig.并让您的 IDE 显示那里存在哪些属性/字段 ;) -
实际上,与此类似的 FetchAsync() 我也已经实现了,但我不确定,所以这让我感到困惑,因为不存在
FetchIntervalSecond的文档。 @derHugo
标签: firebase unity3d firebase-remote-config