diff --git a/Runtime/Code/SDK/GuruSDK.cs b/Runtime/Code/SDK/GuruSDK.cs index 16a3dcc..f5fb4e6 100644 --- a/Runtime/Code/SDK/GuruSDK.cs +++ b/Runtime/Code/SDK/GuruSDK.cs @@ -721,6 +721,33 @@ namespace Guru #endregion - + #region 推送管理 + + private static int _messageRetry = 0; + public static void SetPushNotificationEnabled(bool enabled) + { + DeviceInfoUploadRequest request = new DeviceInfoUploadRequest() + .SetRetryTimes(1) + .SetSuccessCallBack(() => + { + _messageRetry = 0; + Debug.Log($"[SDK] --- Set Push Enabled: {enabled} success"); + }) + .SetFailCallBack(() => + { + double retryDelay = Math.Pow(2, _messageRetry); + _messageRetry++; + CoroutineHelper.Instance.StartDelayed((float)retryDelay, ()=> SetPushNotificationEnabled(enabled)); + }) as DeviceInfoUploadRequest; + + if (request != null) + { + request.SetPushEnabled(enabled); + request.Send(); + } + } + + + #endregion } } \ No newline at end of file