Устаревшие и неподдерживаемые функции и API

improve this page | report issue


Внимательно рассмотрите, каким образом удаленные функции и API повлияют на вашу среду IBM Mobile Foundation.

Перейти к

Функции, которые больше не поддерживаются и не входят в состав v8.0

Продукт Mobile Foundation v8.0 значительно упрощен по сравнению с предыдущей версии. В результате такого упрощения отдельные функции, которые были доступны v7.1, не поддерживаются в v8.0. В большинстве случаев предлагается альтернативный способ реализации таких функций. Следующие функции считаются неподдерживаемыми. Кроме того, отдельные функции, существующие в V7.1, отсутствуют в v8.0, однако это на связано с новой архитектурой v8.0. Для того чтобы отличать исключенные функции от неподдерживаемых, они помечены как отсутствующие в v8.0.

Функция Состояние и заменяющая функция

MobileFirst Studio заменяется модулем MobileFirst Studio для Eclipse.

Заменяется модулем MobileFirst Studio для Eclipse и поддерживается стандартными модулями Eclipse и модулями сообщества. Гибридные приложения можно разрабатывать с помощью CLI Apache Cordova или среды IDE с поддержкой Cordova, такой как Visual Studio Code, Eclipse, IntelliJ и т. д. Дополнительная информация о применении Eclipse в качестве IDE с поддержкой Cordova приведена в разделе Модуль IBM MobileFirst Studio для управления проектами Cordova в Eclipse.

Адаптеры можно разрабатывать с помощью Apache Maven или среды IDE с поддержкой Maven, такой как Eclipse, IntelliJ и т. д. Дополнительная информация о разработке адаптеров приведена в разделе Категория адаптеров. Дополнительная информация о применении Eclipse в качестве IDE с поддержкой Maven приведена в учебнике Разработка адаптеров в Eclipse.

Установите IBM MobileFirst Foundation Developer Kit для тестирования адаптеров и приложений в MobileFirst Server. Кроме того, вы можете получить доступ к инструментам разработки и SDK MobileFirst, если вы не хотите загружать их из хранилищ в Интернете, таких как NPM, Maven, Cocoapod и NuGet. Дополнительная информация о продукте MobileFirst Developer Kit приведена в разделе MobileFirst Developer Kit.

Для гибридных приложений больше не поддерживаются оболочки, страница Параметры, минимизация и элементы пользовательского интерфейса JavaScript.

Не поддерживается. Гибридные приложения разрабатываются с помощью Apache Cordova. Дополнительная информация о замене оболочек, страница Параметры и минимизации приведена в разделе Удаленные компоненты и сравнение приложений Cordova, разработанных для v8.0 и v7.1 или ниже.

Sencha Touch больше нельзя импортировать в проекты MobileFirst для гибридных приложений.

Не поддерживается. Гибридные приложения MobileFirst разрабатываются с помощью Apache Cordova, а функции MobileFirst предоставляются в качестве модулей Cordova. Инструкции по интеграции Sencha Touch и Cordova приведены в документации по Sencha Touch.

Зашифрованный кэш больше не используется.

Не поддерживается. Для локального хранения зашифрованных данных следует использовать JSONStore. Дополнительная информация о JSONStore приведена в учебнике по JSONStore.

Запуск непосредственного обновления по запросу не поддерживается в v8.0. Клиентское приложение возможность непосредственного обновления при получении маркера OAuth для сеанса. В версии v8.0 вы не сможете запрограммировать клиентское приложение для проверки возможности непосредственного обновления в другой момент времени.

Отсутствует в v8.0.

Адаптеры с конфигурацией, зависящей от сеанса. В версии V7.1.0 сервер MobileFirst Server можно настроить для работы в независимом от сеанса режиме (по умолчанию) или в режиме, зависящем от сеанса. Начиная с версии v8.0, режим, зависящий от сеанса, не поддерживается. Сервер не зависит от сеанса HTTP и связанная конфигурация не требуется.

Не поддерживается.

Хранилище атрибутов IBM WebSphere eXtreme Scale не поддерживается в v8.0.

Отсутствует в v8.0.

Поиск служб и создание адаптеров для приложений процессов IBM Business Process Manager (IBM BPM), Microsoft Azure Marketplace DataMarket, API RESTful OData, ресурсы RESTful, доступ к службам SAP Netweaver Gateway и веб-службы отсутствуют в версии v8.0.

Отсутствует в v8.0.

