所以我正在使用Azure通知中心,并且我遵循了他们的教程,他们提到使用FCM for Android,配置它并使用他们的API密钥,并为iOS创建一个证书,它完美无缺
但问题是我正在处理 Xamarin 表单,我想知道我是否可以通过 API 手动进行注册,并且我已经在我的 API 服务中编写了一个方法来执行此操作
public async Task<string> RegisterDevice([FromBody] string handle = null)
{
string newRegistrationId = null;
//newRegistrationId = await hub.CreateRegistrationIdAsync();
//// make sure there are no existing registrations for this push handle (used for iOS and Android)
//if (handle != null)
//{
// var registrations = await hub.GetRegistrationsByChannelAsync(handle, 100);
// foreach (var registration in registrations)
// {
// if (newRegistrationId == null)
// {
// newRegistrationId = registration.RegistrationId;
// }
// else
// {
// await hub.DeleteRegistrationAsync(registration);
// }
// }
//}
newRegistrationId = await hub.CreateRegistrationIdAsync();
return newRegistrationId;
}
但是我无法理解设备如何链接到此注册ID和/或什么是pns句柄,我知道缩写,但我不知道在这种情况下如何使用它,或者是否有必要? 任何帮助将不胜感激
在注册 Azure 通知中心时,如果要在登录后请求推送权限,则必须在登录后调用RegisterForRemoteNotifications();
(iOS(和CreateNotificationChannel();
(Android(。 你要问的需要几个步骤—— 您必须创建这样的 DependencyService,这将需要创建一个像IPushRegistrationService
这样的接口,其中包含一个基本上在登录后调用的RegisterForPush()
函数:
var pushService = DependencyService.Get<IPushRegistrationService>();
pushService.RegisterForPush();