- All Hands Active! ATMegaZero Workshop with ishotjr Learning Shield Demo code
- Meetup
- ATMegaZero docs
- ATMegaZero shop
- ATMegaZero GitHub repo
Super Auction gives you access to multiple demand sources at once in real-time. By calling the requestBid API, ONE Mobile will produce a bid response containing ad markup and a bid price. Once you get the bid, you decide what to do with it. Some of your options are:
- Display the ad
- Send it to your primary SSP - in many cases this is MoPub or DFP
- Insert it into your proprietary waterfall
If you have a custom/proprietary waterfall, you need to take our bid response and insert it into your own waterfall. The gist of this will be to call our requestBid API, determine if we return a bid, and if a bid is returned you need to dynamically insert that bid response in your waterfall.
Let's look at a waterfall with Partner A, B, C, and D. The following historic eCPMs apply to these:
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
package util | |
import ( | |
"net/http" | |
"github.com/casbin/casbin" | |
"github.com/qiangxue/golang-restful-starter-kit/app" | |
"github.com/go-ozzo/ozzo-routing" | |
) | |
// Authorizer is a middleware that controls the access to the HTTP service, it is based |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
import Foundation | |
public class Storage { | |
fileprivate init() { } | |
enum Directory { | |
// Only documents and other data that is user-generated, or that cannot otherwise be recreated by your application, should be stored in the <Application_Home>/Documents directory and will be automatically backed up by iCloud. | |
case documents | |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
func filterVideo(inputFilePath: String, outputFilePath: String, | |
filterPath: String, callback: @escaping (Bool) -> Void) -> (Process, DispatchWorkItem)? { | |
guard let launchPath = Bundle.main.path(forResource: "ffmpeg", ofType: "") else { | |
return nil | |
} | |
let process = Process() | |
let task = DispatchWorkItem { | |
process.launchPath = launchPath | |
process.arguments = [ | |
"-y", |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
exec > /tmp/${PROJECT_NAME}_archive.log 2>&1 | |
UNIVERSAL_OUTPUTFOLDER=${BUILD_DIR}/${CONFIGURATION}-universal | |
if [ "true" == ${ALREADYINVOKED:-false} ] | |
then | |
echo "RECURSION: Detected, stopping" | |
else | |
export ALREADYINVOKED="true" |
This file contains bidirectional Unicode text that may be interpreted or compiled differently than what appears below. To review, open the file in an editor that reveals hidden Unicode characters.
Learn more about bidirectional Unicode characters
#include <TinyGPS++.h> | |
#include <SoftwareSerial.h> | |
/* | |
This sample sketch demonstrates the normal use of a TinyGPS++ (TinyGPSPlus) object. | |
It requires the use of SoftwareSerial, and assumes that you have a | |
4800-baud serial GPS device hooked up on pins 4(rx) and 3(tx). | |
*/ | |
static const int RXPin = 0, TXPin = 1; | |
static const uint32_t GPSBaud = 9600; |
NewerOlder