#createnotification
Explore tagged Tumblr posts
Photo

Enhance your Workflow with ERPNext Notifications
Take your workflow to new heights with ERPNext Notifications. Learn how to harness the customizable features to create a tailored notification system that aligns with your business needs. Stay in control, optimize decision-making, and boost productivity. Empower your teams and achieve workflow excellence with ERPNext Notifications.
#erpnextcustomizablenotification#erpnextnotification#erpnextemailnotification#erpnextdocumentation#settinguplertsinerpnext#systemnotificationinerpnext#customnotificationinerpnext#createnotification#workflowemailnotification#exportnotificationtocustomapp#systemnotifications#erpcustomization#erpnextnotificationcondition#erpnexttestnotification#customnotificationerpnext#configurealertsinerpnext#tailoringyourbusinessalertstoyourneeds#howtocustomizeerpnext
0 notes
Photo

SAP - IW26 - How to Enter a Notification https://youtu.be/cPB1Mv91fuI #SAP #Tcode #CMMS #SAPsystems #ComputerizedMaintenanceManagement #System #SAPTraining #SAPTutorials #SAPEducation #Training #SAPTransaction #Maintenance #Iw26 #CreatePMNotificationMaintenanceRequest #CreateNotification #howto #dbms #services #consultant #YouTube #EliteVisionTechnology @elitevisiontechnology (at Indiana) https://www.instagram.com/p/BuBgt0dBLSy/?utm_source=ig_tumblr_share&igshid=11d0goeaksjwl
#sap#tcode#cmms#sapsystems#computerizedmaintenancemanagement#system#saptraining#saptutorials#sapeducation#training#saptransaction#maintenance#iw26#createpmnotificationmaintenancerequest#createnotification#howto#dbms#services#consultant#youtube#elitevisiontechnology
0 notes
Text
Create a Xamarin.Forms  Todo app with C#  backend  (part 3.2) : push notification
This tutorial shows you how to add a cloud-based backend service to a Xamarin.Forms mobile app using an Azure Mobile App backend. You will create both a new Mobile App backend and a simple Todo list Xamarin.Forms app that stores app data in Azure. part 3 of a cross platform mobile application using xamarin.forms
youtube
Configure and run the Android project (optional)
Enable Firebase Cloud Messaging (FCM)
Sign in to the Firebase console. Create a new Firebase project if you don't already have one.
After your project is created, click Add Firebase to your Android app and follow the instructions provided.
In the Firebase console, click the cog for your project and then click Project Settings.
Click the Cloud Messaging tab in your project settings, and copy the value of the Server key and Sender ID. These values will be used later to configure the notification hub access policy, and your notification handler in the app
Configure the Mobile Apps back end to send push requests by using FCM
in the Azure portal, click Browse All > App Services, and click your Mobile Apps back end. Under Settings, click App Service Push, and then click your notification hub name.
Go to Google (GCM), enter the FCM server key you obtained from the Firebase console, and then click Save
Your service is now configured to work with Firebase Cloud Messaging.
Add push notifications to the Android project
Add Google Cloud Messaging Client component
Open the MainActivity.cs project file, and add the following statement at the top of the file:
using Gcm.Client;
Add the following code to the OnCreate method after the call to LoadApplication:
try { // Check to ensure everything's set up right GcmClient.CheckDevice(this); GcmClient.CheckManifest(this); // Register for push notifications System.Diagnostics.Debug.WriteLine("Registering..."); GcmClient.Register(this, PushHandlerBroadcastReceiver.SENDER_IDS); } catch (Java.Net.MalformedURLException) { CreateAndShowDialog("There was an error creating the client. Verify the URL.", "Error"); } catch (Exception e) { CreateAndShowDialog(e.Message, "Error"); }
Add a new CreateAndShowDialog helper method
private void CreateAndShowDialog(String message, String title) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.SetMessage (message); builder.SetTitle (title); builder.Create().Show (); }
Add a new CreateAndShowDialog helper method :
private void CreateAndShowDialog(String message, String title) { AlertDialog.Builder builder = new AlertDialog.Builder(this); builder.SetMessage (message); builder.SetTitle (title); builder.Create().Show (); }
Add the following code to the MainActivity class:
// Create a new instance field for this activity. static MainActivity instance = null; // Return the current activity instance. public static MainActivity CurrentActivity { get { return instance; } }
After that initialize the instance variable at the beginning of the OnCreate method.
Add a new class file to the Droid project named GcmService.cs and add the following permission requests at the top of the file, after the using statements and before the namespace declaration :
[assembly: Permission(Name = "@[email protected]_MESSAGE")] [assembly: UsesPermission(Name = "@[email protected]_MESSAGE")] [assembly: UsesPermission(Name = "com.google.android.c2dm.permission.RECEIVE")] [assembly: UsesPermission(Name = "android.permission.INTERNET")] [assembly: UsesPermission(Name = "android.permission.WAKE_LOCK")] //GET_ACCOUNTS is only needed for android versions 4.0.3 and below [assembly: UsesPermission(Name = "android.permission.GET_ACCOUNTS")]
Add the following class definition to the namespace :
[BroadcastReceiver(Permission = Gcm.Client.Constants.PERMISSION_GCM_INTENTS)] [IntentFilter(new string[] { Gcm.Client.Constants.INTENT_FROM_GCM_MESSAGE }, Categories = new string[] { "@PACKAGE_NAME@" })] [IntentFilter(new string[] { Gcm.Client.Constants.INTENT_FROM_GCM_REGISTRATION_CALLBACK }, Categories = new string[] { "@PACKAGE_NAME@" })] [IntentFilter(new string[] { Gcm.Client.Constants.INTENT_FROM_GCM_LIBRARY_RETRY }, Categories = new string[] { "@PACKAGE_NAME@" })] public class PushHandlerBroadcastReceiver : GcmBroadcastReceiverBase { public static string[] SENDER_IDS = new string[] { "" }; }
Replace the empty GcmService class with the following code :
[Service] public class GcmService : GcmServiceBase { public static string RegistrationID { get; private set; } public GcmService() : base(PushHandlerBroadcastReceiver.SENDER_IDS){} }
Add the following code to the GcmService class :
protected override void OnRegistered(Context context, string registrationId) { Log.Verbose("PushHandlerBroadcastReceiver", "GCM Registered: " + registrationId); RegistrationID = registrationId; var push = TodoItemManager.DefaultManager.CurrentClient.GetPush(); MainActivity.CurrentActivity.RunOnUiThread(() => Register(push, null)); } public async void Register(Microsoft.WindowsAzure.MobileServices.Push push, IEnumerable tags) { try { const string templateBodyGCM = "{\"data\":{\"message\":\"$(messageParam)\"}}"; JObject templates = new JObject(); templates["genericMessage"] = new JObject { {"body", templateBodyGCM} }; await push.RegisterAsync(RegistrationID, templates); Log.Info("Push Installation Id", push.InstallationId.ToString()); } catch (Exception ex) { System.Diagnostics.Debug.WriteLine(ex.Message); Debugger.Break(); } } Note that this code uses the `messageParam` parameter in the template registration.
Add the following code that implements OnMessage:
protected override void OnMessage(Context context, Intent intent) { Log.Info("PushHandlerBroadcastReceiver", "GCM Message Received!"); var msg = new StringBuilder(); if (intent != null && intent.Extras != null) { foreach (var key in intent.Extras.KeySet()) msg.AppendLine(key + "=" + intent.Extras.Get(key).ToString()); } //Store the message var prefs = GetSharedPreferences(context.PackageName, FileCreationMode.Private); var edit = prefs.Edit(); edit.PutString("last_msg", msg.ToString()); edit.Commit(); string message = intent.Extras.GetString("message"); if (!string.IsNullOrEmpty(message)) { createNotification("New todo item!", "Todo item: " + message); return; } string msg2 = intent.Extras.GetString("msg"); if (!string.IsNullOrEmpty(msg2)) { createNotification("New hub message!", msg2); return; } createNotification("Unknown message details", msg.ToString()); } void createNotification(string title, string desc) { //Create notification var notificationManager = GetSystemService(Context.NotificationService) as NotificationManager; //Create an intent to show ui var uiIntent = new Intent(this, typeof(MainActivity)); //Use Notification Builder NotificationCompat.Builder builder = new NotificationCompat.Builder(this); //Create the notification //we use the pending intent, passing our ui intent over which will get called //when the notification is tapped. var notification = builder.SetContentIntent(PendingIntent.GetActivity(this, 0, uiIntent, 0)) .SetSmallIcon(Android.Resource.Drawable.SymActionEmail) .SetTicker(title) .SetContentTitle(title) .SetContentText(desc) //Set the notification sound .SetSound(RingtoneManager.GetDefaultUri(RingtoneType.Notification)) //Auto cancel will remove the notification once the user touches it .SetAutoCancel(true).Build(); //Show the notification notificationManager.Notify(1, notification); }
GcmServiceBase also requires you to implement the OnUnRegistered and OnError handler methods :
protected override void OnUnRegistered(Context context, string registrationId) { Log.Error("PushHandlerBroadcastReceiver", "Unregistered RegisterationId : " + registrationId); } protected override void OnError(Context context, string errorId) { Log.Error("PushHandlerBroadcastReceiver", "GCM Error: " + errorId); }
(adsbygoogle = window.adsbygoogle || []).push({});
0 notes
Link
Discover the power of ERPNext Notifications in our latest blog post. Learn how to customize your business alerts to match your unique needs, optimize workflows, and stay ahead of important events. Tailor your notifications for enhanced productivity and seamless operations. Read now and unlock the full potential of tailored alerts in ERPNext.
#erpnextcustomizablenotification#erpnextnotification#erpnextemailnotification#erpnextdocumentation#settinguplertsinerpnext#systemnotificationinerpnext#customnotificationinerpnext#createnotification#workflowemailnotification#exportnotificationtocustomapp#systemnotifications#erpcustomization#erpnextnotificationcondition#erpnexttestnotification#customnotificationerpnext#configurealertsinerpnext#tailoringyourbusinessalertstoyourneeds#howtocustomizeerpnext
0 notes