Appearance
Сторис в Android SDK
Поддержка
Stories в Android поддерживаются с версии SDK 1.6.0
Для отображения сторис есть два формата интеграции:
- XML
- Программно
Для вставки блока сторис на определенный шаблон (layout) приложения, добавьте следующий код в ваш XML-файл разметки:
xml
<com.personalization.stories.views.StoriesView
android:id="@+id/stories_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:code="STORY BLOCK CODE" />Где вместо STORY BLOCK CODE укажите уникальный идентификатор блока сторис из личного кабинета.
Далее, в вашем Activity достаточно найти этот элемент и инициализировать его через SDK:
kotlin
val storiesView = findViewById<StoriesView>(R.id.stories_view)
sdk.initializeStoriesView(storiesView)java
StoriesView storiesView = findViewById(R.id.stories_view);
sdk.initializeStoriesView(storiesView);Вся дальнейшая работа по рендеру блока, обработке нажатий и отображению слайдов выполняется SDK автоматически.
Опциональное открытие браузера
По умолчанию при нажатии на ссылку в сторис, она будет открыта в браузере. Это поведение можно изменить, задав значение false для параметра needOpeningWebView.
xml
<com.personalization.stories.views.StoriesView
android:id="@+id/stories_view"
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:code="STORIES_CODE"
app:need_opening_web_view="false" />Программная интеграция
Если вам нужно создать и добавить StoriesView программно (без использования XML), выполните следующие шаги:
Шаг 1. Создание экземпляра StoriesView
Внутри вашего Activity создайте новый экземпляр StoriesView, передав в конструктор контекст, идентификатор блока сторис, флаг открытия ссылок в браузере (needOpeningWebView) и текст-подсказку при копировании промокода (productBannerTapDefaultMessage):
kotlin
val storiesView = StoriesView(this, "STORY BLOCK CODE", true, "Copied")java
StoriesView storiesView = new StoriesView(this, "STORY BLOCK CODE", true, "Copied");Шаг 2. Добавьте контейнер (опционально)
Если StoriesView создается программно, его нужно добавить в нужный контейнер с помощью addView. Например:
kotlin
findViewById<ViewGroup>(R.id.stories_container).addView(storiesView)java
((ViewGroup) findViewById(R.id.stories_container)).addView(storiesView);Шаг 3. Инициализируйте StoriesView с помощью SDK
kotlin
sdk.initializeStoriesView(storiesView)java
sdk.initializeStoriesView(storiesView);Полный пример
kotlin
class MainActivity : AppCompatActivity() {
override fun onCreate(savedInstanceState: Bundle?) {
super.onCreate(savedInstanceState)
setContentView(R.layout.activity_main)
// Программная инициализация блока сторис
val storiesView = StoriesView(this, "STORY BLOCK CODE", true, "Copied")
// Добавляем блок в контейнер, если создаем его программно
findViewById<ViewGroup>(R.id.stories_container).addView(storiesView)
// Инициализируем StoriesView через SDK
// Переменная sdk — ранее инициализированный экземпляр SDK
sdk.initializeStoriesView(storiesView)
}
}java
public class MainActivity extends AppCompatActivity {
@Override
protected void onCreate(Bundle savedInstanceState) {
super.onCreate(savedInstanceState);
setContentView(R.layout.activity_main);
// Программная инициализация блока сторис
StoriesView storiesView = new StoriesView(this, "STORY BLOCK CODE", true, "Copied");
// Добавляем блок в контейнер, если создаем его программно
((ViewGroup) findViewById(R.id.stories_container)).addView(storiesView);
// Инициализируем StoriesView через SDK
// Переменная sdk — ранее инициализированный экземпляр SDK
sdk.initializeStoriesView(storiesView);
}
}