从服务器向安装了应用程序的用户段发送通知。

7 浏览
0 Comments

从服务器向安装了应用程序的用户段发送通知。

在Firebase控制台中,我看到了向具有应用程序“com.example”(其中com.example是应用程序名称)的用户分段发送通知的选项。

如图所示:

enter image description here

但是如何通过服务器端使用FCM REST API来实现呢:

https://fcm.googleapis.com/fcm/send

0
0 Comments

原因:无法使用FCM REST API向用户段发送消息。

解决方法:使用其他方法发送消息给多个设备,如使用registration_ids参数和Topics Messaging。以下是如何使用Postman或cURL发送消息的示例。

如果你有超过一千个用户,你需要进行批量请求,每个请求最多包含1000个注册令牌。

对于将来的参考,可以在没有用户交互的情况下进行主题订阅。只需通过HTTP发送POST请求到"https://iid.googleapis.com/iid/v1/[REGISTRATIONTOKEN]/rel/topics/[TOPIC]"(使用服务器密钥进行授权)。

这篇文章讨论了在Firebase中使用原生用户段的问题。如果你知道实际的段和必须订阅的用户,使用主题是一种解决方法。

所以,你可以使用registration_ids参数进行操作。

0
0 Comments

问题原因:用户安装应用后,需要从服务器向已安装应用的用户段发送通知,但目前没有找到有效的方法实现这一功能。

解决方法:通过调用“subscribe to topic”方法,当用户安装应用时,自动将其订阅到特定的主题。这样,服务器就可以向订阅该主题的用户发送通知。

代码示例:

// 当用户安装应用时,调用该方法订阅主题

public void subscribeToTopic(String topic) {

// 将用户订阅到特定主题的代码

}

通过以上方法,我们可以在用户安装应用后自动将其订阅到特定主题,从而实现从服务器向用户段发送通知的功能。

0
0 Comments

问题的出现原因:需要从服务器向已安装应用的用户段发送通知,但没有找到合适的方法实现。

解决方法:在FirebaseInstanceIdService类中,将应用订阅到一个特定的主题,例如应用包名称。然后,可以通过发送数据消息的方式向该主题发送通知。以下是订阅应用到主题的代码示例:

public class MyFirebaseInstanceIDService extends FirebaseInstanceIdService {
    private final String TAG = "your_tag";
    
    public void onTokenRefresh() {
        // 获取更新的InstanceID token
        String refreshedToken = FirebaseInstanceId.getInstance().getToken();
        FirebaseMessaging.getInstance().subscribeToTopic("your_app_package_name");
    }
}

以上方法对我有效。

0