我有一个 Xamarin Android 应用程序,它使用 Azure 通知中心和 Xamarin Azure Messenging 组件。如果我只是用一些标签注册设备,根据示例代码,一切正常。如果我使用命名模板注册设备,注册方法会抛出 NotificationHubException 异常。 Xamarin.iOS 的等效代码工作得很好。
此代码有效:
protected override void OnRegistered(Context context, string registrationId)
{
if (hub != null)
{
List<string> tags = new List<string>();
tags.Add("test1");
tags.Add("test2");
hub.Register(registrationId, tags.ToArray());
}
}
这段代码抛出异常
protected override void OnRegistered(Context context, string registrationId)
{
if (hub != null)
{
List<string> tags = new List<string>();
tags.Add("test1");
tags.Add("test2");
var alerts = "{\"data\":{\"message\":\"$(message)\",\"title\":\"$(title)\"}}";
hub.RegisterTemplate(registrationId, alerts, "alerts", tags.ToArray());
}
}
调用 RegisterTemplate 时,它会抛出 WindowsAzure.Messaging.NotificationHubException 异常和以下数据包
<Error>
<Code>400</Code>
<Detail>Encountered unexpected character 'a'. TrackingId:bcecaffa-XXXX-XXXX-XXXX-XXXXXXXXX,TimeStamp:3/12/2015 3:55:06 PM</Detail>
</Error>
我是否正确调用了 RegisterTemplate?
最佳答案
我相信您已经交换了参数 2 和 3。 试试这个:
hub.RegisterTemplate(registrationId, "alerts", alerts, tags.ToArray());
关于android - 无法在 Android 上使用 Xamarin Azure Messaging 组件注册推送通知模板,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/29019603/