Sada Azure Notification Hubs SDK pro JavaScript
Azure Notification Hubs nabízí modul nabízených oznámení se škálováním na více systémů, který umožňuje odesílat oznámení na libovolnou platformu (Apple, Amazon Kindle, Firebase, Baidu, Xiaomi, Web, Windows atd.) z jakéhokoli back-endu (cloudu nebo místního prostředí). Notification Hubs funguje dobře pro podnikové i spotřebitelské scénáře. Příklady scénářů:
- Odesílání oznámení o důležitých zprávách milionům uživatelů s minimálním zpožděním.
- Odesílání kupónů závislých na aktuální poloze segmentům zájemců.
- Odesílání oznámení o událostech uživatelům multimediálních, sportovních, finančních nebo herních aplikací nebo jejich skupinám.
- Zasílání propagačního obsahu aplikacím kvůli informovanosti zákazníků a podpoře nabídky.
- Upozorněte uživatele na podnikové události, jako jsou nové zprávy a pracovní položky.
- Odesílání kódů k vícefaktorovému ověřování.
Klíčové odkazy:
POZNÁMKA: Pokud používáte azure-sb
balíček , podívejte se na migration guide to move from azure-sb to @azure/notification-hubs
Začínáme
Aktuálně podporovaná prostředí
- LtS verze Node.js
- Nejnovější verze prohlížečů Safari, Chrome, Edge a Firefox.
Další podrobnosti najdete v našich zásadách podpory .
Instalace balíčku
npm install @azure/notification-hubs
Požadavky
- Předplatné Azure
- Prostředek App Notification Hubs .
Create prostředku Azure Notification Hubs
Centrum oznámení Azure je možné vytvořit pomocí následujících metod:
Po vytvoření je možné centrum oznámení nakonfigurovat pomocí webu Azure Portal nebo Azure CLI.
Import klienta
Tato sada SDK pro JavaScript nabízí dva způsoby interakce se službou Azure Notification Hubs, a to buď prostřednictvím přístupu založeného na třídě, nebo modulárního přístupu k návrhu. Přístup založený na třídách je konzistentní napříč všemi balíčky, aby se vytvořil klient a pak komunikovali s metodami v klientovi.
import {
NotificationHubsClient,
createAppleInstallation
} from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const installation = createAppleInstallation({
installationId: "<installation-id>",
pushChannel: "<push-channel>",
tags: ["likes_javascript"],
});
const result = await client.createOrUpdateInstallation(installation);
Modulární přístup umožňuje vývojáři vybrat a zvolit, které funkce se mají importovat, protože každá metoda je vystavená zvlášť. Tento přístup používá export dílčích cest s ES-Modules k vystavení metod prostřednictvím přímých importů. S jednotlivými exporty to vytváří lepší prostředí pro třepání stromem a menší velikosti balíčků, které může vývojář využít.
Všimněte si, že vytvoření klienta je vystaveno prostřednictvím "@azure/notification-hubs/api"
dílčí cesty a všechny metody klienta jsou zpřístupněny prostřednictvím dílčí "@azure/notification-hubs/api"
cesty. Každá exportovaná funkce přebírá client
jako první parametr parametr a ostatní parametry zůstanou beze změny.
Jsou zpřístupněny následující dílčí cesty:
@azure/notification-hubs/api
- Hlavní vstupní bod pro klienta prostřednictvímcreateClientContext
klientských metod a, jakogetInstallation
je nebosendNotification
@azure/notification-hubs/models
– Modely Notification Hubs a metody továrny.
Výše uvedený fragment kódu pak bude následující:
import { createClientContext, createOrUpdateInstallation } from "@azure/notification-hubs/api";
import { createAppleInstallation } from "@azure/notification-hubs/models";
const context = createClientContext("<connection string>", "<hub name>");
const installation = createAppleInstallation({
installationId: "<installation-id>",
pushChannel: "<push-channel>",
tags: ["likes_javascript"],
});
const result = await createOrUpdateInstallation(context, installation);
Ověření klienta
Interakce s centrem oznámení Azure začíná řetězcem NotificationHubsClient
, který podporuje připojovací řetězce sdíleného přístupového podpisu. To zahrnuje následující úrovně oprávnění: Naslouchat, Spravovat, Odeslat.
Naslouchání umožňuje, aby se klient zaregistroval prostřednictvím rozhraní API pro registraci a instalaci. Nástroj Odeslat umožňuje klientovi odesílat oznámení do zařízení pomocí rozhraní API pro odesílání. Nakonec správa umožňuje uživateli provádět správu registrace a instalace, jako jsou dotazy.
Nového NotificationHubsClient
klienta je možné vytvořit pomocí konstruktoru s připojovací řetězec a názvem centra oznámení.
import { NotificationHubsClient } from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
Pomocí modulárního přístupu createClientContext
se dá importovat přes "@azure/notification-hubs/api"
dílčí cestu.
import { createClientContext } from "@azure/notification-hubs/api";
const context = createClientContext("<connection string>", "<hub name>");
Klíčové koncepty
NotificationHubClient
Po inicializaci je možné prozkoumat následující koncepty.
- Správa zařízení prostřednictvím popisů instalací a registrace
- Odesílání oznámení do zařízení
Správa zařízení
Správa zařízení je základním konceptem služby Notification Hubs, aby bylo možné ukládat jedinečný identifikátor z nativní služby oznámení platformy (PNS), jako jsou služby APN nebo Firebase, a přidružená metadata, jako jsou značky používané k odesílání nabízených oznámení cílovým skupinám. K tomu slouží dvě rozhraní API: instalační rozhraní API, které je novějším a upřednostňovaným mechanismem, a registrace.
Rozhraní API pro instalace
Instalace představují novější nativní přístup JSON ke správě zařízení, který obsahuje další vlastnosti, jako je ID instalace a ID uživatele, které lze použít k odesílání cílovým skupinám. Rozhraní API pro instalaci má oproti stávajícím registračním rozhraním API několik výhod, a to následujícími způsoby:
- Plně idempotentní rozhraní API, takže volání create při instalaci, aby bylo možné operaci opakovat bez obav z duplicit.
userId
Podpora vlastností ainstallationId
, které se pak dají použít ve výrazech značek, jako$InstallationId:{myInstallId}
jsou a$UserId:{bob@contoso.com}
.- Šablony jsou nyní součástí instalace místo samostatné registrace a mohou být odkazovány podle názvu jako značky pro odeslání.
- Částečné aktualizace jsou podporovány prostřednictvím standardu OPRAV JSON, který umožňuje přidávat značky a měnit další data, aniž by bylo nutné nejprve dotazovat instalaci.
Instalace je možné vytvořit pomocí createOrUpdateInstallation
metody, jako je například následující:
import { NotificationHubsClient, createAppleInstallation } from "@azure/notification-hubs";
import { v4 as uuid } from "uuid";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
// Create an installation for APNs
let installation = createAppleInstallation({
installationId: uuid(), // Must be unique
pushChannel: "00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0", // PNS specific handle
tags: ["likes_hockey", "likes_football"],
});
installation = await client.createOrUpdateInstallation(installation);
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, createOrUpdateInstallation } from "@azure/notification-hubs/api";
import { createAppleInstallation } from "@azure/notification-hubs/models";
import { v4 as uuid } from "uuid";
const context = createClientContext("<connection string>", "<hub name>");
// Create an installation for APNs
let installation = createAppleInstallation({
installationId: uuid(), // Must be unique
pushChannel: "00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0", // PNS specific handle
tags: ["likes_hockey", "likes_football"],
});
installation = await createOrUpdateInstallation(context, installation);
Aktualizaci instalace je možné provést prostřednictvím schématu opravy JSON, jako je přidání značky a ID uživatele pomocí metody .updateInstallation
import { NotificationHubsClient, JsonPatch } from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const installationId = "<unique installation ID>";
const updates: JsonPatch[] = [
{ op: "add", path: "/tags", value: "likes_baseball" },
{ op: "add", path: "/userId", value: "bob@contoso.com" },
];
const installation = await client.updateInstallation(installationId, updates);
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, updateInstallation } from "@azure/notification-hubs/api";
import { JsonPatch } from "@azure/notification-hubs/models";
const context = createClientContext("<connection string>", "<hub name>");
const installationId = "<unique installation ID>";
const updates: JsonPatch[] = [
{ op: "add", path: "/tags", value: "likes_baseball" },
{ op: "add", path: "/userId", value: "bob@contoso.com" },
];
const installation = await updateInstallation(context, installationId, updates);
Pokud chcete načíst existující instalaci, použijte metodu getInstallation
s vaším stávajícím jedinečným ID instalace.
import { NotificationHubsClient } from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const installationId = "<unique installation ID>";
const installation = client.getInstallation(installationId);
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, getInstallation } from "@azure/notification-hubs/api";
const context = createClientContext("<connection string>", "<hub name>");
const installationId = "<unique installation ID>";
const installation = getInstallation(context, installationId);
Rozhraní API pro registrace
Registrace je přidružená k systému PNS stejně jako výše uvedená instalace, s jedinečným identifikátorem zařízení z systému PNS a přidruženými značkami. Registrace šablon představují způsob, jak vytvořit předdefinované šablony těla, které je pak možné při odeslání přizpůsobit pomocí vlastností, které vyplní zprávu. Další informace o šablonách najdete v dokumentaci šablon.
Instalaci je možné vytvořit jedním ze dvou způsobů, nejprve získáním ID registrace ze serveru pomocí getInstallationId
a pak createOrUpdateRegistration
metodou nebo metodou createRegistration
.
import {
NotificationHubsClient,
createAppleRegistrationDescription,
} from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
let registration = createAppleRegistrationDescription({
deviceToken: "00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0",
tags: ["likes_hockey", "likes_football"],
});
registration = await client.createRegistration(registration);
console.log(`New Registration ID: ${registration.registrationId}`);
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, createRegistration } from "@azure/notification-hubs/api";
import { createAppleRegistrationDescription } from "@azure/notification-hubs/models";
const context = createClientContext("<connection string>", "<hub name>");
let registration = createAppleRegistrationDescription({
deviceToken: "00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0",
tags: ["likes_hockey", "likes_football"],
});
registration = await createRegistration(context, registration);
console.log(`New Registration ID: ${registration.registrationId}`);
Aktualizace lze provést pomocí metody , updateRegistration
ale na rozdíl od instalací nepodporuje přírůstkové aktualizace. Dotazování na existující registraci je možné provést pomocí getRegistration
metody .
import { NotificationHubsClient } from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const registrationId = "<unique Registration ID>";
let registration = await client.getRegistration(registrationId);
registration.tags.push("likes_sports");
registration = await client.updateRegistration(registration);
Při použití modulárního přístupu by kód byl následující:
import {
createClientContext,
getRegistration,
updateRegistration
} from "@azure/notification-hubs/api";
const context = createClientContext("<connection string>", "<hub name>");
const registrationId = "<unique Registration ID>";
let registration = await getRegistration(context, registrationId);
registration.tags.push("likes_sports");
registration = await updateRegistration(context, registration);
Na rozdíl od instalací se dají dotazovat na registraci, aby se získaly všechny registrace, odpovídaly podmínce nebo pomocí značek. Registrace je možné dotazovat pomocí listRegistrations
metody , listRegistrationsByChannel
a listRegistrationsByTag
. Všechny metody podporují omezení prostřednictvím top
možnosti a asynchronní stránkování.
import { NotificationHubsClient } from "@azure/notification-hubs/api";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const registrations = await client.listRegistrationsByTag("likes_hockey");
let page = 0;
for await (const pages of registrations.byPage()) {
console.log(`Page number ${page++}`);
for (const item of pages) {
console.log(JSON.stringify(item, null, 2));
}
}
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, listRegistrationsByTag } from "@azure/notification-hubs/api";
const context = createClientContext("<connection string>", "<hub name>");
const registrations = await listRegistrationsByTag(context, "likes_hockey");
let page = 0;
for await (const pages of registrations.byPage()) {
console.log(`Page number ${page++}`);
for (const item of pages) {
console.log(JSON.stringify(item, null, 2));
}
}
Operace odeslání
Notification Hubs podporuje odesílání oznámení do zařízení buď přímo pomocí jedinečného identifikátoru systému PNS, pomocí značek pro odesílání cílových skupin nebo obecného vysílání do všech zařízení. S využitím skladové položky Standard a vyšší umožňuje plánované odesílání uživatelům naplánovat oznámení až sedm dní předem. Všechny operace odesílání vrací ID sledování a ID korelace, které je možné použít pro případy podpory Notification Hubs. U skladové položky Standard a vyšší se vrátí také ID oznámení, které je možné použít k získání telemetrie oznámení prostřednictvím getNotificationOutcomeDetails
metody .
Pro účely ladění je možné nastavit možnosti, enableTestSend
na true
které získá okamžitou zpětnou vazbu od systému PNS k sendNotification
metodě, ale v produkčních scénářích nejsou podporované. U metod naplánovaného odesílání to není podporováno.
Nezpracované řetězce JSON nebo XML se dají posílat metodám odeslání nebo plánovaného odeslání, případně je možné použít tvůrce oznámení, který pomáhá vytvářet zprávy pro jednotlivé sítě PNS, jako jsou apNs, Firebase, Baidu, ADM a WNS. Tito tvůrci vytvoří nativní formát zprávy, takže není možné hádat, která pole jsou pro jednotlivé systémy PNS k dispozici.
// Using the class-based approach
import { createAppleNotificationBody } from "@azure/notification-hubs";
// Using the modular approach
import { createAppleNotification, createAppleNotificationBody } from "@azure/notification-hubs/models";
const apnsBody = createAppleNotificationBody({
alert: {
title: "Notification Title",
subtitle: "Notification Subtitle",
body: "Notification body goes here",
},
sound: "default",
interruptionLevel: "time-sensitive",
});
// Send the message using the modular approach
const notification = createAppleNotification({
body: apnsBody
})
const result = await sendNotification(context, notification);
Vysílání – odeslání
Notification Hubs se dá použít k odesílání oznámení do všech registrovaných zařízení na platformě pomocí vysílání prostřednictvím metody .sendNotification
import {
NotificationHubsClient,
createAppleNotification,
} from "@azure/notification-hubs/api";
const context = createClientContext(connectionString, hubName);
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
const message = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await client.sendNotification(message);
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Only available in Standard SKU and above
if (result.notificationId) {
console.log(`Notification ID: ${result.notificationId}`);
}
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, sendNotification } from "@azure/notification-hubs/api";
import { createAppleNotification } from "@azure/notification-hubs/models";
const context = createClientContext(connectionString, hubName);
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
const message = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await sendNotification(context, message);
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Only available in Standard SKU and above
if (result.notificationId) {
console.log(`Notification ID: ${result.notificationId}`);
}
Přímé odeslání
Pokud chce uživatel odeslat zařízení přímo, může ho odeslat pomocí jedinečného identifikátoru poskytnutého platformou, jako je token zařízení služby APNs, zavoláním sendNotification
metody s parametrem deviceHandle
.
import {
NotificationHubsClient,
createAppleNotification,
} from "@azure/notification-hubs";
const client = new NotificationHubsClient(connectionString, hubName);
const deviceHandle = "00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0";
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
const message = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await client.sendNotification(message, { deviceHandle });
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Only available in Standard SKU and above
if (result.notificationId) {
console.log(`Notification ID: ${result.notificationId}`);
}
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, sendDirectNotification } from "@azure/notification-hubs/api";
import { createAppleNotification } from "@azure/notification-hubs/models";
const context = createClientContext(connectionString, hubName);
const deviceHandle = "00fc13adff785122b4ad28809a3420982341241421348097878e577c991de8f0";
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
const message = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await sendNotification(context, message, { deviceHandle });
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Only available in Standard SKU and above
if (result.notificationId) {
console.log(`Notification ID: ${result.notificationId}`);
}
Odeslání cílové skupiny
Kromě cílení na jedno zařízení může uživatel pomocí značek cílit na více zařízení. Tyto značky je možné zadat jako seznam značek, který pak vytvoří výraz značky pro shodu s registrovanými zařízeními, nebo prostřednictvím výrazu značky, který pak může použít logickou logiku k cílení na správnou cílovou skupinu. Další informace o výrazech značek a značek najdete v tématu Směrování a výrazy značek.
Pokud chcete vytvořit výraz značky z pole značek, je k dispozici Tvůrce výrazů značek s createTagExpression
metodou, která je zpřístupněna na nejvyšší úrovni importu nebo @azure/notification-hubs/models/tagExpressionBuilder
modulárního importu, která ze značek vytvoří výraz "nebo značky".
// Top level import
import { createTagExpression } from "@azure/notification-hubs";
// Modular import
import { createTagExpression } from "@azure/notification-hubs/models";
const tags = ["likes_football", "likes_hockey"];
const tagExpression = createTagExpression(tags);
console.log(tagExpression);
// likes_football||likes_hockey
Zprávy výrazů značek je možné odesílat pomocí následujícího kódu:
import {
NotificationHubsClient,
createAppleNotification,
} from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const tagExpression = "likes_hockey && likes_football";
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
const notification = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await client.sendNotification(notification, { tagExpression });
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Only available in Standard SKU and above
if (result.notificationId) {
console.log(`Notification ID: ${result.notificationId}`);
}
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, sendNotification } from "@azure/notification-hubs/api";
import { createAppleNotification } from "@azure/notification-hubs/models";
const context = createClientContext("<connection string>", "<hub name>");
const tagExpression = "likes_hockey && likes_football";
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
const notification = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await sendNotification(context, notification, { tagExpression });
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Only available in Standard SKU and above
if (result.notificationId) {
console.log(`Notification ID: ${result.notificationId}`);
}
Naplánované odeslání
Nabízená oznámení je možné naplánovat až sedm dní předem pomocí oborů názvů standardních skladových položek a vyšších pomocí scheduleBroadcastNotification
metody odesílání do zařízení se značkami nebo obecným vysíláním. Tím se vrátí ID oznámení, které se pak dá v případě potřeby zrušit pomocí metody .cancelScheduledNotification
import {
NotificationHubsClient,
createAppleNotification,
} from "@azure/notification-hubs";
const client = new NotificationHubsClient("<connection string>", "<hub name>");
const tagExpression = "likes_hockey && likes_football";
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
// Schedule 8 hours from now
const scheduledTime = new Date(Date.now() + (8 * 60 * 60 * 1000));
const message = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await client.scheduleNotification(scheduledTime, message, { tagExpression });
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Can be used to cancel via the cancelScheduledSend method
console.log(`Notification ID: ${result.notificationId}`);
Při použití modulárního přístupu by kód byl následující:
import { createClientContext, scheduleNotification } from "@azure/notification-hubs/api";
import { createAppleNotification } from "@azure/notification-hubs/models";
const context = createClientContext("<connection string>", "<hub name>");
const tagExpression = "likes_hockey && likes_football";
const messageBody = `{ "aps" : { "alert" : "Hello" } }`;
// Schedule 8 hours from now
const scheduledTime = new Date(Date.now() + (8 * 60 * 60 * 1000));
const message = createAppleNotification({
body: messageBody,
headers: {
"apns-priority": "10",
"apns-push-type": "alert",
},
});
const result = await scheduleNotification(context, scheduledTime, message, { tagExpression });
console.log(`Tracking ID: ${result.trackingId}`);
console.log(`Correlation ID: ${result.correlationId}`);
// Can be used to cancel via the cancelScheduledSend method
console.log(`Notification ID: ${result.notificationId}`);
Poradce při potížích
Podpora React Native
React Native aktuálně nepodporuje [URLSearchParams
], kterou používá sada Azure Notification Hubs SDK. Abyste mohli sadu SDK používat v React Native, budete muset před použitím sady SDK nainstalovat url-search-params-polyfill
balíček a naimportovat ho.
import 'url-search-params-polyfill';
Potřebujeme také poskytnout polyfill pro TextEncoder
rozhraní API a rozhraní API asynchronního iterátoru. Další podrobnosti najdete v naší ukázce React Native s expo.
Diagnostika vyřazených oznámení
Azure Notification Hubs obsahuje kompletního průvodce odstraňováním potíží s zahozenými oznámeními v průvodci diagnostikou vyřazených oznámení ve službě Azure Notification Hubs.
Testovací odeslání se podporuje v sendNotification
metodě s enableTestSend
možností :
// Using the client
const result = await client.sendNotification(notification, { tags, enableTestSend: true });
// Using the modular approach
const result = await sendNotification(context, notification, { tags, enableTestSend: true });
protokolování
Povolení protokolování může pomoct odhalit užitečné informace o selháních. Pokud chcete zobrazit protokol požadavků a odpovědí HTTP, nastavte proměnnou AZURE_LOG_LEVEL
prostředí na info
. Případně je možné protokolování povolit za běhu voláním setLogLevel
v :@azure/logger
const { setLogLevel } = require("@azure/logger");
setLogLevel("info");
Podrobnější pokyny k povolení protokolů najdete v dokumentaci k balíčkům @azure/protokolovacího nástroje.
Další kroky
Následující ukázky ukazují různé způsoby interakce se službou Azure Notification Hubs:
Správa zařízení:
- Rozhraní API pro instalace
- Registrační rozhraní API
Operace odeslání:
- Vysílání – odeslání
- Přímé odeslání
- Cílová skupina – odeslání se seznamem značek
- Cílová skupina – odeslání s výrazem značky
- Naplánované vysílání – odeslání
- Naplánované odeslání
Operace správy:
Přispívání
Pokud chcete přispívat do této knihovny, přečtěte si příručku pro přispívání , kde najdete další informace o tom, jak sestavit a otestovat kód.
Testy tohoto modulu jsou kombinací živých testů a testů jednotek, které vyžadují, abyste měli instanci Azure Notification Hubs. K provedení testů budete muset spustit:
rush update
rush build -t @azure/notification-hubs
- Create ve složce soubor .env s následujícím obsahem
sdk\notificationhubs\notification-hubs
:NOTIFICATIONHUBS_CONNECTION_STRING=connection string for your Notification Hubs instance
NOTIFICATION_HUB_NAME=Notification Hub name
cd sdk\notificationhubs\notification-hubs
rushx test
.
Další podrobnosti najdete v naší složce testů .
Související projekty
Azure SDK for JavaScript