Warning: file_get_contents(/data/phpspider/zhask/data//catemap/3/android/214.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181

Warning: file_get_contents(/data/phpspider/zhask/data//catemap/0/azure/12.json): failed to open stream: No such file or directory in /data/phpspider/zhask/libs/function.php on line 167

Warning: Invalid argument supplied for foreach() in /data/phpspider/zhask/libs/tag.function.php on line 1116

Notice: Undefined index: in /data/phpspider/zhask/libs/function.php on line 180

Warning: array_chunk() expects parameter 1 to be array, null given in /data/phpspider/zhask/libs/function.php on line 181
通过使用azure移动服务(.Net后端)发送特定于android设备的推送通知_Android_Azure_Azure Mobile Services - Fatal编程技术网

通过使用azure移动服务(.Net后端)发送特定于android设备的推送通知

通过使用azure移动服务(.Net后端)发送特定于android设备的推送通知,android,azure,azure-mobile-services,Android,Azure,Azure Mobile Services,我的问题和这个一样: 但我使用的是.Net后端。这是我发送通知的部分: Dictionary<string, string> data = new Dictionary<string, string>() { { "message", "this is the message" } }; GooglePushMessage message = new GooglePushMessage(data, TimeSpan.FromHours(1)); Services.Pu

我的问题和这个一样:

但我使用的是.Net后端。这是我发送通知的部分:

Dictionary<string, string> data = new Dictionary<string, string>() { { "message", "this is the message" } };
GooglePushMessage message = new GooglePushMessage(data, TimeSpan.FromHours(1));

Services.Push.SendAsync(message);
结果是它忽略了registration\u id属性,因为我仍然在我的设备上收到通知


我想要实现的是从第三方获取API调用,并使用我存储在数据库中的注册ID向特定设备发送通知。

移动服务使用通知集线器处理推送通知。通知中心使用标签系统过滤推送(即,目标推送至特定设备、用户等)。因此,如果您希望能够推送到特定的Android注册ID,当设备向您的移动服务注册推送通知时,您应该指定要将您的注册绑定到的标签,例如:

ToDoActivity.mClient.getPush().register(gcmRegistrationId, "tag1", "tag2");
如果您想取消注册ID,您可以使用该ID作为标记之一。然后,在.NET后端调用SendAsync时,可以指定一个标记(或标记表达式)以特定设备为目标。因此,我们对推送的呼吁变成:

Services.Push.sendsync(消息,注册ID);


上述案文不正确。标记限制为120个字符(),并且GCM注册ID太长,无法执行此操作。今天,您必须使用少于120个字符的备用标记。如果您有一个设备上已知的用户ID,您可以将其用作标记,然后从后端推送到该特定用户ID。或者,您可以在应用程序启动时生成GUID,并将其用作标记,然后在您想要到达特定设备时从后端推送到该GUID。

移动服务使用通知集线器处理推送通知。通知中心使用标签系统过滤推送(即,目标推送至特定设备、用户等)。因此,如果您希望能够推送到特定的Android注册ID,当设备向您的移动服务注册推送通知时,您应该指定要将您的注册绑定到的标签,例如:

ToDoActivity.mClient.getPush().register(gcmRegistrationId, "tag1", "tag2");
如果您想取消注册ID,您可以使用该ID作为标记之一。然后,在.NET后端调用SendAsync时,可以指定一个标记(或标记表达式)以特定设备为目标。因此,我们对推送的呼吁变成:

Services.Push.sendsync(消息,注册ID);


上述案文不正确。标记限制为120个字符(),并且GCM注册ID太长,无法执行此操作。今天,您必须使用少于120个字符的备用标记。如果您有一个设备上已知的用户ID,您可以将其用作标记,然后从后端推送到该特定用户ID。或者,您可以在应用程序启动时生成GUID,并将其用作标记,然后在您想要到达特定设备时从后端推送到该GUID。

移动服务使用通知集线器处理推送通知。通知中心使用标签系统过滤推送(即,目标推送至特定设备、用户等)。因此,如果您希望能够推送到特定的Android注册ID,当设备向您的移动服务注册推送通知时,您应该指定要将您的注册绑定到的标签,例如:

ToDoActivity.mClient.getPush().register(gcmRegistrationId, "tag1", "tag2");
如果您想取消注册ID,您可以使用该ID作为标记之一。然后,在.NET后端调用SendAsync时,可以指定一个标记(或标记表达式)以特定设备为目标。因此,我们对推送的呼吁变成:

Services.Push.sendsync(消息,注册ID);


上述案文不正确。标记限制为120个字符(),并且GCM注册ID太长,无法执行此操作。今天,您必须使用少于120个字符的备用标记。如果您有一个设备上已知的用户ID,您可以将其用作标记,然后从后端推送到该特定用户ID。或者,您可以在应用程序启动时生成GUID,并将其用作标记,然后在您想要到达特定设备时从后端推送到该GUID。

移动服务使用通知集线器处理推送通知。通知中心使用标签系统过滤推送(即,目标推送至特定设备、用户等)。因此,如果您希望能够推送到特定的Android注册ID,当设备向您的移动服务注册推送通知时,您应该指定要将您的注册绑定到的标签,例如:

ToDoActivity.mClient.getPush().register(gcmRegistrationId, "tag1", "tag2");
如果您想取消注册ID,您可以使用该ID作为标记之一。然后,在.NET后端调用SendAsync时,可以指定一个标记(或标记表达式)以特定设备为目标。因此,我们对推送的呼吁变成:

Services.Push.sendsync(消息,注册ID);


上述案文不正确。标记限制为120个字符(),并且GCM注册ID太长,无法执行此操作。今天,您必须使用少于120个字符的备用标记。如果您有一个设备上已知的用户ID,您可以将其用作标记,然后从后端推送到该特定用户ID。或者,您可以在应用程序启动时生成GUID,并将其用作标记,然后在您想要到达特定设备时从后端推送到该GUID。

您必须在该JSON对象中包含注册id(我猜,消息就是JSON对象)。在JSON对象中包含注册id不会改变结果,我可以设置一个随机注册id,但我仍然可以在我的设备上收到通知。这很有趣。除非您在json中指定注册id,否则GCM不会向所有人发送通知。发送JSON对象时一定有问题。请在发送到GCM时检查邮件内容。我已尝试