Coder Social home page Coder Social logo

openmediation's Introduction

OpenMediation

OpenMediation is a fully open mediation platform, providing an end-to-end system from SDK to server, Dashboard, and datacentre. OpenMediation's full-featured and full-platform access provides a highly competitive mobile advertising mediation solution:

  • Comprehensive support for more than 10 major AdNetwork, including admob, Facebook, applovin, unity, vungle, adcolony, tapjoy, chartboost, mopub, ironsrc, tiktok, Mintegral, tencentAds, to ensure maximum revenue

  • Featured smart ad inventory and automatic waterfall optimization technology to ensure highest ad loading performance and fill rate of 99%+ (* with proper Waterfall level configuration), with historical data driven realtime optimization capacity

  • Header bidding in compliance with IAB specifications is supported to maximize revenue through realtime bidding. OpenMediation has built-in support for Facebook bidding. Its SDK auction mechanism brings flexibility and convenience by eliminating the need for an auction server. The Auction process works perfectly together with traditional waterfall. Before the waterfall starts, the auction returns a bid winner from Facebook and other AdNetworks that support header bidding. The waterfall winner, coming out of the waterfall process that is largely based on historical data, is compared with the bid winner to eventually determine the final winner.

  • Docker container images and deployment automation on popular public cloud such as AWS ECS/EKS, combined with S3 + Athena lightweight data analytics solutions, makes running a powerful advertising mediation system easy

The OpenMediation project includes three parts: server, dashboard, and SDK. It is divided into seven sub-projects, as follows:

  • OM-Server: Mediation server core module, responsible for SDK access and mediation logic processing, data collection processing

  • OM-ADC: Data aggregation module, responsible for aggregating revenue data from AdNetworks for business reports generation

  • OM-DTask: Data configuration center, which stores key configuration information for OM-Server, such as kafka, S3, etc. Also includes data processing code for AWS Athena based data analytics and report generation

  • OM-Android-SDK: Android Mediation SDK, responsible for mediating third-party AdNetwork Android SDKs

  • OM-iOS-SDK: iOS Mediation SDK, responsible for mediating third-party AdNetwork iOS SDKs

  • OM-Dashboard-UI: Dashboard frontend

  • OM-Dashboard-Server: Dashboard backend

Docker images on docker hub

Pre-built docker images can be pulled from docker hub:

  • OM-Server: docker pull adtiming/omserver
  • OM-Adc: docker pull adtiming/omadc
  • OM-Dtask: docker pull adtiming/omdtask
  • OM-Dashboard-UI: docker pull adtiming/omnginx
  • OM-Dashboard-Server: docker pull adtiming/omdsserver

Check each container's log output like this:

docker exec -it $(docker ps | grep omserver | awk '{print $1}' ) tail -f /om-server/log/stdout.log

DB init

Run DB init script after creating your database. Recommended MySQL version: 5.7 or lower.

AWS S3 and Athena

AWS S3 and Athena has been used in this project for data storage and analytics. If you choose to use them, the S3 bucket info needs to be stored in your database:

update om_server_dcenter set s3_status=1,s3_region='{region}',s3_bucket='{bucket}';

Besides, an IAM role with proper S3 and Athena access needs to be created and assigned to your EC2 instance or container Task where your code resides.

Deployment verification

  • omdtask

    curl 'http://omdtask-ip:19012/snode/config/get?id=1&dcenter=1' gives a valid response.

  • omserver

    curl "http://omserver-ip:19011" gives a om-server response. omserver verified.

    curl "http://domain" gives a om-server response. nginx 80 verified.

    curl "https://domain" gives a om-server response. nginx 443 verified.

  • omadc

    curl "http://omadc-ip:19014" gives a om-adc response. omadc verified.

  • omdsserver

    curl "http://omdsserver-ip:19013/api/check" gives a HTTP 200 response. omdsserver verified.

  • Dashboard UI

    omnginx domain can be successfully visited.

Bring your own IP Geolocation Database

An IP Geolocation Database is used to help determine your app user's location. Put your own version of database in OM-Dtask's ./cache/ and implement GeoService accordingly.

Add an unlisted AdNetwork to your mediation

Refer to the guide in the Wiki section.

Communication

  • If you found a bug, and can provide steps to reliably reproduce it, open an issue.
  • If you have a feature request, open an issue.

openmediation's People

Contributors

openmediationproject avatar namehq avatar jseparator avatar

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.