Перейти к основному содержимому
Документация для версии v73

Huawei Mobile Services

Шаг 1. Настройки проекта Huawei Mobile Services

Создайте проект AppGalleryConnect. Для этого перейдите в раздел Разработка и сервисы -> Добавить проект:



Добавьте новое приложение в проект:



Укажите данные о вашем приложении:



Выполните загрузку файла agconnect-services.plist:



В левой боковой панели выберите Push Kit в разделе Рост:



Нажмите ВключитьВыберите место хранения данных:



Далее перейдите в раздел PushKit — Настройки — Приложение — Конфигурация IOS — Включить. В открывшейся конфигурации IOS укажите:

  • Ключ аутентификации APNs — данные из файла закрытого .p8-ключа открытого в текстовом редакторе;
  • ID ключаkeyID файла закрытого .p8-ключа (обычно совпадает с названием самого файла — значение после AuthKey_);
  • ID разработчикаteamID из Apple Developer.


Шаг 2. Настройка ресурса Altcraft

В платформе Altcraft создайте ресурс или добавьте к существующему новый канал коммуникации — Push. Затем в настройках ресурса выберите платформу iOS и активируйте переключатель Huawei Mobile Services:



Чуть ниже перейдите в настройки Huawei и укажите ID приложения, ID клиента OAuth 2.0 и секрет клиента OAuth 2.0:



Обратите внимание, что ID приложения — ID клиента из раздела Данные приложения.

подсказка

Все эти данные можно найти в разделе Данные приложения в Huawei Mobile Services:

После внесения изменений не забудьте сохранить ресурс.

Шаг 3. Интеграция Huawei Push Kit в проект приложения

Переместите загруженный файл agconnect-services.plist в корневой каталог модуля приложения (app). Затем подключите pod-файл HmsPushSDK.

Настройте таргет приложения:

  • General — Frameworks, Libraries, and Embedded Content

Проверьте, что необходимые фреймворки добавлены и установлены как Do Not Embed:

  • AGConnectCore.xcframework;
  • AGConnectCredential.xcframework;
  • HiAnalytics.xcframework;
  • HMFoundation.xcframework.


  • Signing & Capabilities

Добавьте Push Notifications.

Шаг 4. Получение HMS-токена

Получите HMS-токен с помощью функции HmsInstanceId.getInstance().getToken(apnsToken), передав APNs-токен в качестве параметра:

Пример получения и удаления токена HMS в реализации интерфейса SDK
import Foundation

// обязательно импортируйте HmsPushSdk в файлы в которых используете функции HMS
import HmsPushSdk
import Altcraft

class HMSProvider: HMSInterface {

/// Извлекает текущий токен HMS с помощью токена APNs
func getToken(completion: @escaping (String?) -> Void) {
guard let apnsToken = getAPNsTokenFromUserDefault() else {
completion(nil)
return
}

let token = HmsInstanceId.getInstance().getToken(apnsToken)
completion(token)
}


func deleteToken(completion: @escaping (Bool) -> Void) {
HmsInstanceId.getInstance().deleteToken()
completion(true)
}
}