There are no special permissions. Can you define “does not work”, how are you debugging? You mention “on the store”, when you build directly to a device locally, does it work then? You generally want to test on an actual device locally before publishing to the store. This may help with debugging https://discussions.unity.com/t/748729/14 and https://discussions.unity.com/t/700551
Thanks for the info. As far as the store goes, I was testing through testflight. I will revert back to local device test (android) to see if the issues persist.
What I meant by “not working”, is that the information was not being updated, while in editor test the information was being updated via remote config.
Well, working now, user fault with regards to no internet access and a > sign would have been a < sign (which comes into play when there is no internet).
Here is my code, warts and all, for the sole purposes of critique.
using System.Collections;
using System.Collections.Generic;
using UnityEngine;
using Unity.Services.Core;
using Unity.Services.Authentication;
using Unity.RemoteConfig;
using UnityEngine.SceneManagement;
public class RemoteGameOverrides : MonoBehaviour
{
public RemoteUpdateSO remoteUpdateSo;
private bool gotRemoteConfigs = false;
private float counter = 0;
public struct userAttributes
{
}
public struct appAttributes
{
}
async void Start()
{
await UnityServices.InitializeAsync();
if (!AuthenticationService.Instance.IsSignedIn)
{
await AuthenticationService.Instance.SignInAnonymouslyAsync();
}
ConfigManager.FetchCompleted += ConfigManager_FetchCompleted;
ConfigManager.FetchConfigs(new userAttributes(),new appAttributes());
StartCoroutine(LoadScene());
}
void ConfigManager_FetchCompleted(ConfigResponse configResponse)
{
switch (configResponse.requestOrigin)
{
case ConfigOrigin.Default:
Debug.Log("Default Values");
break;
case ConfigOrigin.Cached:
Debug.Log("Cached Values");
break;
case ConfigOrigin.Remote:
Debug.Log("Remote Values");
remoteUpdateSo.adRewardsGiven = ConfigManager.appConfig.GetInt("RewardAmount");
Debug.Log("B " + remoteUpdateSo.initialPopUpString);
remoteUpdateSo.initialPopUpString = ConfigManager.appConfig.GetString("InitialPopUpString");
Debug.Log("A " + remoteUpdateSo.initialPopUpString);
remoteUpdateSo.popUpOnStartup = ConfigManager.appConfig.GetString("PopUpOnStartup");
remoteUpdateSo.popUpOnStartupVersion = ConfigManager.appConfig.GetInt("PopUpOnStartupVersion");
remoteUpdateSo.popUpOnStartupLastVersion = ConfigManager.appConfig.GetInt("popUpOnStartupLastVersion");
remoteUpdateSo.minDifficultyLevel = ConfigManager.appConfig.GetInt("minDifficultyLevel");
remoteUpdateSo.difficultyLevelJump = ConfigManager.appConfig.GetInt("difficultyLevelJump");
remoteUpdateSo.difficultyTimerMinimum = ConfigManager.appConfig.GetInt("difficultyTimerMinimum");
remoteUpdateSo.maxDifficultyTimer = ConfigManager.appConfig.GetInt("maxDifficultyTimer");
break;
}
gotRemoteConfigs = true;
}
IEnumerator LoadScene()
{
while (!gotRemoteConfigs && counter < 2)
{
counter += Time.deltaTime;
Debug.Log(counter);
yield return null;
}
SceneManager.LoadSceneAsync("MainGame");
yield return null;
}
}
most of it originally taken from the remote config example.