Адаптер JMS JavaScript отсутствует в v8.0. Отсутствует в v8.0.
Адаптер SAP Gateway JavaScript отсутствует в v8.0. Отсутствует в v8.0.
Адаптер SAP JCo JavaScript отсутствует в v8.0. Отсутствует в v8.0.
Адаптер Cast Iron JavaScript отсутствует в v8.0. Отсутствует в v8.0.
Адаптеры JavaScript OData и Microsoft Azure OData отсутствуют в v8.0. Отсутствует в v8.0.
Push-уведомления для USSD не поддерживаются в v8.0. Не поддерживается.
Push-уведомления на основе событий не поддерживаются в v8.0. Не поддерживается. Используйте службу push-уведомлений. Дополнительная информация о переходе на службу push-уведомлений приведена в разделе Переход на push-уведомления от уведомлений на основе событий.
Безопасность: область для противодействия межсайтовой подделке запросов (anti-XSRF) (wl_antiXSRFRealm) не требуется в V8.0. В версии V7.1.0 контекст идентификации хранится в сеансе HTTP; в качестве его идентификатора применяется cookie сеанса, который отправляется браузером в межсайтовых запросах. Область anti-XSRF в этой версии применяется для защиты передаваемых cookie от атак XSRF с помощью дополнительного заголовка, который клиент отправляет серверу.
В версии V8.0.0 контекст защиты больше не связан с сеансом HTTP и cookie сеанса не применяется для его идентификации. Авторизация осуществляется с помощью маркера доступа OAuth 2.0, который передается в заголовке авторизации. Поскольку заголовок авторизации не передается браузером в межсайтовых запросах, защита от атак XSRF не требуется.
Безопасность: идентификация с помощью сертификата пользователя. В версии v8.0 не выполняются стандартные проверки безопасности для идентификации пользователей с помощью клиентских сертификатов X.509. Отсутствует в v8.0.
Безопасность: интеграция с IBM Trusteer. В версии v8.0 не выполняются стандартные проверки безопасности для проверки факторов риска IBM Trusteer. Отсутствует в v8.0. Используйте SDK IBM Trusteer Mobile.
Безопасность: предоставление устройств и автоматическое предоставление устройств.

Не поддерживается.

Примечание: предоставление устройств обрабатывается в обычном потоке авторизации. Данные устройств автоматически собираются в процессе регистрации в потоке защиты. Дополнительная информация о потоке защиты приведена в разделе Поток авторизации.

Безопасность: файл конфигурации для обфускации кода Android с помощью ProGuard. В версии v8.0 отсутствует стандартный файл конфигурации proguard-project.txt для обфускации Android ProGuard с помощью приложения MobileFirst Android. Отсутствует в v8.0.
Безопасность: идентификации на основе адаптера заменена. Идентификация выполняется в виде проверок безопасности с помощью протокола OAuth. Заменено реализацией на основе проверок безопасности.

Безопасность: вход в систему с помощью LDAP. В версии v8.0 не выполняются стандартные проверки безопасности для идентификации пользователей с помощью сервера LDAP.

Теперь для WebSphere Application Server и WebSphere Application Server Liberty применяется сервер приложений или шлюз, обеспечивающий преобразование провайдера идентификационных данных, такого как LDAP или LTPA, и создание маркера OAuth для пользователя с помощью проверки безопасности LTPA.

Отсутствует в v8.0. Заменено проверкой безопасности LTPA для WebSphere Application Server или WebSphere Application Server Liberty.
Конфигурация идентификации для адаптера HTTP. Стандартный адаптер HTTP не поддерживает подключение к удаленному серверу от имени пользователя.

Отсутствует в v8.0.

Измените исходный код адаптера HTTP и добавьте код идентификации. Используйте MFP.Server.invokeHttp для добавления маркеров идентификации в заголовок запроса HTTP.

Аналитика безопасности, возможность отслеживания событий среды защиты MobileFirst с помощью MobileFirst Analytics Console отсутствует в v8.0. Отсутствует в v8.0.
Модель на основе источника событий для push-уведомлений не поддерживается; вместо нее следует использовать модель службы push-уведомлений на основе тегов. Не поддерживается; заменена моделью службы push-уведомлений на основе тегов.
Поддержка Unstructured Supplementary Service Data (USSD) отсутствует в v8.0. Отсутствует в v8.0.
В версии v8.0 Cloudant не поддерживается в качестве базы данных MobileFirst Server. Отсутствует в v8.0.
Геолокация: геолокация больше не поддерживается в Mobile Foundation v8.0. API REST для аварийных сигналов и посредников больше не поддерживается. Клиентские и серверные API WL.Geo и WL.Device больше не поддерживается. Не поддерживается. Для геолокации следует использовать нативный API устройства или внешние модули Cordova.
Функция прокси данных MobileFirst больше не поддерживается. API Cloudant IMFData и CloudantToolkit также не поддерживаются. Не поддерживается. Дополнительная информация о замене API IMFData и CloudantToolkit приведена в разделе Миграция приложений, хранящих мобильные данные в Cloudant, с помощью SDK IMFData или Cloudant.
SDK IBM Tealeaf больше не входит в комплект поставки Mobile Foundation. Не поддерживается. Используйте SDK IBM Tealeaf. Дополнительная информация приведена в разделе Установка и реализация Tealeaf в приложении Android и Установка и реализация Tealeaf iOS Logging Framework в документации по IBM Tealeaf Customer Experience.
IBM MobileFirst Platform Test Workbench не входит в комплект поставки Mobile Foundation Не поддерживается.
BlackBerry, Adobe AIR, Windows Silverlight не поддерживаются в Mobile Foundation v8.0. SDK для этих платформ не предлагаются. Не поддерживается.

Изменения API на стороне сервера

В процессе миграции серверной части приложения MobileFirst следует учитывать изменения API.
В следующих таблицах перечислены элементы API на стороне сервера, которые больше не поддерживаются и устарели в версии v8.0, а также рекомендуемые способы миграции. Дополнительная информация о миграции серверной части приложения приведена в разделе

Элементы API JavaScript, которые не поддерживаются в v8.0

Безопасность

Элемент API Способ замены
WL.Server.getActiveUser, WL.Server.getCurrentUserIdentity, WL.Server.getCurrentDeviceIdentity, WL.Server.setActiveUser, WL.Server.getClientId, WL.Server.getClientDeviceContext, WL.Server.setApplicationContext Используйте MFP.Server.getAuthenticatedUser.

Источник событий

Элемент API Способ замены
WL.Server.createEventSource Используйте MFP.Server.getAuthenticatedUser.
WL.Server.setEventHandlers Инструкции по переходу от уведомлений на основе источника событий на уведомления на основе тегов приведены в разделе Переход на push-уведомления от уведомлений на основе событий.
   
WL.Server.createEventHandler  
WL.Server.createSMSEventHandler Для отправки сообщений SMS следует использовать API REST службы push-уведомлений. Дополнительная информация приведена в разделе Отправка уведомлений.
WL.Server.createUSSDEventHandler Интегрируйте USSD с помощью внешних служб.

Push-уведомления

Элемент API Способ замены
WL.Server.getUserNotificationSubscription, WL.Server.notifyAllDevices, WL.Server.sendMessage, WL.Server.notifyDevice, WL.Server.notifyDeviceSubscription, WL.Server.notifyAll, WL.Server.createDefaultNotification, WL.Server.submitNotification Инструкции по переходу от уведомлений на основе источника событий на уведомления на основе тегов приведены в разделе Переход на push-уведомления от уведомлений на основе событий.
WL.Server.subscribeSMS Для регистрации устройства следует использовать API REST Push Device Registration (POST). Для отправки и получения SMS-уведомлений укажите phoneNumber при вызове API.
   
WL.Server.unsubscribeSMS Для отмены регистрации устройства следует использовать API REST Push Device Registration (DELETE).
WL.Server.getSMSSubscription Для получения регистраций устройств следует использовать API REST Push Device Registration (GET).

Службы расположения

Элемент API Способ замены
WL.Geo.* Интегрируйте службы расположений с помощью внешних служб.

WS-Security

Элемент API Способ замены
WL.Server.signSoapMessage Следует использовать функции WS-Security сервера WebSphere Application Server.

Элементы API Java, которые не поддерживаются в v8.0

Безопасность

Элемент API Способ замены
SecurityAPI.getSecurityContext Используйте AdapterSecurityContext.

Push-уведомления

Элемент API Способ замены
PushAPI.sendMessage(INotification notification, String applicationId) Инструкции по переходу от уведомлений на основе источника событий на уведомления на основе тегов приведены в разделе Переход на push-уведомления от уведомлений на основе событий.
INotification PushAPI.buildNotification(); Инструкции по переходу от уведомлений на основе источника событий на уведомления на основе тегов приведены в разделе Переход на push-уведомления от уведомлений на основе событий.
UserSubscription PushAPI.getUserSubscription(String eventSource, String userId) Инструкции по переходу от уведомлений на основе источника событий на уведомления на основе тегов приведены в разделе Переход на push-уведомления от уведомлений на основе событий.

Адаптеры

Элемент API Способ замены
Интерфейс AdaptersAPI из пакета com.worklight.adapters.rest.api Используйте интерфейс AdaptersAPI из пакета com.ibm.mfp.adapter.api.
Интерфейс AnalyticsAPI из пакета com.worklight.adapters.rest.api Используйте интерфейс AnalyticsAPI из пакета com.ibm.mfp.adapter.api.
Интерфейс ConfigurationAPI из пакета com.worklight.adapters.rest.api Используйте интерфейс ConfigurationAPI из пакета com.ibm.mfp.adapter.api.
Аннотация OAuthSecurity из пакета com.worklight.core.auth Используйте аннотацию OAuthSecurity из пакета com.ibm.mfp.adapter.api.
Класс MFPJAXRSApplication из пакета com.worklight.wink.extensions Используйте класс MFPJAXRSApplication из пакета com.ibm.mfp.adapter.api.
Интерфейс WLServerAPI из пакета com.worklight.adapters.rest.api Используйте аннотацию Context JAX-RS для доступа к интерфейсам API MobileFirst.
Класс WLServerAPIProvider из пакета com.worklight.adapters.rest.api Используйте аннотацию Context JAX-RS для доступа к интерфейсам API MobileFirst.

Изменения API на стороне клиента

Следующие изменения API относятся к миграции клиентского приложения MobileFirst.
В следующих таблицах перечислены элементы клиентских API, которые больше не поддерживаются и устарели в версии V8.0.0, а также рекомендуемые способы миграции.

API JavaScript

Следующие API JavaScript, влияющие на пользовательский интерфейс, больше не поддерживаются в v8.0. Вместо них можно использовать внешние или пользовательские модули Cordova.

Элемент API Способ миграции
WL.BusyIndicator, WL.OptionsMenu, WL.TabBar, WL.TabBarItem Используйте модули Cordova или элементы HTML 5.
WL.App.close Это событие следует обрабатывать за пределами MobileFirst.
WL.App.copyToClipboard() Используйте соответствующие модули Cordova.
WL.App.openUrl(url, target, options) Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль Cordova InAppBrowser.
WL.App.overrideBackButton(callback), WL.App.resetBackButton() Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль Cordova backbutton.
WL.App.getDeviceLanguage() Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль Cordova cordova-plugin-globalization.
WL.App.getDeviceLocale() Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль Cordova cordova-plugin-globalization.
WL.App.BackgroundHandler Для запуска пользовательского обработчика следует использовать стандартный получатель событий приостановки Cordova. Используйте модуль Cordova, который обеспечивает конфиденциальность и запрещает системам iOS и Android и пользователям создавать снимки экрана. Дополнительная информация приведена в описании PrivacyScreenPlugin.
WL.Client.close, WL.Client.restore, WL.Client.minimize Функции для поддержки платформы Adobe AIR, которые не поддерживаются в Mobile Foundation V8.0.0.
WL.Toast.show(string) Используйте модули Cordova для Toast.

Следующие API больше не поддерживаются в v8.0.

