Найдите исполнителя для вашего проекта прямо сейчас!
Разместите заказ на фриланс-бирже и предложения поступят уже через несколько минут.

Задача

Обернуть нативный sdk Wistory (ios – swift, android – kotlin) для flutter.

Назначение sdk – коробочное решение для stories в приложение.

Пример работы: wistory – example.mov

Пример реализации обертки для react-native: https://github.com/Wistory/react-native-wistory

Токен компании для тестирования: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZjU4ODJiNDlkMDY4MTFlZmI3Yzk0ZjIiLCJpYXQiOjE1OTk2MzY xNDh9.mVBXYIIc2wqsxyjzUZNAyeIsweOVl01IWd3oqFrqJmc

"Документация" для ios

Установка

Минимальная версия iOS: 11

Возможно использование sdk через Cocoapods или Carthage.

Для использования через cocoapods необходимо добавить зависимость в Podfile:

use_frameworks!

pod 'Wistory', '~> 0.3.0'

use_frameworks! обязательно

Также в начале файла необходимо прописать источник для podspec:

source 'https://github.com/Wistory/Specs.git'

source 'https://github.com/CocoaPods/Specs.git'

Итоговый пример Podfile:

source 'https://github.com/Wistory/Specs.git'

source 'https://github.com/CocoaPods/Specs.git'

platform :ios, '11.0'

target 'wistoryExample' do

use_frameworks!

pod 'Wistory', '~> 0.3.0'

end

Если нужно, запрошу документацию для Carthage

Использование View элемента

Инициализировать sdk и получить ViewController

let wistory = Wistory(with: companyToken, userToken: userToken, usageSettings: .embedded)

.presentingSettings(style: .popover)

.storiesViewController;

companyToken – токен компании, выдаваемый при регистрации. Токен для тестирования sdk: eyJhbGciOiJIUzI1NiIsInR5cCI6IkpXVCJ9.eyJfaWQiOiI1ZjU4ODJiNDlkMDY4MTFlZmI3Yzk0ZjIiLCJpYXQiOjE1OTk2MzY xNDh9.mVBXYIIc2wqsxyjzUZNAyeIsweOVl01IWd3oqFrqJmc

userToken – необязательный параметр. Используется для идентификации пользователя и корректного отображения просмотренных и избранных историй. Если не передавать значение, sdk будет генерировать уникальный токен для устройства

presentingSettings – способ отображения истории при просмотре. Возможные варианты: .popover и .fullscreen

Добавить view, как subview родителя:

parent.addSubview(wistory.view)

Вызвать didMove с родительским контроллером (ViewController):

wistory.didMove(toParent: parentController)

События sdk

Для подписки на события sdk можно использовать delegate реализующий протокол WistoryEventsDelegate. По возможности необходимо пробросить события делегата в приложение на flutter (может быть полезно пользователю например для собственной аналитики)

События делегата:

func onItemsLoaded()

func onRead(story: Wistory.SnapModel)

func onPrevSnap(story: Wistory.SnapModel)

func onNextSnap(story: Wistory.SnapModel)

func onNavigate(action: String, value: String)

func onFavorite(id: String, isFavorite: Bool)

func onRelation(id: String, relation: String)

func onPoll(id: String, snap: Int, option: String)

func onError(error: Error)

Android – TBD

Информация будет в ближайшее время.

4 года назад
Able2Know
Антон 
39 летРоссия
16 лет в сервисе
Был
17 дней назад