# Сторис в Android
Поддержка
Stories в Android поддерживаются с версии SDK 1.6.0
# Инициализация через XML
Для вставки блока сторис на определенный шаблон (layout) приложения, добавьте следующий код в ваш 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:
// Код для JAVA
<com.personalizatio.stories.views.StoriesView
android:layout_width="match_parent"
android:layout_height="wrap_content"
app:code="STORY BLOCK CODE" />
StoriesView storiesView = findViewById(R.id.story_view);
<%= config[:android_sdk_package_name] %>.initializeStoriesView(storiesView);
// Код на Kotlin
val storiesView = findViewById<StoriesView>(R.id.stories_view)
sdk.initializeStoriesView(storiesView)
Вместо STORY BLOCK CODE укажите уникальный идентификатор блока сторис.
Вся дальнейшая работа по рендеру блока, обработке нажатий и отображению слайдов выполняется SDK автоматически.
# Опциональное открытие браузера
По умолчанию при нажатии на ссылку в сторис, она будет открыта в барузере. Это поведение можно изменить, задав значение false для параметра needOpeningWebView.
// Пример кода
<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), выполните следующие шаги:
- Создание экземпляра StoriesView
Внутри вашего Activity создайте новый экземпляр StoriesView, передав в конструктор контекст и идентификатор блока сторис:
// kotlin
val storiesView = StoriesView(this, "STORY BLOCK CODE")
// java
StoriesView storiesView = new StoriesView(this, "STORY BLOCK CODE");
- Если StoriesView создается программно, его нужно добавить в нужный контейнер с помощью addView. Например:
// kotlin
findViewById<ViewGroup>(R.id.stories_container).addView(storiesView)
// java
((ViewGroup) findViewById(R.id.stories)).addView(storiesView);
- Инициализируйте 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")
// Добавляем блок в контейнер, если создаем его программно
findViewById<ViewGroup>(R.id.stories_container).addView(storiesView)
// Инициализируем StoriesView через 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");
// Добавляем блок в контейнер, если создаем его программно
((ViewGroup) findViewById(R.id.stories_container)).addView(storiesView);
// Инициализируем StoriesView через SDK
SDK.initializeStoriesView(storiesView);
}
}