Элемент API Способ миграции
WL.Client.checkForDirectUpdate(options) Замены нет. Примечание: можно вызвать WLAuthorizationManager.obtainAccessToken для запуска обновления напрямую. При доступе к маркеру безопасности запускается непосредственное обновление, если обновление доступно на сервере. Однако непосредственное обновление нельзя запустить по запросу.
WL.Client.setSharedToken({key: myName, value: myValue}), WL.Client.getSharedToken({key: myName}), WL.Client.clearSharedToken({key: myName}) Замены нет.
WL.Client.isConnected(), connectOnStartup init option Используйте WLAuthorizationManager.obtainAccessToken для проверки соединения с сервером и применения правил управления приложениями.
WL.Client.setUserPref(key,value, options), WL.Client.setUserPrefs(userPrefsHash, options), WL.Client.deleteUserPrefs(key, options) Замены нет. Для управления параметрами пользователей можно использовать адаптер и API MFP.Server.getAuthenticatedUser.
WL.Client.getUserInfo(realm, key), WL.Client.updateUserInfo(options) Замены нет.
WL.Client.logActivity(activityType) Используйте WL.Logger.
WL.Client.login(realm, options) Используйте WLAuthorizationManager.login. Для того чтобы начать работу с идентификацией и защитой, обратитесь к учебникам по идентификации и защите.
WL.Client.logout(realm, options) Используйте WLAuthorizationManager.logout.
WL.Client.obtainAccessToken(scope, onSuccess, onFailure) Используйте WLAuthorizationManager.obtainAccessToken.
WL.Client.transmitEvent(event, immediate), WL.Client.purgeEventTransmissionBuffer(), WL.Client.setEventTransmissionPolicy(policy) Создайте пользовательский адаптер для приема уведомлений об этих событиях.
WL.Device.getContext(), WL.Device.startAcquisition(policy, triggers, onFailure), WL.Device.stopAcquisition(), WL.Device.Wifi, WL.Device.Geo.Profiles, WL.Geo Для геолокации следует использовать нативный API или внешние модули Cordova.
WL.Client.makeRequest (url, options) Создайте пользовательский адаптер, предоставляющий аналогичные функции
WLDevice.getID(options) Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет device.uuid из модуля ordova-plugin-device.
WL.Device.getFriendlyName() Используйте WL.Client.getDeviceDisplayName
WL.Device.setFriendlyName() Используйте WL.Client.setDeviceDisplayName
WL.Device.getNetworkInfo(callback) Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль cordova-plugin-network-information.
WLUtils.wlCheckReachability() Создайте пользовательский адаптер для проверки доступности сервера.
WL.EncryptedCache Используйте JSONStore для локального хранения зашифрованных данных. JSONStore входит в состав модуля cordova-plugin-mfp-jsonstore. Дополнительная информация приведена в разделе JSONStore.
WL.SecurityUtils.remoteRandomString(bytes) Создайте пользовательский адаптер, предоставляющий аналогичные функции.
WL.Client.getAppProperty(property) Свойство версии приложения можно получить с помощью модуля cordova-plugin-appversion. Возвращается версия нативного приложения (только Android и iOS).
WL.Client.Push.* Используйте клиентский API JavaScript push-уведомлений из модуля cordova-plugin-mfp-push.
WL.Client.Push.subscribeSMS(alias, adapterName, eventSource, phoneNumber, options) Используйте MFPPush.registerDevice(org.json.JSONObject options, MFPPushResponseListener listener) для регистрации устройства для отправки push-уведомлений и SMS.
WLAuthorizationManager.obtainAuthorizationHeader(scope) Используйте WLAuthorizationManager.obtainAccessToken для получения маркера для требуемой области.
WLClient.getLastAccessToken(scope) Используйте WLAuthorizationManager.obtainAccessToken
WLClient.getLoginName(), WL.Client.getUserName(realm) Нет замены
WL.Client.getRequiredAccessTokenScope(status, header) Используйте WLAuthorizationManager.isAuthorizationRequired и WLAuthorizationManager.getResourceScope.
WL.Client.isUserAuthenticated(realm) Нет замены
WLUserAuth.deleteCertificate(provisioningEntity) Нет замены
WL.Trusteer.getRiskAssessment(onSuccess, onFailure) Нет замены
WL.Client.createChallengeHandler(realmName) Для создания обработчика пользовательских запросов шлюза следует использовать WL.Client.createGatewayChallengeHandler(gatewayName). Для создания обработчика запросов проверки безопасности MobileFirst следует использовать WL.Client.createSecurityCheckChallengeHandler(securityCheckName).
WL.Client.createWLChallengeHandler(realmName) Используйте WL.Client.createSecurityCheckChallengeHandler(securityCheckName).
challengeHandler.isCustomResponse(), где challengeHandler - это объект challenge-handler, возвращаемый WL.Client.createChallengeHandler() Используйте gatewayChallengeHandler.canHandleResponse(), где gatewayChallengeHandler - это объект challenge-handler, возвращаемый WL.Client.createGatewayChallengeHandler()
wlChallengeHandler.processSucccess(), где wlChallengeHandler - это объект challenge-handler, возвращаемый WL.Client.createWLChallengeHandler() Используйте securityCheckChallengeHandler.handleSuccess(), где securityCheckChallengeHandler - это объект challenge-handler, возвращаемый WL.Client.createSecurityCheckChallengeHandler()
WL.Client.AbstractChallengeHandler.submitAdapterAuthentication() Реализуйте аналогичную логику в обработчике запросов. Для пользовательских обработчиков запросов шлюза следует использовать объект challenge-handler, возвращаемый WL.Client.createGatewayChallengeHandler(). Для обработчиков запросов проверки безопасности MobileFirst следует использовать объект challenge-handler, возвращаемый WL.Client.createSecurityCheckChallengeHandler().
WL.Client.createProvisioningChallengeHandler() Замены нет. Теперь устройства предоставляются в автоматическом режиме средой защиты.

