Alexa.NET.ProactiveEvents
1.0.1
See the version list below for details.
dotnet add package Alexa.NET.ProactiveEvents --version 1.0.1
NuGet\Install-Package Alexa.NET.ProactiveEvents -Version 1.0.1
<PackageReference Include="Alexa.NET.ProactiveEvents" Version="1.0.1" />
paket add Alexa.NET.ProactiveEvents --version 1.0.1
#r "nuget: Alexa.NET.ProactiveEvents, 1.0.1"
// Install Alexa.NET.ProactiveEvents as a Cake Addin #addin nuget:?package=Alexa.NET.ProactiveEvents&version=1.0.1 // Install Alexa.NET.ProactiveEvents as a Cake Tool #tool nuget:?package=Alexa.NET.ProactiveEvents&version=1.0.1
Alexa.NET.ProactiveEvents
Small library to help with the Alexa ProactiveEvents API
Setup your skill to allow proactive events
You have to onboard your skill with the proactive events API
This is a specific process and so the best documentation is the Amazon docs on the subject
Getting a token for Proactive Events
With the client ID and secret from your Amazon developer console
var messaging = new AccessTokenClient(AccessTokenClient.ApiDomainBaseAddress);
var details = await messaging.Send("clientId","clientSecret");
var token = details.Token;
Creating a new Event
There are several event types, each in their own namespace, the simplest example is one of a Weather Alert
using Alexa.NET.ProactiveEvents.WeatherAlerts;
...
var eventToSend = new WeatherAlert(WeatherAlertType.Snowstorm);
Localised Attributes
Some alerts have required fields which must be created with a string per locale for each you support. These are created as LocaleAttributes.
var localeAttribute = new LocaleAttributes();
localeAttribute.Add("en-GB","GBLocale");
localeAttribute.Add("en-US","USLocale");
or if you're only in one locale
var localeAttribute = new LocaleAttributes("en-GB","GBLocale");
var eventToSend = new WeatherAlert(WeatherAlertType.Tornado,localeAttribute);
Creating a request to a single User ID
var request = new Alexa.NET.ProactiveEvents.UserEventRequest("userId",eventToSend)
{
ExpiryTime = DateTimeOffset.Now.AddMinutes(10),
ReferenceId = Guid.NewGuid().ToString("N"),
TimeStamp = DateTimeOffset.Now,
};
Creating a request to all subscribed users
var request = new BroadcastEventRequest(eventToSend)
{
ExpiryTime = DateTimeOffset.Now.AddMinutes(10),
ReferenceId = Guid.NewGuid().ToString("N"),
TimeStamp = DateTimeOffset.Now,
};
Sending a request
var client = new ProactiveEventsClient(
ProactiveEventsClient.EuropeEndpoint, token ,true);
// Change true to false for a live environment
await client.Send(request);
Receiving events when a user changes their subscriptions
In the constructor of the function/API setup place the following code
new ProactiveSubscriptionChangedRequestHandler().AddToRequestHandler();
and then you can check your request type
if (input.Request is ProactiveSubscriptionChangedRequest request)
{
var remainingEventTypes = request.Subscriptions;
}
Product | Versions Compatible and additional computed target framework versions. |
---|---|
.NET | net5.0 was computed. net5.0-windows was computed. net6.0 was computed. net6.0-android was computed. net6.0-ios was computed. net6.0-maccatalyst was computed. net6.0-macos was computed. net6.0-tvos was computed. net6.0-windows was computed. net7.0 was computed. net7.0-android was computed. net7.0-ios was computed. net7.0-maccatalyst was computed. net7.0-macos was computed. net7.0-tvos was computed. net7.0-windows was computed. net8.0 was computed. net8.0-android was computed. net8.0-browser was computed. net8.0-ios was computed. net8.0-maccatalyst was computed. net8.0-macos was computed. net8.0-tvos was computed. net8.0-windows was computed. |
.NET Core | netcoreapp1.0 was computed. netcoreapp1.1 was computed. netcoreapp2.0 was computed. netcoreapp2.1 was computed. netcoreapp2.2 was computed. netcoreapp3.0 was computed. netcoreapp3.1 was computed. |
.NET Standard | netstandard1.6 is compatible. netstandard2.0 was computed. netstandard2.1 was computed. |
.NET Framework | net461 was computed. net462 was computed. net463 was computed. net47 was computed. net471 was computed. net472 was computed. net48 was computed. net481 was computed. |
MonoAndroid | monoandroid was computed. |
MonoMac | monomac was computed. |
MonoTouch | monotouch was computed. |
Tizen | tizen30 was computed. tizen40 was computed. tizen60 was computed. |
Xamarin.iOS | xamarinios was computed. |
Xamarin.Mac | xamarinmac was computed. |
Xamarin.TVOS | xamarintvos was computed. |
Xamarin.WatchOS | xamarinwatchos was computed. |
-
.NETStandard 1.6
- Alexa.NET (>= 1.5.7)
- NETStandard.Library (>= 1.6.1)
NuGet packages
This package is not used by any NuGet packages.
GitHub repositories
This package is not used by any popular GitHub repositories.
Update occassion confirmation status from Requested to Received