Skip to content

Latest commit

 

History

History
201 lines (163 loc) · 7.78 KB

File metadata and controls

201 lines (163 loc) · 7.78 KB

Migration from v1.0.6 or older versions

This helps you to migrate the SDK to the latest one.

Initialize SDK

Album

  • 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
            ...
        }
    });

Photo

  • 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);
        }
    });

Analytics

  • 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