gpt4 book ai didi

java - 如何为 Android 设备统一实现 FCM 推送通知,即使游戏被终止也能正常工作

转载 作者:太空宇宙 更新时间:2023-11-04 11:16:28 26 4
gpt4 key购买 nike

我想为在 unity3D 中开发的 Android 游戏实现 Firebase 推送通知,即使游戏没有在后台运行,该通知也能正常工作。专家在许多论坛中建议您需要创建一个 Android 插件,让服务始终在后台运行,例如

public class MyFirebaseMessagingService extends FirebaseMessagingService {
public static String TAG = "PUSH";

@Override
public void onCreate() {
super.onCreate();
Log.e("PUSH","FCM Service started");
}

@Override
public void onMessageReceived(RemoteMessage remoteMessage) {
Log.e("PUSH","Push received");
UnityPlayer.UnitySendMessage("Canvas", "PushReceived", "This is your push message");
}
}

该服务将接收 Push 通知,并通过调用这样的 C# 方法来通知 Unity3D 游戏。

UnityPlayer.UnitySendMessage("Canvas", "PushReceived", "This is your push message");

然后创建该项目的.AAR 文件并将其放置在\Assets\Plugins\Android 中。我遵循相同的策略,但 unity3D 从未收到推送。这是我的插件的 list 文件。

<?xml version="1.0" encoding="utf-8"?>

<application
android:allowBackup="true"
android:icon="@mipmap/ic_launcher"
android:label="@string/app_name"
android:roundIcon="@mipmap/ic_launcher_round"
android:supportsRtl="true"
android:theme="@style/AppTheme">
<service
android:name=".MyFirebaseInstanceIDService">
<intent-filter>
<action android:name="com.google.firebase.INSTANCE_ID_EVENT"/>
</intent-filter>
</service>
<service
android:name=".MyFirebaseMessagingService">
<intent-filter>
<action android:name="com.google.firebase.MESSAGING_EVENT"/>
</intent-filter>
</service>
</application>

这对我不起作用。然后,我创建另一个 list 文件并将其放在 asset/Plugins/Android/AndroidManifest.xml 下,并在该文件中添加服务标记,但这种解决方法没有结果。

我怎样才能实现这个目标?我已经尝试这个一个多星期了,但还没有成功。任何帮助都将非常感激。

最佳答案

我成功解决了这个问题。对于这个问题,我的理解存在分歧。我正在使用该库实现 firebase 并在同一库包上创建 firebase 项目,但正确的方法是在库/插件中仅拥有两个服务 MyFirebaseInstanceIDServiceMyFirebaseMessagingService ,而没有其他服务。然后在另一个 Android 应用程序或 Unity 游戏中,我实现了 firebase 并在控制台上创建了一个 firebase 项目,并在 list 中引用了 Library/plugin/.AAR 中的服务。

这就是我解决这个问题的方法。现在的下一个挑战是,当统一应用程序关闭时,服务就会停止。

关于java - 如何为 Android 设备统一实现 FCM 推送通知,即使游戏被终止也能正常工作,我们在Stack Overflow上找到一个类似的问题: https://stackoverflow.com/questions/45409791/

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