Устаревшие API JavaScript

Элемент API Способ миграции
WLClient.invokeProcedure(WLProcedureInvocationData invocationData,WLResponseListener responseListener), WL.Client.invokeProcedure(invocationData, options), WLClient.invokeProcedure(WLProcedureInvocationData invocationData, WLResponseListener responseListener, WLRequestOptions requestOptions), WLProcedureInvocationResult Используйте WLResourceRequest. Примечание: реализация invokeProcedure использует WLResourceRequest.
WLClient.getEnvironment Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль device.platform.
WLClient.getLanguage Используйте соответствующие модули Cordova. Примечание: эту функцию предоставляет модуль cordova-plugin-globalization.
WL.Client.connect(options) Используйте WLAuthorizationManager.obtainAccessToken для проверки соединения с сервером и применения правил управления приложениями.

API Android

Элементы API Android, которые больше не поддерживаются

Элемент API Способ миграции
WLConfig WLClient.getConfig() Замены нет.
WLDevice WLClient.getWLDevice(), WLClient.transmitEvent(org.json.JSONObject event), WLClient.setEventTransmissionPolicy(WLEventTransmissionPolicy policy), WLClient.purgeEventTransmissionBuffer() Для геолокации следует использовать API Android или внешние пакеты.
WL.Client.getUserInfo(realm, key), WL.Client.updateUserInfo(options) Замены нет.
WL.Client.getUserInfo(realm, key, WL.Client.updateUserInfo(options) Замены нет.
WLClient.checkForNotifications() Используйте WLAuthorizationManager.obtainAccessToken("", listener) для проверки соединения с сервером и применения правил управления приложениями.
WLClient.login(java.lang.String realmName, WLRequestListener listener, WLRequestOptions options), WLClient.login(java.lang.String realmName, WLRequestListener listener) Используйте AuthorizationManager.login()
WLClient.logout(java.lang.String realmName, WLRequestListener listener, WLRequestOptions options), WLClient.logout(java.lang.String realmName, WLRequestListener listener) Используйте AuthorizationManager.logout()
WLClient.obtainAccessToken(java.lang.String scope,WLResponseListener responseListener) Используйте WLAuthorizationManager.obtainAccessToken(String, WLAccessTokenListener) для проверки соединения с сервером и применения правил управления приложениями.
WLClient.getLastAccessToken(), WLClient.getLastAccessToken(java.lang.String scope) Используйте AuthorizationManager
WLClient.getRequiredAccessTokenScope(int status, java.lang.String header) Используйте AuthorizationManager
WLClient.logActivity(java.lang.String activityType) Используйте com.worklight.common.Logger. Дополнительная информация приведена в документации по SDK Logger.
WLAuthorizationPersistencePolicy Замены нет. Для реализации сохранения состояния авторизации сохраните маркер авторизации в коде приложения и создайте пользовательские запросы HTTP.
WLSimpleSharedData.setSharedToken(myName, myValue), WLSimpleSharedData.getSharedToken(myName), WLSimpleSharedData.clearSharedToken(myName) Используйте API Android для обмена маркерами между приложениями.
WLUserCertificateManager.deleteCertificate(android.content.Context context) Нет замены
BaseChallengeHandler.submitFailure(WLResponse wlResponse) Используйте BaseChallengeHandler.cancel()
ChallengeHandler Для пользовательских запросов шлюза используйте GatewayChallengeHandler. Для запросов проверки безопасности MobileFirst используйте SecurityCheckChallengeHandler.
WLChallengeHandler Используйте SecurityCheckChallengeHandler.
ChallengeHandler.isCustomResponse() Используйте GatewayChallengeHandler.canHandleResponse().
ChallengeHandler.submitAdapterAuthentication Реализуйте аналогичную логику в обработчике запросов. Для пользовательских обработчиков запросов шлюза используйте GatewayChallengeHandler.

Устаревшие API Android

Элемент API Способ миграции
WLClient.invokeProcedure(WLProcedureInvocationData invocationData, WLResponseListener responseListener) Считается устаревшим. Используйте WLResourceRequest. Примечание: реализация invokeProcedure использует WLResourceRequest.
WLClient.connect(WLResponseListener responseListener), WLClient.connect(WLResponseListener responseListener,WLRequestOptions options) Используйте WLAuthorizationManager.obtainAccessToken("", listener) для проверки соединения с сервером и применения правил управления приложениями.

API Android, зависящие от устаревших API org.apach.http, больше не поддерживаются

Элемент API Способ миграции
org.apache.http.Header[] считается устаревшим. Таким образом, удалены следующие методы:  
org.apache.http.Header[] WLResourceRequest.getAllHeaders() Используйте новый API Map<String, List<String>> WLResourceRequest.getAllHeaders().
WLResourceRequest.addHeader(org.apache.http.Header header) Используйте новый API WLResourceRequest.addHeader(String name, String value).
org.apache.http.Header[] WLResourceRequest.getHeaders(java.lang.String headerName) Используйте новый API List<String> WLResourceRequest.getHeaders(String headerName).
org.apache.http.Header WLResourceRequest.getFirstHeader(java.lang.String headerName) Используйте новый API WLResourceRequest.getHeaders(String headerName).
WLResourceRequest.setHeaders(org.apache.http.Header[] headers) Используйте новый API WLResourceRequest.setHeaders(Map<String, List<String>> headerMap).
WLResourceRequest.setHeader(org.apache.http.Header header) Используйте новый API WLResourceRequest.setHeaders(Map<String, List<String>> headerMap).
org.apache.http.client.CookieStore WLClient.getCookieStore() Заменен на ClearableCookieJar WLClient.getPersistentCookies()
WLClient.setAllowHTTPClientCircularRedirect(boolean isSet) Замены нет. Клиент MFP разрешает циклические перенаправления.
WLHttpResponseListener, WLResourceRequest.send(java.util.HashMap formParameters,WLHttpResponseListener listener), WLResourceRequest.send(org.json.JSONObject json, WLHttpResponseListener listener), WLResourceRequest.send(byte[] data, WLHttpResponseListener listener), WLResourceRequest.send(java.lang.String requestBody,WLHttpResponseListener listener), WLResourceRequest.send(WLHttpResponseListener listener), WLClient.sendRequest(org.apache.http.client.methods.HttpUriRequest request,WLHttpResponseListener listener), WLClient.sendRequest(org.apache.http.client.methods.HttpUriRequest request, WLResponseListener listener) Удалены вследствие устаревших зависимостей клиента HTTP Apache. Создайте собственный запрос, чтобы получить полный контроль над запросом и ответов.

Пакет com.worklight.androidgap.api предлагает функции платформы Android для приложений Cordova. В Mobile Foundation внесены изменения для поддержки интеграции Cordova.

Элемент API Способ миграции
Операция Android заменена контекстом Android.  
static WL.createInstance(android.app.Activity activity) static WL.createInstance(android.content.Context context) создает общий экземпляр.
static WL.getInstance() static WL.getInstance() получает экземпляр класса WL. Этот метод нельзя вызвать до метода WL.createInstance(Context).

API Objective-C

API iOS Objective C, которые больше не поддерживаются

Элемент API Способ миграции
[WLClient getWLDevice][WLClient transmitEvent:], [WLClient setEventTransmissionPolicy], [WLClient purgeEventTransmissionBuffer] Геолокация удалена. Для геолокации следует использовать нативные пакеты iOS или внешние пакеты.
WL.Client.getUserInfo(realm, key), WL.Client.updateUserInfo(options) Замены нет.
WL.Client.deleteUserPref(key, options) Замены нет. Для управления параметрами пользователей можно использовать адаптер и API MFP.Server.getAuthenticatedUser.
[WLClient getRequiredAccessTokenScopeFromStatus] Используйте WLAuthorizationManager obtainAccessTokenForScope.
[WLClient login:withDelegate:] Используйте WLAuthorizationManager login.
[WLClient logout:withDelegate:] Используйте WLAuthorizationManager logout.
[WLClient lastAccessToken], [WLClient lastAccessTokenForScope:] Используйте WLAuthorizationManager obtainAccessTokenForScope.
[WLClient obtainAccessTokenForScope:withDelegate:], [WLClient getRequiredAccessTokenScopeFromStatus:authenticationHeader:] Используйте WLAuthorizationManager obtainAccessTokenForScope.
[WLClient isSubscribedToAdapter:(NSString *) adaptereventSource:(NSString *) eventSource Используйте клиентский API push-уведомлений Objective-C для приложений iOS из среды IBMMobileFirstPlatformFoundationPush
[WLClient - (int) getEventSourceIDFromUserInfo: (NSDictionary *) userInfo] Используйте клиентский API push-уведомлений Objective-C для приложений iOS из среды IBMMobileFirstPlatformFoundationPush.
[WLClient invokeProcedure: (WLProcedureInvocationData *) ] Считается устаревшим. Используйте WLResourceRequest.
WLClient sendUrlRequest:delegate:] Используйте [WLResourceRequest sendWithDelegate:delegate].
[WLClient (void) logActivity:(NSString *) activityType] Удален. Используйте функцию ведения протоколов Objective C.
[WLSimpleDataSharing setSharedToken: myName value: myValue], [WLSimpleDataSharing getSharedToken: myName]], [WLSimpleDataSharing clearSharedToken: myName] Используйте API ОС для обмена маркерами между приложениями.
BaseChallengeHandler.submitFailure(WLResponse *)challenge Используйте BaseChallengeHandler.cancel().
BaseProvisioningChallengeHandler Замены нет. Теперь устройства предоставляются в автоматическом режиме средой защиты.
ChallengeHandler Для пользовательских запросов шлюза используйте GatewayChallengeHandler. Для запросов проверки безопасности MobileFirst используйте SecurityCheckChallengeHandler.
WLChallengeHandler Используйте SecurityCheckChallengeHandler.
ChallengeHandler.isCustomResponse() Используйте GatewayChallengeHandler.canHandleResponse().
ChallengeHandler.submitAdapterAuthentication Реализуйте аналогичную логику в обработчике запросов. Для пользовательских обработчиков запросов шлюза используйте GatewayChallengeHandler. Для запросов проверки безопасности MobileFirst используйте SecurityCheckChallengeHandler.

