Giter Club home page Giter Club logo

bidder's Introduction

RTB4FREE

RTB4FREE is an enterprise strength bidding platform for RTB based digital advertising. RTB4FREE has the following functionality:

  1. Campaign management
  2. Data management (DMP) capability
  3. Bidding using many different strategies
  4. Analytics on historical media and pricing information

The RTB4FREE organization on Github contains all of the repos to run a fully scalable system.

The RTB4FREE/rtb4free repo is where all RTB4FREE user documentation, developer documentation, and API explorer documentation live.

Viewing RTB4FREE Documentation

To view the documentation, navigate to:

https://rtb4free.readthedocs.io/en/latest/

Building RTB4FREE Documentation

To build a local copy of the RTB4FREE documentation, follow these steps:

Clone the rtb4free repo

Make a local directory and clone this repo:

mkdir rtb4free
cd rtb4free
git clone [email protected]:switzer/rtb4free.git
cd rtb4free

Build the user documentation

Build the user documentation, which is built on Sphinx and ReadTheDocs

cd docs
make html

This will build HTML doc in the rtb4free/docs/_build/html directory. Open the index.html file to view the documentation on your local system.

bidder's People

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

bidder's Issues

Parsing seat_id on bid response for BidSwitch

There is a docker env variable with "BIDSWITCH_ID" as a seat id for the exchange but the env variable is not parsed correctly on running bidder instance. It results in "localhostSWITCH_ID" because there is another env variable $BID with default value as "localhost".
The solution would be to rename the "BIDSWITCH_ID" variable name to avoid value mapping conflicts.

User undefined in log files

Testing RTB4Free using the simulator. In the bid request, there is the section that defines a user. How is the user stored in Kibana?

Bid request is here:

{
  "id": "35c22289-06e2-48e9-a0cd-94aeb79fab43",
  "at": 2,
  "imp": [
    {
      "id": "35c22289-06e2-48e9-a0cd-94aeb79fab43-1",
      "instl": 0,
      "banner": {
        "h": 50,
        "w": 320,
        "mimes": [
          "image/gif",
          "image/jpg",
          "image/png",
          "text/javascript"
        ],
        "pos": 0
      },
      "ext": {
        "nex_screen": 0
      }
    }
  ],
  "site": {
    "id": "99201",
    "name": "BidderTestMobileWEB",
    "domain": "junk1.com",
    "cat": [
      "IAB1",
      "IAB2"
    ],
    "keywords": "radiation",
    "page": "http://www.nexage.com",
    "ref": "http://www.iab.net",
    "search": "radiation",
    "publisher": {
      "id": "98401",
      "name": "testme"
    },
    "ext": {
      "nex_coppa": 0
    }
  },
  "device": {
    "didsha1": "132079238ec783b0b89dff308e1f9bdd08576273",
    "dpidsha1": "f22711a823044bb9ce7ace097955de0286eb0182",
    "ip": "166.137.138.18",
    "carrier": "ATT",
    "ua": "Mozilla/5.0 (iPhone; U; CPU iPhone OS 4_2_1 like Mac OS X; el-gr) AppleWebKit/533.17.9 (KHTML, like Gecko) Version/5.0.2 Mobile/8C148 Safari/6533.18.5",
    "make": "Apple",
    "model": "iPhone",
    "osv": "3.1.2",
    "connectiontype": 3,
    "devicetype": 1,
    "geo": {
      "lat": 42.378,
      "lon": -71.227,
      "country": "USA"
    }
  },
  "user": {
    "id": "ASDFJKL",
    "yob": 1961,
    "gender": "F",
    "keywords": "sports",
    "geo": {
      "country": "USA",
      "city": "Waltham",
      "zip": "02451",
      "region": "MA",
      "type": 3
    },
    "ext": {
      "nex_eth": "4",
      "nex_marital": "M",
      "nex_kids": "N",
      "nex_hhi": 75000,
      "nex_dma": "Boston"
    }
  },
  "ext": {
    "coppa": 0,
    "udi": {
      "googleadid": "5e2efab6-7721-4cfe-b542-97084d5aa62f",
      "googlednt": 0,
      "atuid": "a90377ab-190b-1036-f424-ac10fdb8ffef"
    },
    "operaminibrowser": 0,
    "carriername": "Verizon Wireless"
  }
}

Logging to Kibana is configured. However, But the "userId" and "userProfile" are both "undefined"

ECS Config

It would be great to see a configuration for AWS ECS. I messed around with it a bit, but there are enough differences that it would take more work. You can't have more than 10 containers in a task, and you want to split the bidder off anyway. So you need service discovery and a few other things I think.

One hangup is there is a dependency on persistent storage for Zerospike. FARGATE doesn't have persistent storage, but perhaps an EC2 ECS cluster would work.

Native creative java.lang.NullPointerException

Hello, I amusing current version of rtb4free with bidder deployed in docker container. The. bidder is working without any issues when the creative type is banner or video.
However, when i try to bid on creative type native, it throuws null point exception as follows,

