Как реализовать push-уведомления в android?

Я хочу реализовать push-уведомления в android?

Я предпочитаю не использовать существующие плагины

может ли кто-нибудь дать мне пример кода о том, как отправить сообщение

уже неделю борюсь, ни одна из моих попыток не увенчалась успехом

Это моя последняя попытка:

gcm.py

    import requests
import json


def send_gcm_message(api_key, regs_id, data, collapse_key=None):
    """
    Send a GCM message for one or more devices, using json data
    api_key: The API_KEY from your console (https://code.google.com/apis/console, locate Key for Server Apps in
        Google Cloud Messaging for Android)
    regs_id: A list with the devices which will be receiving a message
    data: The dict data which will be send
    collapse_key: A string to group messages, look at the documentation about it:
        http://developer.android.com/google/gcm/gcm.html#request
    """
    values = {
        'registration_ids': regs_id,
        'collapse_key': collapse_key,
        'data': data
    }

    values = json.dumps(values)

    headers = {
        'UserAgent': "GCM-Server",
        'Content-Type': 'application/json',
        'Authorization': 'key=' + api_key,
    }

    response = requests.post(url="https://android.googleapis.com/gcm/send",
                             data=values,
                             headers=headers)
    return response.content

views.py

import settings
from .gcm import send_gcm_message


@render_to("push/envoyer_message.html")
def send_message(request):
    if not request.user.is_authenticated():
        return HttpResponseRedirect('/client/login')
    else:
        if request.method == 'POST':
            form = MessageForm(request.POST)
            if form.is_valid():
                form.save()

                reg_id='APA91bFSIEHPOeT2I7ddCqnYtnJ-iAEQfCiR3HArUIz0t5lQUVfIOGhlEIUJCJLY7SWEdwiJCHedLNaSFi6oVqbnsci9-HmpBNiZAa86KD3349AIWMesweUqF2YbfpSBRot1tNLCITRFbYH9g5AO514s8Zzs4ABumA'
                msg='test'
                send = send_gcm_message(api_key = settings.GCM_APIKEY, regs_id=[reg_id], data={'msg': msg},collapse_key="message")

                messages.success(request, _(u'Formulaire envoyé avec succès.'))
                return HttpResponseRedirect(reverse("push-confirmation-envoi"))
        else:
            form = MessageForm()        
        return locals()

Решено

                regs_id = list()
                for device in devices_a :
                    regs_id.append(device.token_string)                    


                message = json.dumps(message)
                values = {
                    'registration_ids': regs_id,
                    'collapse_key': "message" ,
                    'data': {"message":str(msg.message)}
                }   

                headers = {
                    'UserAgent': "GCM-Server",
                    'Content-Type': 'application/json',
                    'Authorization': 'key=' + settings.GCM_APIKEY,
                }

                response = requests.post(url="https://android.googleapis.com/gcm/send",data=json.dumps(values), headers=headers)

                r = json.loads(response.content)
                msg.nbr_android_recieved = r["success"]

person Armance    schedule 27.11.2013    source источник
comment
Проведите небольшое исследование облачных сообщений Google   -  person meda    schedule 27.11.2013
comment
Это не дубликат, мой вопрос в django, плюс вопрос, о котором вы упомянули, в 2009 году, он устарел, потому что теперь есть GCM !!   -  person Armance    schedule 27.11.2013
comment
@meda Я уже сделал это, конечно, но в django я не знаю, как это реализовать, есть ли какие-то функции, которые я могу использовать?   -  person Armance    schedule 27.11.2013
comment
пожалуйста, проверьте это github.com/bogdal/django-gcm   -  person meda    schedule 27.11.2013
comment
спасибо, я взял функцию отправки сообщения и попробовал ее в своем коде, но она не сработала (см. мой заданный вопрос), хотя я получил успешный ответ (отправка): {"multicast_id":9194922683039263767,"success":1,"failure":0,"canonical_ids":0,"results":[{"message_id":"0:1385573990077514%2cad0c7a38eb0007"}]}   -  person Armance    schedule 27.11.2013
comment
Вопрос закрыт, опубликуйте новый вопрос с этим кодом, это будет действительный вопрос   -  person meda    schedule 27.11.2013
comment
@meda это новый: stackoverflow.com/questions/20262597/   -  person Armance    schedule 28.11.2013
comment
Для отправки Push через FCM используйте легкую библиотеку github.com/karanatwal/FirePush.   -  person karanatwal.github.io    schedule 10.06.2019