Skip to main content

Инструкция: как использовать нативные функции из WebView


✅ Доступные функции

 

Contact{recordID: string; displayName: string; familyName: string; givenName: string; middleName: string; phoneNumbers: Array<{ label: string; number: string }>; emailAddresses: Array<{ label: string; email: string }>; postalAddresses: Array<{ label: string; formattedAddress: string; street: string; city: string; state: string; country: string; postCode: string; }>; birthday?: { day: number; month: number; year: number }; company?: string; jobTitle?: string; note?: string; }

📌Название JS-функции

Описание

МoneSignalSendTag(key, value)

Устанавливает тег в OneSignal (для сегментации push-уведомлений)

oneSignalRemoveTag(key)

Удаляет тег в OneSignal

hasNotificationPermission(callback)

Проверяет, есть ли разрешение на push-уведомления (getContacts(callback(result: boolean))

з

requestNotificationPermission()

Запрашивает разрешение на push-уведомления (если отказано — откроет настройки)

getContact(callback)

Открывает нативный выбого приложения список контактов пользователя.

Возвращает Promise с массивом объектов, содержащих подробности о каждом контакте.

📤 Сигнатура

ConverzillaSDK.getContacts(): Promise<Contact[]>

📦 Что возвращается

Promise, который:

при успешном выполнении — возвращает номер (callback(phone))

setTopColor(color)

Устасснавливает Contact[]

цвет

статус-бара (hex-цвет, например ош#FF0000)

setBottomColor(color)

Устанавлибке — отклонявается сцвет home-индикатописанием ошибки.

📄 Структура объектна ContactiOS

interface

 

💻📎 Примеры использования

📍 Установить тег в OneSignal
ConverzillaSDK.getContacts(oneSignalSendTag('user_type', 'premium');
.then(contacts
📍 =>Удалить тег
oneSignalRemoveTag('user_type');
📍 Проверить разрешение на уведомления
hasNotificationPermission(function (hasPermission) {
  if (hasPermission) {
    console.log('НРайдзрешения есть ✅');
  } else {
    console.log('Разрешений нет ❌');
  }
});
📍 Запросить разрешение
requestNotificationPermission();
📍 Получить контакт с устройств:',а
contacts.length);
getContact(function contacts.forEach(contact(phoneNumber) =>{
  if (phoneNumber) {
    console.log(`Имя: ${contact.displayName}`);
      contact.phoneNumbers.forEach(phone =>
        console.log(`Телефо'Выбран (${phone.label})номер:', ${phone.number}`)
      )phoneNumber);
  }); })
  .catch(error =>else {
    console.error(log('Ошибка при получении кКонтакто не в:ыбран',);
  error);}
});
📍 Изменить цвет верхней панели (статус-бара)
setTopColor('#00FF00'); // Зелёный

📍 Изменить цвет нижней панели (home indicator на iOS)

setBottomColor('#0000FF'); // Синий

🛠 Поддержка

Если у вас не работает какая-либо функция:

  • Проверьте, внедрился ли Bridge (window.BridgeInider === true).

  • Обратитесь к мобильной команде, если требуется подключить новую функцию.