bidder_1 | java.lang.NullPointerException
bidder_1 | at com.jacamars.dsp.rtb.nativeads.creative.NativeCreative.getEscapedAdm(NativeCreative.java:186)
bidder_1 | at com.jacamars.dsp.rtb.common.Creative.getUnencodedNativeAdm(Creative.java:1334)
bidder_1 | at com.jacamars.dsp.rtb.pojo.BidResponse.makeResponse(BidResponse.java:742)
bidder_1 | at com.jacamars.dsp.rtb.pojo.BidResponse.(BidResponse.java:150)
bidder_1 | at com.jacamars.dsp.rtb.pojo.BidRequest.buildNewBidResponse(BidRequest.java:381)
bidder_1 | at com.jacamars.dsp.rtb.bidder.CampaignSelector.getMaxConnections(CampaignSelector.java:201)
bidder_1 | at com.jacamars.dsp.rtb.bidder.Handler.handle(RTBServer.java:1289)
bidder_1 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
bidder_1 | at org.eclipse.jetty.server.handler.ScopedHandler.nextHandle(ScopedHandler.java:235)
bidder_1 | at org.eclipse.jetty.server.session.SessionHandler.doHandle(SessionHandler.java:1624)
bidder_1 | at org.eclipse.jetty.server.session.SessionHandler.doScope(SessionHandler.java:1598)
bidder_1 | at org.eclipse.jetty.server.handler.ScopedHandler.handle(ScopedHandler.java:141)
bidder_1 | at org.eclipse.jetty.server.handler.HandlerWrapper.handle(HandlerWrapper.java:127)
bidder_1 | at org.eclipse.jetty.server.Server.handle(Server.java:516)
bidder_1 | at org.eclipse.jetty.server.HttpChannel.lambda$handle$1(HttpChannel.java:388)
bidder_1 | at org.eclipse.jetty.server.HttpChannel.dispatch(HttpChannel.java:633)
bidder_1 | at org.eclipse.jetty.server.HttpChannel.handle(HttpChannel.java:380)
bidder_1 | at org.eclipse.jetty.server.HttpConnection.onFillable(HttpConnection.java:277)
bidder_1 | at org.eclipse.jetty.io.AbstractConnection$ReadCallback.succeeded(AbstractConnection.java:311)
bidder_1 | at org.eclipse.jetty.io.FillInterest.fillable(FillInterest.java:105)
bidder_1 | at org.eclipse.jetty.io.ChannelEndPoint$1.run(ChannelEndPoint.java:104)
bidder_1 | at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.runTask(EatWhatYouKill.java:336)
bidder_1 | at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.doProduce(EatWhatYouKill.java:313)
bidder_1 | at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.tryProduce(EatWhatYouKill.java:171)
bidder_1 | at org.eclipse.jetty.util.thread.strategy.EatWhatYouKill.run(EatWhatYouKill.java:129)
bidder_1 | at org.eclipse.jetty.util.thread.ReservedThreadExecutor$ReservedThread.run(ReservedThreadExecutor.java:383)
bidder_1 | at org.eclipse.jetty.util.thread.QueuedThreadPool.runJob(QueuedThreadPool.java:882)
bidder_1 | at org.eclipse.jetty.util.thread.QueuedThreadPool$Runner.run(QueuedThreadPool.java:1036)
bidder_1 | at java.base/java.lang.Thread.run(Thread.java:834)

I tried everything in my knowledge to get it work, but somehow can not get it work.

Below is the request I am sending, (note, I removed domain and buyerid for privacy concerns)

{
"id": "f07a75e6-dd53-45ac-98fb-3b390da1ef8a-h0k8",
"test": 1,
"tmax": 580,
"at": 2,
"cur": [
"USD"
],
"imp": [
{
"id": "1",
"instl": 0,
"secure": 1,
"bidfloor": 0.0000000034605263157894736,
"bidfloorcur": "USD",
"native":{"request":"{"native":{"ver":"1.2","assets":[{"id":1,"required":0,"title":{"len":100}},{"id":3,"required":0,"data":{"type":1,"len":30}},{"id":2,"required":0,"data":{"type":2,"len":100}},{"id":4,"required":0,"img":{"type":3,"w":150,"h":100,"wratio":150,"hratio":100,"wmin":150}}]}}"}
}
],
"site": {
"id": "15",
"domain": "----------",
"page": "------------",
"publisher": {
"id": "15",
"domain": "-------------------"
}
},
"device": {
"ua": "Mozilla/5.0 (Windows NT 10.0; Win64; x64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/70.0.3538.102 Safari/537.36 Edge/18.18363",
"geo": {
"country": "IND"
},
"ip": "172.24.30.130",
"os": "Windows 10",
"osv": "NT 10.0",
"model": "Edge - Windows"
},
"user": {
"id": "58f6550a-7623-4ca2-9ccb-7c00c8f937df-1sk24",
"buyeruid": "--------------------"
}
}

Installation Please help..

I've succes build process, but i can login through web ip:8080 / ip:3000 always connection refused,
please help me, what should i do.. im following step by step but i can't access on my browser..

anyone can help me??

thanks

Separate Zerospike into its own repo

Currently, the bidder component and Zerospike appear to be in the same repo. To keep things nice and tidy, separate Zerospike into its own repo.

NativeCreative

Could you give a sample of native creative in database.json? Thanks very much

Warning, wrong callback message

Hello,

I am getting a warning while sending a sample bid to the system.

WARN: Warning, wrong callback message, params: type=pixel & redirect

I think the issue is with the form of the pixel fire and click trackers.

Regards,
Sanchit

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.