This helps you to migrate the SDK to the latest one.
- the old SDK
Context c = this.getApplicationContext(); <- DELETE PXLClient.initialize("196i8ZzIAhKU8dO2kDe"); <- SAME PXLAlbum album = new PXLAlbum("4503434", c); <- CHANGE PXLAlbumFilterOptions filterOptions = new PXLAlbumFilterOptions(); <- SAME filterOptions.minTwitterFollowers = 1000; <- SAME filterOptions.minInstagramFollowers = 2000; <- SAME PXLAlbumSortOptions sortOptions = new PXLAlbumSortOptions(); <- SAME sortOptions.sortType = PXLAlbumSortType.DYNAMIC; <- SAME sortOptions.descending = true; <- SAME album.setPerPage(15); <- SAME album.setFilterOptions(filterOptions); <- SAME album.setSortOptions(sortOptions); <- SAME album.loadNextPageOfPhotos(new PXLAlbum.RequestHandlers(){ <- CHANGE @Override public void DataLoadedHandler(ArrayList<PXLPhoto> photos) { <- CHANGE ... } @Override public void DataLoadFailedHandler(String error) { <- CHANGE ... } }); - the new SDK
PXLClient.initialize(<PIXLEE API KEY>); PXLClient client = PXLClient.getInstance(context); <- ADD PXLAlbum album = new PXLAlbum("4503434", client); <- ADD PXLClient instead of Context PXLAlbumFilterOptions filterOptions = new PXLAlbumFilterOptions(); <- SAME filterOptions.minTwitterFollowers = 1000; <- SAME filterOptions.minInstagramFollowers = 2000; <- SAME PXLAlbumSortOptions sortOptions = new PXLAlbumSortOptions(); <- SAME sortOptions.sortType = PXLAlbumSortType.DYNAMIC; <- SAME sortOptions.descending = true; <- SAME album.setPerPage(15); <- SAME album.setFilterOptions(filterOptions); <- SAME album.setSortOptions(sortOptions); <- SAME album.loadNextPageOfPhotos(new PXLAlbum.RequestHandlers<ArrayList<PXLPhoto>>(){ <- ADD '<ArrayList<PXLPhoto>>' @Override public void onComplete(ArrayList<PXLPhoto> photos) { <- REPLACE all with onComplete(ArrayList<PXLPhoto> photos) ... } @Override public void onError(String error) { <- REPLACE the method name as onError ... } });
- the old SDK
String albumId = "282742015"; PXLPhoto.getPhotoWithId(getApplicationContext(), albumId, new PXLPhoto.PhotoLoadHandlers() { @Override public void photoLoaded(PXLPhoto photo) { ... } @Override public void photoLoadFailed(String error) { ... } }); //load from pxlphoto object PXLPhoto photo = new PXLPhoto(getApplicationContext(), albumId); photo.loadFromId(new PXLPhoto.PhotoLoadHandlers() { @Override public void photoLoaded(PXLPhoto photo) { ... } @Override public void photoLoadFailed(String error) { ... } }); - the new SDK
PXLClient client = PXLClient.getInstance(context); <- ADD // if you need PXLAlbum just to fire getPhotoWithId(), you can just put any albumId PXLAlbum album = new PXLAlbum("", client); <- ADD PXLClient instead of Context // load PXLPhoto with album_photo_id album.getPhotoWithId(photo.albumPhotoId, new PXLBaseAlbum.RequestHandlers<PXLPhoto>(){ @Override public void onComplete(PXLPhoto result) { } @Override public void onError(String error) { Log.e("sampleactivity", "failed to load photo: " + error); } }); // load PXLPhoto with pxlphoto object album.getPhotoWithId(photo, new PXLBaseAlbum.RequestHandlers<PXLPhoto>() { @Override public void onComplete(PXLPhoto photo) { } @Override public void onError(String error) { Log.e("sampleactivity", "failed to load photo: " + error); } });
- the old SDK
PXLAlbum album = new PXLAlbum("4503434", c); // Opened Widget Analytics Example album.openedWidget(); <- CHANGE // Load More Analytics Example album.loadMore() <- SAME PXLPhoto photo = ... // this is from album.loadNextPageOfPhotos(..) // Opened Lightbox Analytics Example photo.openedLightbox(c); <- CHANGE // Action Clicked Analytics Example photo.actionClicked("https://ca.puma.com/en/ca/pd/clyde-court-core-basketball-shoes/191712.html", c); <- CHANGE Context c = this.getApplicationContext(); <- DELETE PXLAnalytics analytics = new PXLAnalytics(c); <- CHANGE // ~~~ Add to cart analytics example ~~~ analytics.addToCart("sku123", "123", 4); <- SAME // ~~~ Conversion analytics example ~~~ ArrayList<HashMap<String, Object>> cartContents = new ArrayList(); <- SAME HashMap<String, Object> cart1 = new HashMap(); <- SAME cart1.put("price", "123"); <- SAME cart1.put("product_sku", "test123"); <- SAME cart1.put("quantity", "4"); <- SAME cartContents.add(cart1); <- SAME analytics.conversion(cartContents, "123", 4); <- SAME - the new SDK
PXLClient client = PXLClient.getInstance(context); <- ADD PXLAlbum album = new PXLAlbum("4503434", client); <- ADD PXLClient instead of Context // Opened Widget Analytics Example album.openedWidget(PXLWidgetType.photowall); <- new variable album.openedWidget(PXLWidgetType.horizontal); <- new variable album.openedWidget("<Customized name>"); <- new variable // Load More Analytics Example album.loadMore() <- SAME // Opened Lightbox Analytics Example album.openedLightbox(photo.albumPhotoId) <- REPLACE with photo.albumPhotoId album.openedLightbox(photo) <- REPLACE with photo // Action Clicked Analytics Example album.actionClicked(photo.albumPhotoId, "https://ca.puma.com/en/ca/pd/clyde-court-core-basketball-shoes/191712.html"); <- REPLACE with photo.albumPhotoId album.actionClicked(photo, "https://ca.puma.com/en/ca/pd/clyde-court-core-basketball-shoes/191712.html"); <- REPLACE with photo PXLAnalytics analytics = new PXLAnalytics(client); <- ADD PXLClient //Alternative //PXLAnalytics analytics = new PXLAnalytics(client.getAnalyticsRepo()); // ~~~ Add to cart analytics example ~~~ analytics.addToCart(BuildConfig.PIXLEE_SKU, "13000",2); <- SAME // ~~~ Conversion analytics example ~~~ ArrayList<HashMap<String, Object>> cartContents = new ArrayList(); <- SAME HashMap<String, Object> cart1 = new HashMap(); <- SAME cart1.put("price", "123"); <- SAME cart1.put("product_sku", "test123"); <- SAME cart1.put("quantity", "4"); <- SAME cartContents.add(cart1); <- SAME analytics.conversion(cartContents, "123", 4); <- SAME