我有一个xamarin应用程序,该应用程序将通过Azure函数及其通知中心进行输出绑定。
在xamarin应用中,我有一个Android服务,该服务获取令牌并将其存储在缓存中
[Service]
[IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
public class MyFirebaseIIDService : FirebaseInstanceIdService
{
private App _app => (App)Xamarin.Forms.Application.Current;
private readonly ICachingService _cachingService;
public MyFirebaseIIDService()
{
var xx = typeof(ICachingService);
_cachingService = (CachingService)App.Instance.Container.Resolve(xx);
}
public override void OnTokenRefresh()
{
var refreshedToken = FirebaseInstanceId.Instance.Token;
_cachingService.FireBaseToken = refreshedToken;
Console.WriteLine($"Token received: {refreshedToken}");
// SendRegistrationToServerAsync(refreshedToken);
}
}
用户登录后,我想使用其ID作为标签,然后调用另一个试图使用此标签注册设备的android服务
var client = new MobileServiceClient(App.MobileServiceUrl);
var push = client.GetPush();
var reg = new Registration(token, tags);
await push.RegisterAsync(reg);
在这一点上,我有包含userId的标记和标签列表,因为稍后我希望该用户仅获得仅针对他们的通知。
在push.RegisterAsyn方法上,我得到一个错误。
您要查找的资源已被删除,名称已更改或暂时不可用。
请注意,App.MobileServiceUrl是连接到通知中心的Azure移动应用程序的URL
除此之外,此Azure移动应用程序仅具有默认的TODO控制器以及模板随附的所有内容。使用通知中心输出绑定,我的发送通知代码将处于azure函数中。
我也更新了所有与天蓝色有关的细节 它会尝试点击此网址进行注册。 https://xxxx.azurewebsites.net/push/registrations?deviceId=dTd4wba1KTU:APA91bHKOZRX9LFzEGD-yqyz4p-whqh6UsoEAlgpFHfBxu00MhLo-------yyyyyyyyyyyyyyyyeuoRmH4h9czeQbvGRgbwt4zMlrvRIlvLDZ-kTu_Dcu2iHx9I5u0gheQQ3Z2tYq66O&platform=gcm
答案 0 :(得分:1)
我使用了错误的nuget。我不得不使用
Microsoft.Azure.Mobile.Client
相反,我使用的是Azure移动服务nuget。
都有MobileServiceClient类,这就是为什么我感到困惑的原因。现在我没有例外。