Adds send each snippets. (#891) · firebase/firebase-admin-python@363166b
@@ -245,6 +245,29 @@ def send_all():
245245# [END send_all]
246246247247248+def send_each():
249+registration_token = 'YOUR_REGISTRATION_TOKEN'
250+# [START send_each]
251+# Create a list containing up to 500 messages.
252+messages = [
253+messaging.Message(
254+notification=messaging.Notification('Price drop', '5% off all electronics'),
255+token=registration_token,
256+ ),
257+# ...
258+messaging.Message(
259+notification=messaging.Notification('Price drop', '2% off all books'),
260+topic='readers-club',
261+ ),
262+ ]
263+264+response = messaging.send_each(messages)
265+# See the BatchResponse reference documentation
266+# for the contents of response.
267+print('{0} messages were sent successfully'.format(response.success_count))
268+# [END send_each]
269+270+248271def send_multicast():
249272# [START send_multicast]
250273# Create a list containing up to 500 registration tokens.
@@ -289,3 +312,28 @@ def send_multicast_and_handle_errors():
289312failed_tokens.append(registration_tokens[idx])
290313print('List of tokens that caused failures: {0}'.format(failed_tokens))
291314# [END send_multicast_error]
315+316+317+def send_each_for_multicast_and_handle_errors():
318+# [START send_each_for_multicast_error]
319+# These registration tokens come from the client FCM SDKs.
320+registration_tokens = [
321+'YOUR_REGISTRATION_TOKEN_1',
322+# ...
323+'YOUR_REGISTRATION_TOKEN_N',
324+ ]
325+326+message = messaging.MulticastMessage(
327+data={'score': '850', 'time': '2:45'},
328+tokens=registration_tokens,
329+ )
330+response = messaging.send_each_for_multicast(message)
331+if response.failure_count > 0:
332+responses = response.responses
333+failed_tokens = []
334+for idx, resp in enumerate(responses):
335+if not resp.success:
336+# The order of responses corresponds to the order of the registration tokens.
337+failed_tokens.append(registration_tokens[idx])
338+print('List of tokens that caused failures: {0}'.format(failed_tokens))
339+# [END send_each_for_multicast_error]