Bildirim hizmeti

AFP bildirim hizmeti, AFP Doğrudan platformlarının bildirim almasına olanak tanır alt hesaptan ve site kullanabilirsiniz. Platformlar, Değişiklikleri incelemek için Platform API.

Bildirim almak için şunu kabul eden bir sunucu uygulayın: POST istekleri ve şemada ana hatlarıyla açıklanan JSON yükünü ayrıştırır (bkz. örnek kurulum) bakın. Ardından, uç nokta URL'sini sağlamanız gerekir. .

Şema

Bildirim yükü aşağıdaki şemaya uygun olmalıdır:

{
  "$schema": "https://json-schema.org/draft/2020-12/schema",
  "title": "Notification",
  "type": "object",
  "properties": {
    "accountName": {
      "type": "string",
      "description": "The name of the modified sub-account."
    },
    "domain": {
      "type": "string",
      "description": "The domain the notification refers to, if any. Optional (only populated for SITE_APPROVAL)"
    },
    "notificationType": {
      "type": "string",
      "enum": ["PUBLISHER_APPROVAL", "SITE_APPROVAL"],
      "description": "Type of notification"
    }
  },
  "required": ["platformPublisherId", "publisherId", "notificationType"],
  "additionalProperties": false
}

Daha sonra daha fazla notificationTypes alanı ve başka alanlar eklenebilir.

Örnekler

Yayıncı onay bildirimi şöyle görünür:

{
  "accountName" : "platforms/pub-1234567890123456/accounts/pub-0987654321654321",
  "notificationType": "PUBLISHER_APPROVAL"
}

Site onay bildirimi şöyle görünür:

{
  "accountName" : "platforms/pub-1234567890123456/accounts/pub-0987654321654321",
  "domain": "afpsite.com",
  "notificationType": "SITE_APPROVAL"
}

Örnek kurulum

Aşağıdaki örnek, bir bildirim:

// Import express
const express = require('express');

// Create an express application
const app = express();

// Middleware to parse JSON bodies
app.use(express.json());

// Define a route to receive POST requests
app.post('/notification', (req, res) => {
    console.log('Received account name:', req.body.accountName)
    console.log('Received Domain:', req.body.domain)
    console.log('Received notification type', req.body.notificationType)

    // Send a response back to the client
    res.status(200).send('Notification received');
});

// Start the server
const PORT = process.env.PORT || 8080;
app.listen(PORT, () => {
  console.log(`Server running on port ${PORT}`);
});

Örnek uç nokta URL'si: https://yourdomain.com/your-endpoint

curl ile POST isteği göndererek uç noktanızın çalıştığını doğrulayın:

curl -X POST https://yourdomain.com/your-endpoint \
     -H "Content-Type: application/json" \
     -d '{"accountName": "platforms/pub-1234567890123456/accounts/pub-0987654321654321", \
        "notificationType": "PUBLISHER_APPROVAL"}'

Robots.txt dosyasını yapılandırma

Bildirim hizmetinin uç noktanıza erişmesine izin verildiğinden emin olun. İlgili içeriği oluşturmak için kullanılan bildirim hizmetinin, kökünün robots.txt dosyası alanınız (varsa):

User-agent: GoogleOther
Disallow: <ensure your endpoint is not disallowed>