public void CheckNotice(LaunchingResponse.LaunchingInfo launchingInfo) { if (null != launchingInfo.launching.notice) { StringBuilder msg = new StringBuilder(); msg.AppendLine(launchingInfo.launching.notice.title); msg.AppendLine(string.Empty); msg.AppendLine(launchingInfo.launching.notice.message); ShowSystemPopup( GetButtonTypeWithURL(launchingInfo.launching.notice.url), #if !UNITY_WEBGL DisplayLanguage.Instance.GetString("common_notice_title"), #else string.Empty, #endif msg.ToString(), DisplayLanguage.Instance.GetString("common_show_detail_button"), DisplayLanguage.Instance.GetString("common_close_button"), DisplayLanguage.Instance.GetString("common_show_detail_message"), (buttonID) => { if (GamebaseUtilAlertButtonID.BUTTON_ONE == buttonID) { if (false == string.IsNullOrEmpty(launchingInfo.launching.notice.url)) { GamebaseWebviewImplementation.Instance.OpenWebBrowser(launchingInfo.launching.notice.url); } } }); } }
public void ShowLaunchingPopup(LaunchingResponse.LaunchingInfo launchingInfo) { if (false == GamebaseUnitySDK.EnablePopup || false == GamebaseUnitySDK.EnableLaunchingStatusPopup) { return; } GamebaseLog.Debug(string.Format("LaunchingStatusCode : {0}", launchingInfo.launching.status.code), this); CheckNotice(launchingInfo); switch (launchingInfo.launching.status.code) { case GamebaseLaunchingStatus.INSPECTING_SERVICE: // 서비스 점검 { if (null != launchingInfo.launching.maintenance) { StringBuilder msg = new StringBuilder(); msg.AppendLine(DisplayLanguage.Instance.GetString("launching_maintenance_message")); msg.AppendLine(); msg.AppendLine(MakePeriod(launchingInfo.launching.maintenance.localBeginDate, launchingInfo.launching.maintenance.localEndDate)); ShowSystemPopup( GetButtonTypeWithPageTypeCode(launchingInfo.launching.maintenance.pageTypeCode), DisplayLanguage.Instance.GetString("launching_maintenance_title"), msg.ToString(), DisplayLanguage.Instance.GetString("common_show_detail_button"), DisplayLanguage.Instance.GetString("common_close_button"), DisplayLanguage.Instance.GetString("common_show_detail_message"), (buttonID) => { if (GamebaseUtilAlertButtonID.BUTTON_ONE == buttonID) { if (false == string.IsNullOrEmpty(launchingInfo.launching.maintenance.url)) { GamebaseWebviewImplementation.Instance.OpenWebBrowser(launchingInfo.launching.maintenance.url); } } }); } break; } case GamebaseLaunchingStatus.INSPECTING_ALL_SERVICES: // 서비스 전체 점검 { if (null != launchingInfo.launching.maintenance) { StringBuilder msg = new StringBuilder(); msg.AppendLine(DisplayLanguage.Instance.GetString("launching_maintenance_message")); msg.AppendLine(); msg.AppendLine(MakePeriod(launchingInfo.launching.maintenance.localBeginDate, launchingInfo.launching.maintenance.localEndDate)); ShowSystemPopup( GetButtonTypeWithPageTypeCode(launchingInfo.launching.maintenance.pageTypeCode), DisplayLanguage.Instance.GetString("launching_maintenance_title"), msg.ToString(), DisplayLanguage.Instance.GetString("common_show_detail_button"), DisplayLanguage.Instance.GetString("common_close_button"), DisplayLanguage.Instance.GetString("common_show_detail_message"), (buttonID) => { if (GamebaseUtilAlertButtonID.BUTTON_ONE == buttonID) { if (false == string.IsNullOrEmpty(launchingInfo.launching.maintenance.url)) { GamebaseWebviewImplementation.Instance.OpenWebBrowser(launchingInfo.launching.maintenance.url); } } }); } break; } case GamebaseLaunchingStatus.TERMINATED_SERVICE: // 서비스 종료 { StringBuilder msg = new StringBuilder(); msg.AppendLine(launchingInfo.launching.status.message); ShowSystemPopup( GamebaseUtilAlertType.ALERT_OK, DisplayLanguage.Instance.GetString("launching_service_closed_title"), msg.ToString(), string.Empty, DisplayLanguage.Instance.GetString("common_close_button"), string.Empty, (buttonID) => { }); break; } case GamebaseLaunchingStatus.RECOMMEND_UPDATE: // 업데이트 권장 { #if !UNITY_WEBGL StringBuilder msg = new StringBuilder(); msg.Append(launchingInfo.launching.status.message); ShowSystemPopup( GamebaseUtilAlertType.ALERT_OKCANCEL, DisplayLanguage.Instance.GetString("launching_update_recommended_title"), msg.ToString(), DisplayLanguage.Instance.GetString("launching_update_now_label"), DisplayLanguage.Instance.GetString("launching_update_later_label"), string.Empty, (buttonID) => { if (GamebaseUtilAlertButtonID.BUTTON_ONE == buttonID) { GamebaseWebviewImplementation.Instance.OpenWebBrowser(launchingInfo.launching.app.install.url); Application.Quit(); } }); Application.Quit(); #endif break; } case GamebaseLaunchingStatus.REQUIRE_UPDATE: // 업데이트 필수 { #if !UNITY_WEBGL StringBuilder msg = new StringBuilder(); msg.Append(launchingInfo.launching.status.message); ShowSystemPopup( GamebaseUtilAlertType.ALERT_OK, DisplayLanguage.Instance.GetString("launching_update_required_title"), msg.ToString(), string.Empty, DisplayLanguage.Instance.GetString("launching_update_now_label"), string.Empty, (buttonID) => { if (GamebaseUtilAlertButtonID.BUTTON_ONE == buttonID) { GamebaseWebviewImplementation.Instance.OpenWebBrowser(launchingInfo.launching.app.install.url); Application.Quit(); } }); #endif break; } default: { break; } } }