4

私はこのリンクをたどっていますが、GCM API にメッセージを送信した後、私の Android は空のメッセージ (値が に設定されていますnull) を受け取ります。

これは、GCM API にメッセージを送信する私の Django ビューです。

@csrf_exempt
def send_notification(request):
    message = {"name": "Kousik","email": "kousik.tict@gmail.com"}
    registration_ids = ['xxxxxxxxxxxxxxx','xxxxxxxxxxxxxxxxxx']
    post_data = {"data":message,"registration_ids":registration_ids}
    headers = {'Content-Type': 'application/json', 'Authorization':'key=xxxxxxxxx'}
    import requests    
    post_response = requests.post(url='https://android.googleapis.com/gcm/send', data=simplejson.dumps(post_data), headers=headers)
    to_json = {'status':str(post_response)}
    return HttpResponse(simplejson.dumps(to_json), mimetype='application/json')

ただし、トラフィック レポートには、メッセージがまったく送信されていないことが示されています。

ここに画像の説明を入力

GCM メッセージを受信する Android コード:

static final String EXTRA_MESSAGE = "message";
private final BroadcastReceiver mHandleMessageReceiver = new BroadcastReceiver() {
    @Override
    public void onReceive(Context context, Intent intent) {
        Bundle bundle = intent.getExtras();
        for(String key: bundle.keySet()){
            Log.d("gen", key+" - "+bundle.get(key));
        }


        String newMessage = intent.getExtras().getString(EXTRA_MESSAGE);
        //newMessage comming NULL
        // Waking up mobile if it is sleeping
        WakeLocker.acquire(getApplicationContext());


        // Showing received message
        lblMessage.append(newMessage + "\n");           
        Toast.makeText(getApplicationContext(), "New Message: " + newMessage, Toast.LENGTH_LONG).show();

        // Releasing wake lock
        WakeLocker.release();
    }
};

ここにブレークポイントを置き、次のようになりました。

ここに画像の説明を入力

messageハッシュマップの値に注意してくださいnull

4

1 に答える 1