While working at Miri Growth in 2022 I designed and developed a mobile ad server working on everything from inception to proof of concept. It featured a Unity SDK to be placed in our clients apps and games and a central server that synced to Google Firestore which handled all the authentication, database and file storage.
Here is a flow chart of the product life cycle from logging in and creating a campaign to how the three systems (MacOS dashboard, Ad server, and Unity SDK) interact with each other.
On the far left of the life cycle is a timeline list of steps taken by the user and system in order for a campaign to be started and logged via the system. The left side of the graphic is on demand interaction via the dashboard, and the right side of it is constantly running via the server and the SDK.
The dashboard app contained all the campaign handling from creation, upload data and ad video file, to live processing and monitoring of ad campaigns.
The new campaign view, use this to put a campaign live by uploading the video file and entering prerequisites. Current active and archived campaigns are in the list on the left.
The Analytics view for the selected campaign, shows data pulled from the SDK and synced to the server every n seconds.
Campaigns can be viewed by hourly, daily or weekly candles, depending on how long it runs for.
Hover the cursor over any candle to view specific metric of that period.
Analytics can be viewed based on Spend, Impressions, Clicks or Installs. Also included are calculated CPM, CTR, CTI, CPI, ITI and IPM metrics, with an option to play/pause or archive/activate the campaign, click the CTA Url to copy to clipboard.