Monetize your social.plus application with intelligent ad integration that maximizes revenue while preserving user experience. Configure, track, and optimize ads through the console without requiring app updates.

Get Ads & Settings

Dynamically fetch ad configuration from your Admin Console to display contextual ads without requiring app updates. Configure placement, frequency, and targeting rules through the console interface.
Real-time Updates: Ad settings sync immediately from console changes. No app deployment needed for ad strategy updates.
To retrieve all ads and settings added to your network via the console, use the getNetworkAds() function. This function provides a comprehensive view of your ads and configurations, allowing UIKit or your application to consume and display ads accordingly.
let adRepository = AmityAdRepository(client: client)
do {
    let networkAds = try await adRepository.getNetworkAds()
    
    let allAds = networkAds.ads
    let settings = networkAds.settings
} catch let error {
    // Handle error here
}

Ad Impressions

The Ad Impressions feature is a tool designed to collect valuable data regarding ad interactions for analytics and reporting purposes. This feature empowers users to gain insights into how their ad is performing. With this feature, users can mark specific ads as seen or clicked, and access the report via the console.
Smart Tracking: Impressions represent the number of users who viewed the ad, while reach represents the number of unique users who viewed the ad. Please keep in mind that ad impression data won’t be updated in real-time but rather almost in real-time.

Overview

Ad impression tracking provides essential metrics for monetization optimization:
  • Performance Monitoring - Track ad views, clicks, and engagement in real-time
  • Revenue Analytics - Correlate impressions with monetization effectiveness
  • User Insights - Understand audience interaction patterns
  • A/B Testing - Compare ad placement and format performance

Core Tracking Methods

Mark Ad as Seen

Track impressions when ads become visible to users:
Visibility Rule: Only call markAsSeen() when the ad is actually visible to the user (at least 50% visible), not when loaded in memory.
// Mark ad which was placed in `feed` as seen
ad.analytics.markAsSeen(placement: .feed)

Mark Ad as Clicked

Track click events for engagement analytics:
// Mark ad which was placed in `comment` as seen
ad.analytics.markLinkAsClicked(placement: .comment)

Best Practices

Accuracy First: Track impressions only when ads are genuinely visible to ensure accurate analytics and fair billing.
  • Visibility Threshold - Use 50% visibility rule for impression tracking
  • Single Tracking - Avoid duplicate impression tracking for the same user session
  • Error Handling - Implement retry logic for failed tracking calls
  • Privacy - Respect user privacy settings and consent requirements

Next Steps

Next Steps