Migrations
To 1.25.0
Started from version 1.25.0 scratch card widget support was added. If you place banners widget
inside any type of scrollable view, you need to lock parent scroll for correct work of scratch card.
To do this, new callback for BannerCarousel was added. More about it you can
read here
To 1.24.2
For In-App Messaging new version of method showInAppMessage was added.
More about it you can read here
To 1.24.0
Method finishGame was removed from GameReaderCallback
Changed ShowInAppMessageSlideCallback callback signature.
More about it you can read here
To 1.23.0
Methods showOnboardingStories, showStory, showStoryOnce and showInAppMessage
in InAppStoryManager now return CancellationToken object.
More about it you can read here
From 1.22.0-rc7 to 1.22.0
Android Gradle plugin minimum version was changed to 8.0.0 and now requires Java 17.
Next classes, interfaces and methods were renamed:
- class
BannerPlacetoBannerCarousel - interface
ICustomBannerPlaceAppearancetoICustomBannerCarouselAppearance - interface
BannerPlaceNavigationCallbacktoBannerCarouselNavigationCallback - method
AppearanceManager.csBannerPlaceInterfacetoAppearanceManager.csBannerCarouselInterface
BannerData was moved to another package.
To 1.21.x
ErrorCallback,OnboardingLoadCallbackandSingleLoadCallback's signatures were changed
interface ErrorCallback {
fun loadListError(feed: String?)
fun cacheError()
fun emptyLinkError()
fun sessionError()
fun noConnection()
}
interface OnboardingLoadCallback {
fun onboardingLoadSuccess(count: Int, feed: String?)
fun onboardingLoadError(feed: String?, reason: String?)
}
interface SingleLoadCallback {
fun singleLoadSuccess(storyData: StoryData?)
fun singleLoadError(storyId: String?, reason: String?)
}
GameStoryDatawas removed and changed toContentDataSlideDatain callToAction callback was changed toContentDataStoryData's andSlideData's fields marked as deprecated (will be private in future versions). Use their methods instead.- Field
tagswas removed fromStoryData - Part of undocumented code became private or was removed
- AppearanceManager can be set only through setter (not as property)
clearCachedListwas removed (changed forclearCachedListById,clearCachedListByFeedandclearCachedListByIdAndFeed)- Non-context method in class
Sizeswere removed - Method
destroywas removed. UseInAppStoryManager.getInstance().userLogout()instead - Changed proportions for stories content (only safe area now used)
- Stories reader for tablets now works through activity instead of fragment
- Changed
loadStoriescache logic. Now it caches content by default for a specific feed
To 1.20.x
UrlClickCallbackinterface will be removed in the next release. UseCallToActionCallbackinstead.
- Extended and updated
ShareCallbackinterface. MethodonBackPressnow recievesViewas an additional parameter. MethodonDestroyView(view: View)was added as well. It's triggered when custom share view gets destroyed by any reason. - Updated
ICustomGoodsWidgetinterface. MethodsgetSkusandonItemClicknow recieveView( widget view) as an additional parameter.
To 1.19.x
- Updated inner loaders. Now if you override
AppearanceManager.IStoriesListItem, it's methods likesetImageandsetVideoare triggered from the worker thread. You have to redirect to main thread yourself if needed.
To 1.18.x
- Updated SDK initialization. Now you need to call
method
InAppStoryManager.initSdk(context: Context)inApplicationclass. Then, from any class (Application,Activity,Fragment, etc.) you need to callInAppStoryManager.Builder(). ... .create();
-
Updated
GameReaderCallbackinterface. Now it has a **new method **gameOpenError(data: GameStoryData?, gameId: String?); -
Added stack feed feature. For more information read here;
-
Added
InAppStoryManager.isStoryReaderOpened()andInAppStoryManager.isGameReaderOpened(). Can be used to manage reader state; -
Added interface
IStoriesListItemWithStoryData. It can be used instead ofIStoriesListItemif you need to getStoryDataobjects in its methods. For more information read here; -
Signature of
ListCallback's methodsstoriesLoadedandstoriesUpdatedwere updated. Now they have a third argumentdata: List<StoryData>?; -
Added new story and game reader display option. Now you can use them as fragments instead of activities. For more information read here;
-
Added
isDeviceIDEnabledandgameDemoModeoptions inInAppStoryManager.Builder.;
Added InAppStoryManager.closeStoryReader(forceClose: Boolean, forceCloseCallback: ForceCloseReaderCallback).
For more information read here;
-
Contextless methods from
Sizesclass marked as deprecated and will be removed in the next version. If you use them to convert sizes fromdptopx, you can replace them to methods with contextFor example:
Sizes.dpToPxExt(sizeInDp: Int)->Sizes.dpToPxExt(sizeInDp: Int, context: Context)
To 1.17.x
-
Signature of all callback methods with story or slide info was updated. Now they use
StoryDataorSlideDataobjects instead of separate fields. For more information read here. -
Extended the
ListScrollCallbackinterface. Now it has a methodonVisibleAreaUpdated. For more information read here. -
Added method
updateVisibleArea()toStoriesList. -
Added method
showStoryOnce()toInAppStoryManager. For more information read here. -
Added method
csStoryReaderPresentationStyletoAppearanceManager.
- Method
csListItemWidthwas removed fromAppearanceManager. UseappearanceManager.csListItemRatioinstead. GameCallbackis removed from SDK. UseGameReaderCallbackinstead.
-
CallToActionCallback'scallToActionsignature has changed.- Parameter
context: Contextwas added. It contains Stories Reader context. For example, it can be used to navigate to another screen. Here you can find it's usage.
- Parameter
-
ICustomGoodsWidget'sonItemClicksignature has changed.- Parameter
view: Viewwas added. It contains a clicked view and can be used to retrieve context. Here you can find it's usage.
- Parameter
To 1.16.x
-
UrlClickCallbackandInAppStoryManager.setUrlClickCallbackmarked as deprecated. UseCallToActionCallbackinstead. -
Interfaces
IGameLoaderViewandILoaderVieware marked as deprecated. UseIStoryReaderLoaderViewandIGameReaderLoaderViewinstead. For more information read here.
-
CallToActionCallback'scallToActionsignature has changed. Now it's returnsSlideDataobject instead of separate fields. Here you can find it's usage -
InAppStoryManager.openGamesignature has changed. For more information read here -
ICustomGoodsWidget.getWidgetView,ICustomGoodsWidget.onItemClickandICustomGoodsItem.getViewsignatures changed.SimpleCustomGoodsItemclass was added to simplify goods item customization. For more information read here
To 1.15.x
Working with sharing customization has changed completely. Now it is possible to show custom share panel over stories reader or games. Here is described how to implement this behavior.
-
ShowStoryActionconstantCLICKwas changed toTAP. -
Default ratio for feed items now can be set in InAppStory Console. Ratios still can be overridden in
AppearanceManager. -
Added method
openGametoInAppStoryManager. For more information read here.
InAppStoryManager.destroy()was marked as deprecated and will be removed in the future. UseInAppStoryManager.logout()instead.CsEventBusand it's events were removed from SDK. You need to migrate to callbacks if you still useCsEventBus. For more information read here.GameReaderCallbackwas added. OldGameCallbackis marked as deprecated.
To 1.14.x
The signature of showStory method in ShowStoryCallback has changed (
added action: ShowStoryAction?
parameter).
interface ShowStoryCallback {
fun showStory(
id: Int,
title: String?,
tags: String?,
slidesCount: Int,
source: SourceType?,
action: ShowStoryAction?
)
}
To 1.13.x
appearanceManager.csListItemWidth() is now deprecated. appearanceManager.csListItemRatio()
was
added instead. Use this one only with appearanceManager.csListItemHeight().
-
The appearance of a default favorite cell has changed (now it looks more similar to iOS InAppStory SDK).
-
appearanceManager.csColumnCount()was added. ::: warning Use it only withcsListItemRatioand only if you want to use a grid (you still need to set font size properly). ::: -
appearanceManager.csUGCListItemSimpleAppearance()was added. Here is described it's usage.
To 1.12.x
UGC Feeds. Here is described their usage.
To 1.11.x
Now parameters from methods
in IGetFavoriteListItem (bindFavoriteItem and setImages)
may contain more than 4 elements (and count may be more than 4).
To 1.10.x
-
Added image placeholders. Here is described it's usage.
-
Signature of
showSlidemethod inShowSlideCallbackhas changed. (addedString payloadparameter)
interface ShowSlideCallback {
fun showSlide(
id: Int,
title: String?,
tags: String?,
slidesCount: Int,
index: Int,
payload: String?
)
}
To 1.9.1
Added widget callbacks. Here is described it's usage.
From 1.8.x to 1.9.x
Added UGC Editor feature. Here is described it's usage.
From 1.6.x or 1.7.x to 1.8.x
-
Added new feeds feature to
StoriesList. Onboarding stories now have a publicfeed: String?parameter. Here is described it's usage. -
Callback for
StoriesListand it's adapter has changed (addedfeed: String?parameter to methods).
interface ListCallback {
fun storiesLoaded(size: Int, feed: String?)
fun loadError(feed: String?)
fun itemClick(
id: Int,
listIndex: Int,
title: String?,
tags: String?,
slidesCount: Int,
isFavoriteList: Boolean,
feed: String?
)
}
Next callbacks and their adapters for InAppstoryManager also have changed (added feed parameter
to methods)
interface ErrorCallback {
fun loadListError(feed: String?)
fun loadOnboardingError(feed: String?)
fun loadSingleError()
fun cacheError()
fun readerError()
fun emptyLinkError()
fun sessionError()
fun noConnection()
}
interface OnboardingLoadCallback {
fun onboardingLoad(count: Int, feed: String?);
}
StoriesLoaded,OnboardingLoadandStoriesErrorEventevents now have agetFeed()method.
From 1.5.x to 1.6.x
setInstancemethod forAppearanceManageris now deprecated. UsesetCommonInstancemethod instead.csStoryTouchListenermethod forAppearanceManageris now deprecated. UsesetStoryTouchListenermethod forStoriesListinstead. If you don't want customize anything and use default implementations - you can callloadStories()method fromStoriesListwithout settingAppearanceManager.
-
InAppStoryManagercannot be initialized through Builder without setting auserId(You still can pass an emptyStringbut the value can't benull). -
The interface for custom stories list cell
IStoriesListItemhas changed. Now it returns cached file path instead of web url insetImageandsetVideomethods and calls only after these resouces are cached.
Poster url and background color were removed fromsetVideo.
interface IStoriesListItem {
void setImage(View itemView, String imageFilePath, int backgroundColor);
void setVideo(View itemView, String videoFilePath);
}
1.5.4 and later
ClickAction DEEPLINK value was added. Here is described it's
usage: setCallToActionCallback.
From 1.4.x to 1.5.x
CloseStoryReaderEvent was removed from the SDK. Use static
method InAppStoryManager.closeStoryReader() instead.
From 1.3.x to 1.4.x
-
targetSdkVersionin the SDK gradle file was updated from 29 to 30. ::: warning It is necessary to updatetargetSdkVersionin your project gradle file. ::: -
InAppStoryManagerandStoriesListcallbacks were added (you should use them instead ofCsEventBus). For more information read here. -
InAppStoryManager.closeStoryReader()method was added to the SDK. We recommend to use it instead ofCsEventBus.getDefault().post(new CloseStoryReaderEvent(CloseStory.CUSTOM))