You signed in with another tab or window. Reload to refresh your session.You signed out in another tab or window. Reload to refresh your session.You switched accounts on another tab or window. Reload to refresh your session.Dismiss alert
For ~10-15% of players I see one or two or more first events are lost. For example, log shows "Could not add design event :SDK is disabled" for two first events and then other events are sent with no problem.
Checking SDK code I see following:
GAState.instance.initAuthorized by default is "false"
initialize() calls internalInitialize() which calls newSession() which do this: GAHTTPApi.instance.requestInit(GAState.instance.configsHash, GameAnalytics.startNewSessionCallback); and immediately exit from function
GAState.instance.initAuthorized is set to true only in callback
so, if request is slow, then one or two first events after method "initialize" are not registered because "SDK is disabled"
In my game I tried to add delay like 1.5 seconds but still see lost events anyway. Even 3 seconds isn't a guarantee.
I see no possibility to track/wait for internal request finish and only then start sending design events. Probably I can use isSdkReady method but I think creating my own local queue of event to wait until isSdkReady is true is wrong because SDK declared as doing the same internally. Probably GAState.instance.initAuthorized should be three state flag "not_yet_checked", "authorized" and "not_authorized" to allow adding events in queue after initialize even with slow or no internet connection.
The text was updated successfully, but these errors were encountered:
In my game I've implemented recommended sequence:
// Configure build version
configureBuild("some build");
// Initialize
initialize(key1, key2);
// Add Design event
...
addDesignEvent("General:App_Started");
...
addDesignEvent("General:BannerEnabled");
...
addDesignEvent("General:FUE1_shown");
For ~10-15% of players I see one or two or more first events are lost. For example, log shows "Could not add design event :SDK is disabled" for two first events and then other events are sent with no problem.
Checking SDK code I see following:
In my game I tried to add delay like 1.5 seconds but still see lost events anyway. Even 3 seconds isn't a guarantee.
I see no possibility to track/wait for internal request finish and only then start sending design events. Probably I can use isSdkReady method but I think creating my own local queue of event to wait until isSdkReady is true is wrong because SDK declared as doing the same internally. Probably GAState.instance.initAuthorized should be three state flag "not_yet_checked", "authorized" and "not_authorized" to allow adding events in queue after initialize even with slow or no internet connection.
The text was updated successfully, but these errors were encountered: