Closed
Description
I try to get key, value list from defaults dictionary, in editor mode it works. But on real device (android device). It print nothing from for each loop.
Example MonoBehaviour as bellow:
using System;
using System.Threading.Tasks;
using Firebase.RemoteConfig;
using OneSoftGame.Tools;
using System.Diagnostics;
using System.Collections;
using UnityEngine;
public class RMManager : MonoBehaviour
{
Firebase.DependencyStatus dependencyStatus = Firebase.DependencyStatus.UnavailableOther;
/// <summary>
/// Awake is called when the script instance is being loaded.
/// </summary>
void Start()
{
dependencyStatus = Firebase.FirebaseApp.CheckDependencies();
if (dependencyStatus != Firebase.DependencyStatus.Available)
{
Firebase.FirebaseApp.FixDependenciesAsync().ContinueWith(task =>
{
dependencyStatus = Firebase.FirebaseApp.CheckDependencies();
if (dependencyStatus == Firebase.DependencyStatus.Available)
{
print("RemoteConfig configured and ready!");
InitFB();
}
else
{
print(
"Could not resolve all Firebase dependencies: " + dependencyStatus);
}
});
}
else
{
print("RemoteConfig configured and ready!");
InitFB();
}
}
void InitFB()
{
print("Start InitFB");
ListDefaultValues();
//Test("key1");
//Test("key2");
SetDefaultValues("key1", "value1");
//Test("key1");
//Test("key2");
ListDefaultValues();
SetDefaultValues("key2", "value2");
//Test("key1");
//Test("key2");
ListDefaultValues();
}
void Test(string key)
{
print("Start Test key:"+ key);
var item = Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue(key);
DebugFirebaseConfigValue(item);
}
void SetDefaultValues(string key, object value)
{
print("Start SetDefaultValues for key:"+ key);
System.Collections.Generic.Dictionary<string, object> defaults =
new System.Collections.Generic.Dictionary<string, object>();
defaults.Add(key, value);
Firebase.RemoteConfig.FirebaseRemoteConfig.SetDefaults(defaults);
ListDefaultValues();
}
private void ListDefaultValues()
{
print("Start ListDefaultValues GetKeysByPrefix ++++");
var keys = Firebase.RemoteConfig.FirebaseRemoteConfig.GetKeysByPrefix("","");
foreach (var key in keys)
{
print("ListDefaultValues:" + key);
var item = Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue(key);
DebugFirebaseConfigValue(item);
}
print("Start ListDefaultValues GetKeys ++++");
keys = Firebase.RemoteConfig.FirebaseRemoteConfig.GetKeys("");
foreach (var key in keys)
{
print("ListDefaultValues:" + key);
var item = Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue(key);
DebugFirebaseConfigValue(item);
}
print("Start ListDefaultValues .Keys ++++");
keys = Firebase.RemoteConfig.FirebaseRemoteConfig.Keys;
foreach (var key in keys)
{
print("ListDefaultValues:" + key);
var item = Firebase.RemoteConfig.FirebaseRemoteConfig.GetValue(key);
DebugFirebaseConfigValue(item);
}
print("End ListDefaultValues ++++");
}
public void DebugFirebaseConfigValue(ConfigValue item)
{
try
{
print("Debug ConfigValue Start -----------------");
print("Source:" + item.Source);
print("StringValue:" + item.StringValue);
print("Debug ConfigValue End -----------------");
}
catch (Exception ex)
{
print("DebugFirebaseConfigValue Exception:" + ex.Message);
}
}
}