Balançando o mundo AdHoc! ?
git clone https://github.com/FoundersFactory/AdRock.git
npm install forever -g
.env
: cd Server && touch .env
.env
com suas informações: AUTH0_CLIENT_ID=
AUTH0_CLIENT_SECRET=
AUTH0_DOMAIN=<your-company-name>.eu.auth0.com
AUTH0_CALLBACK_URL=http://localhost:3000/adrock
PORT=3000
HOST=localhost
EXTERNAL_URL=https://example.com
/Server
): forever stopall && git pull && npm install --save &&
NODE_ENV=production forever --minUptime 1000 --spinSleepTime 1000 start ./forever.json
Isto irá:
express
padrão na porta 3000
GET <domain>/adrock/<full-app-bundle-id>
POST <domain>/adrock/upload
para receber aplicativosSe você já possui um aplicativo expresso e deseja integrar o AdRock a ele:
//Requires
const dotenv = require("dotenv");
const jwt = require("express-jwt");
const cors = require("cors");
//Other stuff you might want to do
{...}
//Loading the environment variables and Auth0
dotenv.load();
const authenticate = jwt({
secret: new Buffer(process.env.AUTH0_CLIENT_SECRET, 'base64'),
audience: process.env.AUTH0_CLIENT_ID
});
//Other stuff you might want to do, especially creating your express app
{...}
//ADROCK!!!
//Getting apps
app.use("/adrock", require("./routes/get"));
//Auth
app.use("/adrock/upload", authenticate);
//Uploading apps
app.use("/adrock/upload", require("./routes/post"));
app.use(function (err, req, res, next) {
if (err.name === 'UnauthorizedError') {
res.status(401).send('Invalid token...');
return;
}
next(err);
});
Se estiver usando Nginx, adicione isto ao seu arquivo .conf
principal:
location /adrock {
include /<path-to-adrock>/Server/nginx.conf;
}
Para fazer upload de um novo aplicativo ou de uma nova versão de um aplicativo existente, você precisará fazer uma solicitação POST
em formato múltiplo para <domain>/adrock/upload
contendo:
app
=> um arquivo .ipa
ou .apk
com tamanho não superior a 512 MBicon
=> um arquivo .png
para o ícone do aplicativo (necessário apenas no primeiro upload e para aplicativos iOS)bundleId
=> o ID completo do pacote do aplicativo (por exemplo, com.example.raddest-app-ever )version
=> A versão do aplicativo (por exemplo, 0.3.1 )name
=> O nome do aplicativo (por exemplo, Raddest App Ever ) Após o sucesso, você obterá o URL do index.html
do aplicativo, que é o mesmo que chamar <domain>/adrock/<full-app-bundle-id>
.
curl -X POST <domain>/adrock/upload
-H Authorization=Bearer <your-jwt>
-F app=<path/to/ipa>
-F icon=<path/to/icon>
-F bundleId=<full-app-bundle-id>
-F name='The App's Name'
-F version=0.3.1