Использование библиотеки ZGRImSDK в мобильном приложении, основанном на фреймворке React Native#
Рекомендуется тщательно ознакомиться с документацией по React Native:
Взаимодействие Swift и React Native#
Для того, чтобы Swift заработал в React Native-проекте, нужно создать bridge-файл. XCode предложит сделать это автоматически при создании первого swift-файла. Примерное содержание файла react_app-Bridging-Header.h:
 
Взаимодействие между кодом React Native и iOS-частью (obj-C/swift) можно обеспечить с помощью вспомогательного файла Connect.
Допустим, необходимо вызвать из js-кода функцию sdkLogin(), определенную в файле AppDelegate.swift:
 
В основной папке iOS-части проекта необходимо создать файлы Connect.m и ConnectFile.swift, в которых нужно объявить внешние (extern) по отношению к js-коду методы.
 
При разработке каждый экспортируемый в JavaScript элемент должен быть помечен атрибутом @objc, чтобы его можно было использовать в Objective-C runtime.
 
 
Также необходимо импортировать NativeModules и объявить const { Connect } = NativeModules;.
После этого функция sdkLogin() доступна в js-коде через вызов Connect.sdkLogin():
 
Библиотека ZGRImSDK в приложении#
Допустим, необходимо в приложении, написанном на React Native, отобразить историю push-уведомлений, полученную с помощью вызова метода fetchAllNotifications() нашего SDK. Одним из решений может быть использование класса RCTRootView, необходимый массив данных для отображения которому будет передан в качестве параметра initialProperties, как в данном примере:
 
Код для функции getPushes() мог бы выглядеть примерно так:
