[go: nahoru, domu]

Skip to content

Commit

Permalink
Closes #153. Add additional FCM options for Android Notification (#203)
Browse files Browse the repository at this point in the history
* Add additional FCM Android notification options

* Add additional FCM Android notification options
  • Loading branch information
levimatheri committed Nov 11, 2021
1 parent 49e684d commit 0547948
Show file tree
Hide file tree
Showing 5 changed files with 592 additions and 0 deletions.
67 changes: 67 additions & 0 deletions FirebaseAdmin/FirebaseAdmin.Tests/Messaging/MessageTest.cs
Original file line number Diff line number Diff line change
Expand Up @@ -274,6 +274,23 @@ public void AndroidConfig()
BodyLocKey = "body-loc-key",
BodyLocArgs = new List<string>() { "arg3", "arg4" },
ChannelId = "channel-id",
Ticker = "ticker",
Sticky = false,
EventTimestamp = DateTime.Parse("2020-06-27T16:29:06.032691000-04:00"),
LocalOnly = true,
Priority = AndroidNotification.PriorityType.HIGH,
VibrateTimingsMillis = new long[] { 1000L, 1001L },
DefaultVibrateTimings = false,
DefaultSound = true,
LightSettings = new LightSettings
{
Color = new LightSettingsColor { Red = 0.2f, Green = 0.4f, Blue = 0.6f },
LightOnDurationMillis = 1002L,
LightOffDurationMillis = 1003L,
},
DefaultLightSettings = false,
Visibility = AndroidNotification.VisibilityType.PUBLIC,
NotificationCount = 10,
},
FcmOptions = new AndroidFcmOptions()
{
Expand Down Expand Up @@ -308,6 +325,23 @@ public void AndroidConfig()
{ "body_loc_key", "body-loc-key" },
{ "body_loc_args", new JArray() { "arg3", "arg4" } },
{ "channel_id", "channel-id" },
{ "ticker", "ticker" },
{ "sticky", false },
{ "local_only", true },
{ "default_vibrate_timings", false },
{ "default_sound", true },
{
"light_settings", new JObject()
{
{ "color", "#336699" }, { "light_on_duration", "1.002000000s" }, { "light_off_duration", "1.003000000s" },
}
},
{ "default_light_settings", false },
{ "notification_count", 10 },
{ "notification_priority", "PRIORITY_HIGH" },
{ "visibility", "PUBLIC" },
{ "vibrate_timings", new JArray() { "1s", "1.001000000s" } },
{ "event_time", "2020-06-27T20:29:06.032691000Z" },
}
},
{
Expand Down Expand Up @@ -378,6 +412,7 @@ public void AndroidConfigDeserialization()
Notification = new AndroidNotification()
{
Title = "title",
EventTimestamp = DateTime.Parse("2020-06-27T20:29:06.032691000Z"),
},
};
var json = NewtonsoftJsonSerializer.Instance.Serialize(original);
Expand Down Expand Up @@ -422,6 +457,23 @@ public void AndroidNotificationDeserialization()
BodyLocKey = "body-loc-key",
BodyLocArgs = new List<string>() { "arg3", "arg4" },
ChannelId = "channel-id",
Ticker = "ticker",
Sticky = false,
EventTimestamp = DateTime.Parse("2020-06-27T16:29:06.032691000-04:00"),
LocalOnly = true,
Priority = AndroidNotification.PriorityType.HIGH,
VibrateTimingsMillis = new long[] { 1000L, 1001L },
DefaultVibrateTimings = false,
DefaultSound = true,
LightSettings = new LightSettings
{
Color = new LightSettingsColor { Red = 0.2F, Green = 0.4F, Blue = 0.6F, Alpha = 1.0F },
LightOnDurationMillis = 1002L,
LightOffDurationMillis = 1003L,
},
DefaultLightSettings = false,
Visibility = AndroidNotification.VisibilityType.PUBLIC,
NotificationCount = 10,
};
var json = NewtonsoftJsonSerializer.Instance.Serialize(original);
var copy = NewtonsoftJsonSerializer.Instance.Deserialize<AndroidNotification>(json);
Expand All @@ -438,6 +490,21 @@ public void AndroidNotificationDeserialization()
Assert.Equal(original.BodyLocKey, copy.BodyLocKey);
Assert.Equal(original.BodyLocArgs, copy.BodyLocArgs);
Assert.Equal(original.ChannelId, copy.ChannelId);
Assert.Equal(original.Ticker, copy.Ticker);
Assert.Equal(original.Sticky, copy.Sticky);
Assert.Equal(original.EventTimestamp, copy.EventTimestamp);
Assert.Equal(original.LocalOnly, copy.LocalOnly);
Assert.Equal(original.Priority, copy.Priority);
Assert.Equal(original.VibrateTimingsMillis, copy.VibrateTimingsMillis);
Assert.Equal(original.DefaultVibrateTimings, copy.DefaultVibrateTimings);
Assert.Equal(original.DefaultSound, copy.DefaultSound);
Assert.Equal(original.LightSettings.Color.Red, copy.LightSettings.Color.Red);
Assert.Equal(original.LightSettings.Color.Blue, copy.LightSettings.Color.Blue);
Assert.Equal(original.LightSettings.Color.Green, copy.LightSettings.Color.Green);
Assert.Equal(original.LightSettings.Color.Alpha, copy.LightSettings.Color.Alpha);
Assert.Equal(original.DefaultLightSettings, copy.DefaultLightSettings);
Assert.Equal(original.Visibility, copy.Visibility);
Assert.Equal(original.NotificationCount, copy.NotificationCount);
}

[Fact]
Expand Down
Loading

0 comments on commit 0547948

Please sign in to comment.