API Windows C

Устаревшие элементы API Windows C# - классы

Элемент API Способ миграции
ChallengeHandler Для пользовательских запросов шлюза используйте GatewayChallengeHandler. Для запросов проверки безопасности MobileFirst используйте SecurityCheckChallengeHandler.
ChallengeHandler. isCustomResponse() Используйте GatewayChallengeHandler.canHandleResponse().
ChallengeHandler.submitAdapterAuthentication Реализуйте аналогичную логику в обработчике запросов. Для пользовательских обработчиков запросов шлюза используйте GatewayChallengeHandler. Для запросов проверки безопасности MobileFirst используйте SecurityCheckChallengeHandler.
ChallengeHandler.submitFailure(WLResponse wlResponse) Для пользовательских обработчиков запросов шлюза используйте GatewayChallengeHandler.Shouldcancel(). Для запросов проверки безопасности MobileFirst используйте SecurityCheckChallengeHandler.ShouldCancel().
WLAuthorizationManager Используйте WorklightClient.WorklightAuthorizationManager.
WLChallengeHandler Используйте SecurityCheckChallengeHandler.
WLChallengeHandler.submitFailure(WLResponse wlResponse) Используйте SecurityCheckChallengeHandler.ShouldCancel().
WLClient Используйте WorklightClient.
WLErrorCode Не поддерживается.
WLFailResponse Используйте WorklightResponse.
WLResponse Используйте WorklightResponse.
WLProcedureInvocationData Используйте WorklightProcedureInvocationData.
WLProcedureInvocationFailResponse Не поддерживается.
WLProcedureInvocationResult Не поддерживается.
WLRequestOptions Не поддерживается.
WLResourceRequest Не поддерживается.

Устаревшие элементы API Windows C# - интерфейсы

Элемент API Способ миграции
WLHttpResponseListener Не поддерживается.
WLResponseListener Ответ будет доступен в качестве объекта WorklightResponse.
WLAuthorizationPersistencePolicy Не поддерживается.
Inclusive terminology note: The Mobile First Platform team is making changes to support the IBM® initiative to replace racially biased and other discriminatory language in our code and content with more inclusive language. While IBM values the use of inclusive language, terms that are outside of IBM's direct influence are sometimes required for the sake of maintaining user understanding. As other industry leaders join IBM in embracing the use of inclusive language, IBM will continue to update the documentation to reflect those changes.
Last modified on August 17, 2020