📌 Implementation of push notifications
Use push-notifications to motivate players right when they need it. Here are notification principals. Every platform and game can have their own notification options. Use this document as a guided instruction.

Unity push notification

Choose your own notification plugin, as there are many variables and options.

iOS push notification

using (var req = new AuthorizationRequest(AuthorizationOption.AuthorizationOptionAlert | AuthorizationOption.AuthorizationOptionBadge, true))
{
   while (!req.IsFinished)
   {
       yield return null;
   };

   string res = "\n RequestAuthorization: \n";
   res += "\n finished: " + req.IsFinished;
   res += "\n granted :  " + req.Granted;
   res += "\n error:  " + req.Error;
   res += "\n deviceToken:  " + req.DeviceToken;
}

var timeTrigger = new iOSNotificationTimeIntervalTrigger()
{
   TimeInterval = new TimeSpan(0, minutes, seconds),
   Repeats = false
};

var notification = new iOSNotification()
{
   Identifier = "_game_reward_level_01"
   Title = "You unlocked new reward",
   Body = "You just unlocked new level of superhero",
   Subtitle = "Just reacheed level 25 and received option to unlock new reward, check it out",
   ShowInForeground = true,
   ForegroundPresentationOption = foregoungOption,
   CategoryIdentifier = "game_category_a",
   ThreadIdentifier = thread,
   Trigger = timeTrigger,
};

iOSNotificationCenter.ScheduleNotification(notification);

Android push notification

var c = new AndroidNotificationChannel()
{
   Id = "game_channel_id",
   Name = "Game Channel",
   Importance = Importance.High,
   Description = "Generic notifications",
};