gpt4 book ai didi

android - OnTokenRefresh 从未在 Xamarin Android 中调用

转载 作者:塔克拉玛干 更新时间:2023-11-03 00:34:15 25 4
gpt4 key购买 nike

我正在尝试在我的 Xamarin Android 项目中实现远程通知。我按照各种指南中的分步说明进行操作,但从未调用过 OnTokenRefresh 方法,即使是第一次,所以看起来我的应用程序没有收到任何类型的 token ,甚至没有任何类型的 Firebase 注册。

  1. 我已将 Firebase 添加到我的 Android 应用并下载了 google-services.json
  2. 我将 google-services.json 包含在我的 Xamarin Android 项目中并将构建操作设置为 GoogleServicesJson
  3. 我在 AndroidManifest.xml 中插入了这段代码

    <receiver 
    android:name="com.google.firebase.iid.FirebaseInstanceIdInternalReceiver"
    android:exported="false" />
    <receiver
    android:name="com.google.firebase.iid.FirebaseInstanceIdReceiver"
    android:exported="true"
    android:permission="com.google.android.c2dm.permission.SEND">
    <intent-filter>
    <action android:name="com.google.android.c2dm.intent.RECEIVE" />
    <action android:name="com.google.android.c2dm.intent.REGISTRATION" />
    <category android:name="${applicationId}" />
    </intent-filter>
    </receiver>
  4. 我创建了一个扩展 FirebaseInstanceIdService

    的类
    [Service]
    [IntentFilter(new[] { "com.google.firebase.INSTANCE_ID_EVENT" })]
    class FirebaseRegistrationService : FirebaseInstanceIdService
    {
    const string TAG = "FirebaseRegistrationService";

    public override void OnTokenRefresh()
    {
    var refreshedToken = FirebaseInstanceId.Instance.Token;
    System.Diagnostics.Debug.WriteLine(TAG, "Refreshed token: " + refreshedToken);

    MainActivity.CurrentActivity.RunOnUiThread(() => RegisterDeviceOnServer(refreshedToken));
    }

    public void RegisterDeviceOnServer(string refreshedToken)
    {
    // Custom implementation
    }
    }

正如我已经说过的,OnTokenRefresh 永远不会被调用。我无法理解的是:谁进行 Firebase 注册以接收有效 token ?是否缺少指令?是否缺少进行此注册的方法?为什么从不调用 OnTokenRefresh

最佳答案

您应该像这样在 Activity 中启动服务:

var intent = new Intent(this, typeof(FirebaseRegistrationService));
启动服务( Intent );

同时清理一次溶液并再次运行应用程序。 xamarin 的 firebase 中存在错误。

关于android - OnTokenRefresh 从未在 Xamarin Android 中调用,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/46770907/

25 4 0
Copyright 2021 - 2024 cfsdn All Rights Reserved 蜀ICP备2022000587号
广告合作:1813099741@qq.com 6ren.com