如何通过Windows Azure的GCM通过唯一ID发送特定Android设备的通知?

时间:2014-07-16 12:58:33

标签: android push-notification google-cloud-messaging android-notifications azure-mobile-services

我已经使用azure移动服务向Android设备做了一个简单的广播通知,我收到了所有的通知。

但是如何使用MAC-id或IMEI No(来自设备的任何唯一ID)等唯一ID向特定设备发送通知。我看过 以下链接Here,但它使用了一些TAG来获取通知。但我没有得到通知。

我的客户端代码

private void registerForNotification() {
        try {
            NotificationsManager.handleNotifications(this, SENDER_ID, ClientNotificationHandler.class);
            gcm = GoogleCloudMessaging.getInstance(this);
            String connectionString = "Endpoint=sb://notifischeduler-ns.servicebus.windows.net/;SharedAccessKeyName=DefaultFullSharedAccessSignature;SharedKey";
            hub = new NotificationHub("notifischeduler", connectionString, this);
            if(Constant.DEBUG)
            Log.d(TAG, "Hub Details >>> "+hub.getConnectionString()+"   HUB Path >> "+hub.getNotificationHubPath());
            registerWithNotificationHubs();
        } catch (Exception e) {
            e.printStackTrace();
        }
    }


    @SuppressWarnings("unchecked")
    private void registerWithNotificationHubs() {
        new AsyncTask() {
            @Override
            protected Object doInBackground(Object... params) {
                try {
                    hub.unregister();
                    String regid = gcm.register(SENDER_ID);
                    String[] devArray = {"ANDROIDMOBILE2".trim()};
                    if(Constant.DEBUG)
                        Log.d(TAG,"HuB RegID  "+regid);
                    hub.register(regid,devArray);

                } catch (Exception e) {
                    e.printStackTrace();
                    return e;
                }
                return null;
            }
        }.execute(null, null, null);
    }

devArray我需要传递唯一身份证明。怎么做到这一点?

感谢您的帮助!

2 个答案:

答案 0 :(得分:0)

GCM注册ID是识别Android设备的唯一ID ...

String regId = GCMRegistrar.getRegistrationId(this);

答案 1 :(得分:0)

GCM注册ID是识别任何Android设备的唯一ID

GoogleCloudMessaging gcm = GoogleCloudMessaging.getInstance(this);
regId = getRegistrationId(context);

然后向regId(一个独特的Android设备)发送通知。