Docs (WIP), Firebase
This commit is contained in:
		
							parent
							
								
									5a9b2122c2
								
							
						
					
					
						commit
						3c3b2477af
					
				
					 3 changed files with 104 additions and 0 deletions
				
			
		|  | @ -877,6 +877,102 @@ Here's an example that will open Reddit when the notification is clicked: | ||||||
|     ])); |     ])); | ||||||
|     ``` |     ``` | ||||||
| 
 | 
 | ||||||
|  | ## User actions | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
|  | === "`view` action" | ||||||
|  |     ``` json | ||||||
|  |     {  | ||||||
|  |       "action": "view",  | ||||||
|  |       "label": "Open bing.com",  | ||||||
|  |       "url": "https://bing.com" | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | === "`broadcast` action" | ||||||
|  |     ``` json | ||||||
|  |     {  | ||||||
|  |       "action": "broadcast",  | ||||||
|  |       "label": "Send broadcast",  | ||||||
|  |       "intent": "io.heckel.ntfy.USER_ACTION", | ||||||
|  |       "extras": { | ||||||
|  |         "param": "this is a param", | ||||||
|  |         "anotherparam": "this is another one" | ||||||
|  |       } | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | === "`http` action" | ||||||
|  |     ``` json | ||||||
|  |     {  | ||||||
|  |       "action": "http",  | ||||||
|  |       "label": "Take picture",  | ||||||
|  |       "method": "POST", | ||||||
|  |       "url": "https://homecam.lan/capture", | ||||||
|  |       "headers": { | ||||||
|  |         "Authorization": "..." | ||||||
|  |       }, | ||||||
|  |       "body": "this is a message" | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | Examples: | ||||||
|  | 
 | ||||||
|  | === "Open a website" | ||||||
|  |     ``` json | ||||||
|  |     {  | ||||||
|  |       "action": "view",  | ||||||
|  |       "label": "Open bing.com",  | ||||||
|  |       "url": "https://bing.com" | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | === "Open location in Google Maps" | ||||||
|  |     ``` json | ||||||
|  |     {  | ||||||
|  |       "action": "view",  | ||||||
|  |       "label": "Show map",  | ||||||
|  |       "url": "geo:0,0?q=1600+Amphitheatre+Parkway,+Mountain+View,+California" | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | === "Open a ntfy topic (deep link)" | ||||||
|  |     ``` json | ||||||
|  |     { | ||||||
|  |       "action": "view", | ||||||
|  |       "label": "Show stats", | ||||||
|  |       "url": "ntfy://ntfy.sh/stats" | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | === "Send broadcast" | ||||||
|  |     ``` json | ||||||
|  |     { | ||||||
|  |       "action": "broadcast", | ||||||
|  |       "label": "Send broadcast", | ||||||
|  |       "intent": "my.custom.intent", | ||||||
|  |       "extras": { | ||||||
|  |         "message": "whats up, hello" | ||||||
|  |       } | ||||||
|  |     }   | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | === "Send a ntfy message" | ||||||
|  |     ``` json | ||||||
|  |     {  | ||||||
|  |       "action": "http",  | ||||||
|  |       "label": "Send message",  | ||||||
|  |       "method": "POST", | ||||||
|  |       "url": "http://ntfy.example.com/mytopic", | ||||||
|  |       "headers": { | ||||||
|  |         "Title": "another message", | ||||||
|  |         "Tags": "tag1, tag2" | ||||||
|  |       }, | ||||||
|  |       "body": "this is a message" | ||||||
|  |     } | ||||||
|  |     ``` | ||||||
|  | 
 | ||||||
|  | 
 | ||||||
| ## Attachments | ## Attachments | ||||||
| You can **send images and other files to your phone** as attachments to a notification. The attachments are then downloaded | You can **send images and other files to your phone** as attachments to a notification. The attachments are then downloaded | ||||||
| onto your phone (depending on size and setting automatically), and can be used from the Downloads folder. | onto your phone (depending on size and setting automatically), and can be used from the Downloads folder. | ||||||
|  |  | ||||||
|  | @ -81,6 +81,13 @@ func toFirebaseMessage(m *message, auther auth.Auther) (*messaging.Message, erro | ||||||
| 				"message":  m.Message, | 				"message":  m.Message, | ||||||
| 				"encoding": m.Encoding, | 				"encoding": m.Encoding, | ||||||
| 			} | 			} | ||||||
|  | 			if len(m.Actions) > 0 { | ||||||
|  | 				actions, err := json.Marshal(m.Actions) | ||||||
|  | 				if err != nil { | ||||||
|  | 					return nil, err | ||||||
|  | 				} | ||||||
|  | 				data["actions"] = string(actions) | ||||||
|  | 			} | ||||||
| 			if m.Attachment != nil { | 			if m.Attachment != nil { | ||||||
| 				data["attachment_name"] = m.Attachment.Name | 				data["attachment_name"] = m.Attachment.Name | ||||||
| 				data["attachment_type"] = m.Attachment.Type | 				data["attachment_type"] = m.Attachment.Type | ||||||
|  |  | ||||||
|  | @ -53,6 +53,7 @@ type action struct { | ||||||
| 	Method  string            `json:"method,omitempty"`  // used in "http" action, default is POST (!) | 	Method  string            `json:"method,omitempty"`  // used in "http" action, default is POST (!) | ||||||
| 	Headers map[string]string `json:"headers,omitempty"` // used in "http" action | 	Headers map[string]string `json:"headers,omitempty"` // used in "http" action | ||||||
| 	Body    string            `json:"body,omitempty"`    // used in "http" action | 	Body    string            `json:"body,omitempty"`    // used in "http" action | ||||||
|  | 	Intent  string            `json:"intent,omitempty"`  // used in "broadcast" action | ||||||
| 	Extras  map[string]string `json:"extras,omitempty"`  // used in "broadcast" action | 	Extras  map[string]string `json:"extras,omitempty"`  // used in "broadcast" action | ||||||
| } | } | ||||||
| 
 | 
 | ||||||
|  |  | ||||||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue