Self Handled Cards

With self handled cards we provide you the flexibility to build 

Self-handled cards give you the flexibility of creating Card Campaigns on the MoEngage Platform and displaying the cards anywhere inside the application. SDK provides APIs to fetch the campaign's data using which you can create your own view for cards.

SDK Installation

Install using CocoaPod

Integrate the MoEngageCards framework by adding the dependency in the podfile as shown below.

Ruby
pod 'MoEngageCards','~> 4.0.0'

Now run pod install to install the framework

Install using Swift Package Manager

MoEngageCards is supported through SPM from SDK version 3.2.0. To integrate use the following git hub url link and set the branch as master or version as 4.0.0 and above https://github.com/moengage/MoEngage-iOS-Cards.git

Manual Integration

 

Manual Integration

To integrate the MoEngageCards SDK manually to your project follow this doc.

 

Use the below APIs to fetch the card's data and build your own UI. 

Fetch Categories

To fetch all the categories for which cards are configured use the below API.

SwiftObjective-C
MoEngageSDKCards.sharedInstance.getCardsCategories { categories, accountMeta in
        print("Fetched Cards Categories \(categories)")
}
    

Fetch Cards for Categories

To fetch cards eligible for display for a specific category use the below API

SwiftObjective-C
MoEngageSDKCards.sharedInstance.getCards(forCategory: "CATEGORY") { cards, accountMeta in
          print("Fetched cards for given category")
}
    

Instead of using separate APIs to fetch the Cards and categories you can use the below API to fetch all the information in one go

SwiftObjective-C
MoEngageSDKCards.sharedInstance.getCardsData { cardsData, accountMeta in
                  print("Cards category \(cardsData?.cardCategories)")
                  print("Cards Data \(cardsData?.cards)")
}
    

Track Statistics for Cards

Since the UI/display of the cards is controlled by the application to track statistics on delivery, display, click we need the application to notify the SDK.

Delivered

To track delivery to the card section of the application call the below API when the cards section of the application is loaded by passing the instance of MoEngageCardCampaign

SwiftObjective-C

    MoEngageSDKCards.sharedInstance.cardDelivered(cardCampaign, forAppID: "YOUR APP ID")
    

Impression

Call the below API when a specific card is visible on the screen.

SwiftObjective-C

     MoEngageSDKCards.sharedInstance.cardShown(cardCampaign, forAppID: "YOUR APP ID")
    

Click

Call the below API whenever a user clicks on a card, along with the card object widget identifier for the UI element clicked should also be passed. 

SwiftObjective-C

    MoEngageSDKCards.sharedInstance.cardClicked(cardCampaign, withWidgetID: widgetID);
    

Delete Card

Call the below API to delete a card by passing an array of MoEngageCardCampaign as parameter

SwiftObjective-C
MoEngageSDKCards.sharedInstance.deleteCards([cards]) { isDeleted, accountMeta in
     print("Card deletion was \(isDeleted)")
}
    

The above API has an overloaded method that accepts a list of cards to be deleted.

Was this article helpful?
0 out of 0 found this helpful