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 | ||||
| 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. | ||||
|  |  | |||
|  | @ -81,6 +81,13 @@ func toFirebaseMessage(m *message, auther auth.Auther) (*messaging.Message, erro | |||
| 				"message":  m.Message, | ||||
| 				"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 { | ||||
| 				data["attachment_name"] = m.Attachment.Name | ||||
| 				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 (!) | ||||
| 	Headers map[string]string `json:"headers,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 | ||||
| } | ||||
| 
 | ||||
|  |  | |||
		Loading…
	
	Add table
		Add a link
		
	
		Reference in a new issue