如何以 xamarin 形式获取 android 和 IOS 设备令牌?

Posted

技术标签:

【中文标题】如何以 xamarin 形式获取 android 和 IOS 设备令牌?【英文标题】:How to get android and IOS device token in xamarin forms? 【发布时间】:2017-09-07 21:29:10 【问题描述】:

我需要这两个令牌...我正在使用 PushNotification 插件...我知道它返回令牌...但我认为文档非常糟糕...我不需要显示通知...我只需要令牌......只有它 有人能救我吗???我真的需要它。我需要在应用程序开发人员中进行一些配置吗? 我已经获得了 android 的发件人 ID,并且我在两个中都初始化了插件:AppDelegate 和 MainActivity 帮助 PLEEEAAAAAAASE

我在 pcl 中的课

using PushNotification.Plugin;
using System;
using System.Collections.Generic;
using System.Linq;
using System.Text;
using System.Threading.Tasks;
using Newtonsoft.Json.Linq;
using PushNotification.Plugin.Abstractions;

namespace neoFly_Montana

public class PushNot : IPushNotificationListener

    public void OnError(string message, DeviceType deviceType)
    
        throw new NotImplementedException();
    

    public void OnMessage(JObject values, DeviceType deviceType)
    
        throw new NotImplementedException(); 
    

    public void OnRegistered(string token, DeviceType deviceType)
    
        throw new NotImplementedException();
    

    public void OnUnregistered(DeviceType deviceType)
    
        throw new NotImplementedException();
    

    public bool ShouldShowNotification()
    
        throw new NotImplementedException();
    


【问题讨论】:

嗨乔伊斯!我不推荐使用 PushNotificationPlugin。您不会从抽象中获得太多收益,并且很容易添加代码来处理没有它的推送通知。更好的工具是 Mobile Center Push SDK,mobile.azure.com。 Mobile Center 让管理推送通知变得超级简单。 【参考方案1】:

一旦设备在 APNS 或 GCM/FCM 中注册,Google 和 Apple 都会通过 OnRegistered 方法向您发送令牌。

OnRegistered 中,您可以添加逻辑来保存令牌。

public void OnRegistered(string token, DeviceType deviceType)

    //use token here

【讨论】:

是的..我知道...我正在使用 CrossPushNotification.Current.Register();为了尝试调用它...但我有一个未处理的异常...我不知道原因 这不好玩。编辑问题并发布错误/堆栈跟踪,我会看看! 在哪里可以看到未处理异常的原因?我的 try catch 没有得到它... 我认为问题可能出在 android 发件人 id...但我只需要确认它 ios中没有异常,当应用程序初始化时有一条消息允许推送通知......但是,它也不调用onregistered方法......

以上是关于如何以 xamarin 形式获取 android 和 IOS 设备令牌?的主要内容,如果未能解决你的问题,请参考以下文章

如何以 xamarin 形式将一个内容页面从客户端项目(IOS/Android)导航到另一个内容页面?

如何以 xamarin 形式创建用户会话?

以 xamarin 形式获取经纬度的设备位置

以 xamarin 形式获取位置

Xamarin Android:以编程方式从 colors.xml 获取颜色值

如何使用Xamarin在Visual Studio中创建Android应用